Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/iostream

    r3ce0d440 rb6dc097  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun  2 08:07:55 2018
    13 // Update Count     : 153
     12// Last Modified On : Sat Apr 28 13:08:24 2018
     13// Update Count     : 152
    1414//
    1515
     
    5656// implement writable for intrinsic types
    5757
    58 forall( dtype ostype | ostream( ostype ) ) {
    59         ostype & ?|?( ostype &, _Bool );
     58forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, _Bool );
    6059
    61         ostype & ?|?( ostype &, char );
    62         ostype & ?|?( ostype &, signed char );
    63         ostype & ?|?( ostype &, unsigned char );
     60forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, char );
     61forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, signed char );
     62forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, unsigned char );
    6463
    65         ostype & ?|?( ostype &, short int );
    66         ostype & ?|?( ostype &, unsigned short int );
    67         ostype & ?|?( ostype &, int );
    68         ostype & ?|?( ostype &, unsigned int );
    69         ostype & ?|?( ostype &, long int );
    70         ostype & ?|?( ostype &, long long int );
    71         ostype & ?|?( ostype &, unsigned long int );
    72         ostype & ?|?( ostype &, unsigned long long int );
     64forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, short int );
     65forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, unsigned short int );
     66forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, int );
     67forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, unsigned int );
     68forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, long int );
     69forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, long long int );
     70forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, unsigned long int );
     71forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, unsigned long long int );
    7372
    74         ostype & ?|?( ostype &, float ); // FIX ME: should not be required
    75         ostype & ?|?( ostype &, double );
    76         ostype & ?|?( ostype &, long double );
     73forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, float ); // FIX ME: should not be required
     74forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, double );
     75forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, long double );
    7776
    78         ostype & ?|?( ostype &, float _Complex );
    79         ostype & ?|?( ostype &, double _Complex );
    80         ostype & ?|?( ostype &, long double _Complex );
     77forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, float _Complex );
     78forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, double _Complex );
     79forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, long double _Complex );
    8180
    82         ostype & ?|?( ostype &, const char * );
    83         // ostype & ?|?( ostype &, const char16_t * );
     81forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const char * );
     82//forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const char16_t * );
    8483#if ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 ) // char32_t == wchar_t => ambiguous
    85         // ostype & ?|?( ostype &, const char32_t * );
     84//forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const char32_t * );
    8685#endif // ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 )
    87         // ostype & ?|?( ostype &, const wchar_t * );
    88         ostype & ?|?( ostype &, const void * );
    89 
    90         // manipulators
    91         ostype & ?|?( ostype &, ostype & (*)( ostype & ) );
    92         ostype & endl( ostype & );
    93         ostype & sep( ostype & );
    94         ostype & sepTuple( ostype & );
    95         ostype & sepOn( ostype & );
    96         ostype & sepOff( ostype & );
    97         ostype & sepDisable( ostype & );
    98         ostype & sepEnable( ostype & );
    99 } // distribution
     86//forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const wchar_t * );
     87forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const void * );
    10088
    10189// tuples
    10290forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype & ?|?( ostype &, Params ); } )
    10391ostype & ?|?( ostype & os, T arg, Params rest );
     92
     93// manipulators
     94forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, ostype & (*)( ostype & ) );
     95forall( dtype ostype | ostream( ostype ) ) ostype & endl( ostype & );
     96forall( dtype ostype | ostream( ostype ) ) ostype & sep( ostype & );
     97forall( dtype ostype | ostream( ostype ) ) ostype & sepTuple( ostype & );
     98forall( dtype ostype | ostream( ostype ) ) ostype & sepOn( ostype & );
     99forall( dtype ostype | ostream( ostype ) ) ostype & sepOff( ostype & );
     100forall( dtype ostype | ostream( ostype ) ) ostype & sepDisable( ostype & );
     101forall( dtype ostype | ostream( ostype ) ) ostype & sepEnable( ostype & );
    104102
    105103// writes the range [begin, end) to the given stream
     
    126124}; // readable
    127125
    128 forall( dtype istype | istream( istype ) ) {
    129         istype & ?|?( istype &, _Bool & );
     126forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, _Bool & );
    130127
    131         istype & ?|?( istype &, char & );
    132         istype & ?|?( istype &, signed char & );
    133         istype & ?|?( istype &, unsigned char & );
     128forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, char & );
     129forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, signed char & );
     130forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, unsigned char & );
    134131
    135         istype & ?|?( istype &, short int & );
    136         istype & ?|?( istype &, unsigned short int & );
    137         istype & ?|?( istype &, int & );
    138         istype & ?|?( istype &, unsigned int & );
    139         istype & ?|?( istype &, long int & );
    140         istype & ?|?( istype &, long long int & );
    141         istype & ?|?( istype &, unsigned long int & );
    142         istype & ?|?( istype &, unsigned long long int & );
     132forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, short int & );
     133forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, unsigned short int & );
     134forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, int & );
     135forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, unsigned int & );
     136forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, long int & );
     137forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, long long int & );
     138forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, unsigned long int & );
     139forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, unsigned long long int & );
    143140
    144         istype & ?|?( istype &, float & );
    145         istype & ?|?( istype &, double & );
    146         istype & ?|?( istype &, long double & );
     141forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, float & );
     142forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, double & );
     143forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, long double & );
    147144
    148         istype & ?|?( istype &, float _Complex & );
    149         istype & ?|?( istype &, double _Complex & );
    150         istype & ?|?( istype &, long double _Complex & );
     145forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, float _Complex & );
     146forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, double _Complex & );
     147forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, long double _Complex & );
    151148
    152         // manipulators
    153         istype & ?|?( istype &, istype & (*)( istype & ) );
    154         istype & endl( istype & is );
    155 } // distribution
     149// manipulators
     150forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, istype & (*)( istype & ) );
     151forall( dtype istype | istream( istype ) ) istype & endl( istype & is );
    156152
    157153struct _Istream_cstrUC { char * s; };
Note: See TracChangeset for help on using the changeset viewer.