Ignore:
Timestamp:
Aug 11, 2020, 4:40:15 PM (5 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
0d070ca
Parents:
07d867b (diff), 129674b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' into new-ast

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/iostream.hfa

    r07d867b r22f94a4  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb 20 15:30:56 2020
    13 // Update Count     : 337
     12// Last Modified On : Thu Jul 16 07:43:32 2020
     13// Update Count     : 348
    1414//
    1515
     
    1919
    2020
    21 //*********************************** ostream ***********************************
     21// *********************************** ostream ***********************************
    2222
    2323
     
    156156} // distribution
    157157
    158 //*********************************** manipulators ***********************************
     158// *********************************** manipulators ***********************************
    159159
    160160forall( otype T )
     
    166166                unsigned char all;
    167167                struct {
     168                        unsigned char neg:1;                                            // val is negative
    168169                        unsigned char pc:1;                                                     // precision specified
    169170                        unsigned char left:1;                                           // left justify
     
    175176}; // _Ostream_Manip
    176177
    177 //*********************************** integral ***********************************
     178// *********************************** integral ***********************************
    178179
    179180// See 6.7.9. 19) The initialization shall occur in initializer list order, each initializer provided for a particular
     
    215216IntegralFMTDecl( int128, 'd' )
    216217IntegralFMTDecl( unsigned int128, 'u' )
    217 #endif
    218 
    219 //*********************************** floating point ***********************************
     218#endif // __SIZEOF_INT128__
     219
     220// *********************************** floating point ***********************************
    220221
    221222// Default suffix for values with no fraction is "."
     
    246247FloatingPointFMTDecl( long double )
    247248
    248 //*********************************** character ***********************************
     249// *********************************** character ***********************************
    249250
    250251static inline {
     
    263264} // ?|?
    264265
    265 //*********************************** C string ***********************************
     266// *********************************** C string ***********************************
    266267
    267268static inline {
     
    282283
    283284
    284 //*********************************** istream ***********************************
     285// *********************************** istream ***********************************
    285286
    286287
     
    314315        istype & ?|?( istype &, unsigned int & );
    315316        istype & ?|?( istype &, long int & );
     317        istype & ?|?( istype &, unsigned long int & );
    316318        istype & ?|?( istype &, long long int & );
    317         istype & ?|?( istype &, unsigned long int & );
    318319        istype & ?|?( istype &, unsigned long long int & );
     320#if defined( __SIZEOF_INT128__ )
     321        istype & ?|?( istype &, int128 & );
     322        istype & ?|?( istype &, unsigned int128 & );
     323#endif // __SIZEOF_INT128__
    319324
    320325        istype & ?|?( istype &, float & );
     
    336341} // distribution
    337342
    338 //*********************************** manipulators ***********************************
     343// *********************************** manipulators ***********************************
    339344
    340345struct _Istream_Cstr {
     
    358363        _Istream_Cstr excl( const char scanset[], char * s ) { return (_Istream_Cstr){ s, scanset, -1, { .flags.inex : true } }; }
    359364        _Istream_Cstr & excl( const char scanset[], _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = true; return fmt; }
    360         _Istream_Cstr ignore( const char s[] ) { return (_Istream_Cstr)@{ s, 0p, -1, { .flags.ignore : true } }; }
     365        _Istream_Cstr ignore( char s[] ) { return (_Istream_Cstr)@{ s, 0p, -1, { .flags.ignore : true } }; }
    361366        _Istream_Cstr & ignore( _Istream_Cstr & fmt ) { fmt.flags.ignore = true; return fmt; }
    362367        _Istream_Cstr wdi( unsigned int w, char s[] ) { return (_Istream_Cstr)@{ s, 0p, w, { .all : 0 } }; }
     
    370375
    371376static inline {
    372         _Istream_Char ignore( const char c ) { return (_Istream_Char)@{ true }; }
     377        _Istream_Char ignore( const char ) { return (_Istream_Char)@{ true }; }
    373378        _Istream_Char & ignore( _Istream_Char & fmt ) { fmt.ignore = true; return fmt; }
    374379} // distribution
    375380forall( dtype istype | istream( istype ) ) istype & ?|?( istype & is, _Istream_Char f );
    376381
    377 forall( otype T )
     382forall( dtype T | sized( T ) )
    378383struct _Istream_Manip {
    379384        T & val;                                                                                        // polymorphic base-type
     
    413418
    414419
    415 //*********************************** time ***********************************
     420// *********************************** time ***********************************
    416421
    417422
Note: See TracChangeset for help on using the changeset viewer.