Changes in libcfa/src/iostream.hfa [e7a8f65:0a2e0e21]
- File:
-
- 1 edited
-
libcfa/src/iostream.hfa (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/iostream.hfa
re7a8f65 r0a2e0e21 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 9 16:47:05202313 // Update Count : 50012 // Last Modified On : Wed Jul 19 14:25:52 2023 13 // Update Count : 463 14 14 // 15 15 … … 130 130 ostype & ?|?( ostype &, const char [] ); 131 131 OSTYPE_VOID( const char [] ); 132 // ostype & ?|?( ostype &, const char16_t []);132 // ostype & ?|?( ostype &, const char16_t * ); 133 133 #if ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 ) // char32_t == wchar_t => ambiguous 134 // ostype & ?|?( ostype &, const char32_t []);134 // ostype & ?|?( ostype &, const char32_t * ); 135 135 #endif // ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 ) 136 // ostype & ?|?( ostype &, const wchar_t []);136 // ostype & ?|?( ostype &, const wchar_t * ); 137 137 ostype & ?|?( ostype &, const void * ); 138 138 OSTYPE_VOID( const void * ); … … 390 390 391 391 // istype & ?|?( istype &, const char [] ); 392 //istype & ?|?( istype &, char [] );393 // ISTYPE_VOID( char []);392 istype & ?|?( istype &, char [] ); 393 ISTYPE_VOID( char * ); 394 394 395 395 // manipulators … … 405 405 struct _Istream_Cstr { 406 406 char * s; 407 union { 408 const char * scanset; 409 char delimit; 410 }; 407 const char * scanset; 411 408 int wd; // width 412 409 union { … … 415 412 unsigned char ignore:1; // do not change input argument 416 413 unsigned char inex:1; // include/exclude characters in scanset 417 unsigned char delimit:1; // delimit character418 414 } flags; 419 415 }; … … 421 417 422 418 static inline { 423 _Istream_Cstr skip( const char scanset[] ) { return (_Istream_Cstr){ 0p, {scanset}, -1, {.all : 0} }; } 424 _Istream_Cstr skip( unsigned int wd ) { return (_Istream_Cstr){ 0p, {0p}, wd, {.all : 0} }; } 425 _Istream_Cstr & getline( _Istream_Cstr & fmt ) { fmt.delimit = '\n'; fmt.flags.delimit = true; return fmt; } 426 _Istream_Cstr & getline( const char delimit, _Istream_Cstr & fmt ) { fmt.delimit = delimit; fmt.flags.delimit = true; return fmt; } 427 // _Istream_Cstr incl( const char scanset[], char s[] ) { return (_Istream_Cstr){ s, {scanset}, -1, { .flags.inex : false } }; } 428 // _Istream_Cstr incl( const char scanset[], unsigned int wd, char s[] ) { return (_Istream_Cstr){ s, {scanset}, wd, {.flags.inex : false} }; } 419 _Istream_Cstr skip( const char scanset[] ) { return (_Istream_Cstr){ 0p, scanset, -1, { .all : 0 } }; } 420 _Istream_Cstr skip( unsigned int n ) { return (_Istream_Cstr){ 0p, 0p, n, { .all : 0 } }; } 421 _Istream_Cstr incl( const char scanset[], char * s ) { return (_Istream_Cstr){ s, scanset, -1, { .flags.inex : false } }; } 429 422 _Istream_Cstr & incl( const char scanset[], _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = false; return fmt; } 430 // _Istream_Cstr excl( const char scanset[], char s[] ) { return (_Istream_Cstr){ s, {scanset}, -1, { .flags.inex : true } }; } 431 // _Istream_Cstr excl( const char scanset[], unsigned int wd, char s[] ) { return (_Istream_Cstr){ s, {scanset}, wd, {.flags.inex : true} }; } 423 _Istream_Cstr excl( const char scanset[], char * s ) { return (_Istream_Cstr){ s, scanset, -1, { .flags.inex : true } }; } 432 424 _Istream_Cstr & excl( const char scanset[], _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = true; return fmt; } 433 _Istream_Cstr ignore( char s[] ) { return (_Istream_Cstr)@{ s, {0p}, -1, {.flags.ignore : true} }; }425 _Istream_Cstr ignore( char s[] ) { return (_Istream_Cstr)@{ s, 0p, -1, { .flags.ignore : true } }; } 434 426 _Istream_Cstr & ignore( _Istream_Cstr & fmt ) { fmt.flags.ignore = true; return fmt; } 435 _Istream_Cstr wdi( unsigned int w d, char s[] ) { return (_Istream_Cstr)@{ s, {0p}, wd, {.all : 0} }; }436 // _Istream_Cstr & wdi( unsigned int wd, _Istream_Cstr & fmt ) { fmt.wd = wd; return fmt; }427 _Istream_Cstr wdi( unsigned int w, char s[] ) { return (_Istream_Cstr)@{ s, 0p, w, { .all : 0 } }; } 428 _Istream_Cstr & wdi( unsigned int w, _Istream_Cstr & fmt ) { fmt.wd = w; return fmt; } 437 429 } // distribution 438 430 forall( istype & | basic_istream( istype ) ) { … … 465 457 _Istream_Manip(T) ignore( const T & val ) { return (_Istream_Manip(T))@{ (T &)val, -1, true }; } \ 466 458 _Istream_Manip(T) & ignore( _Istream_Manip(T) & fmt ) { fmt.ignore = true; return fmt; } \ 467 _Istream_Manip(T) wdi( unsigned int w d, T & val ) { return (_Istream_Manip(T))@{ val, wd, false }; } \468 _Istream_Manip(T) & wdi( unsigned int w d, _Istream_Manip(T) & fmt ) { fmt.wd = wd; return fmt; } \459 _Istream_Manip(T) wdi( unsigned int w, T & val ) { return (_Istream_Manip(T))@{ val, w, false }; } \ 460 _Istream_Manip(T) & wdi( unsigned int w, _Istream_Manip(T) & fmt ) { fmt.wd = w; return fmt; } \ 469 461 } /* distribution */ \ 470 462 forall( istype & | basic_istream( istype ) ) { \
Note:
See TracChangeset
for help on using the changeset viewer.