Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/examples/twice.c

    r86bd7c1f rb63e376  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:37:23 2015
    13 // Update Count     : 1
     12// Last Modified On : Tue Mar  8 22:04:58 2016
     13// Update Count     : 16
    1414//
    1515
    16 #include "fstream.h"
     16#include <fstream>
    1717
    18 forall( type T | { T ?+?( T, T ); T ?++( T * ); [T] ?+=?( T *, T ); } )
     18forall( otype T | { T ?+?( T, T ); T ?++( T * ); [T] ?+=?( T *, T ); } )
    1919T twice( const T t ) {
    2020        return t + t;
    2121}
    2222
    23 int main() {
    24         ofstream *sout = ofstream_stdout();
    25         sout << twice( 1 ) << ' ' << twice( 3.2 ) << '\n';
     23int main( void ) {
     24        // char does not have addition
     25        char ?+?( char op1, char op2 ) { return (int)op1 + op2; } // cast forces integer addition or recursion
     26        char ++?( char *op ) { *op += 1; return *op; }
     27        char ?++( char *op ) { char temp = *op; *op += 1; return temp; }
     28
     29        sout | twice( 'a' ) | ' ' | twice( 1 ) | twice( 3.2 ) | endl;
    2630}
    2731
    2832// Local Variables: //
    2933// tab-width: 4 //
    30 // compile-command: "cfa twice.c fstream.o iostream.o" //
     34// compile-command: "cfa twice.c" //
    3135// End: //
Note: See TracChangeset for help on using the changeset viewer.