Changeset 0f107e4 for libcfa/src/iostream.hfa
- Timestamp:
- Sep 2, 2023, 2:57:43 PM (12 months ago)
- Branches:
- master
- Children:
- 34c6e1e6
- Parents:
- 686912c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/iostream.hfa
r686912c r0f107e4 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 31 10:55:35202313 // Update Count : 5 4412 // Last Modified On : Sat Sep 2 14:42:13 2023 13 // Update Count : 567 14 14 // 15 15 … … 388 388 ISTYPE_VOID( long double _Complex & ); 389 389 390 // istype & ?|?( istype &, const char [] ); 391 // istype & ?|?( istype &, char [] ); 392 // ISTYPE_VOID( char [] ); 390 istype & ?|?( istype &, const char [] ); 391 ISTYPE_VOID( const char [] ); 393 392 394 393 // manipulators … … 406 405 // *********************************** manipulators *********************************** 407 406 407 struct _Istream_Cskip { 408 const char * scanset; 409 unsigned wd; // scan width 410 }; // _Istream_Cskip 411 412 static inline { 413 _Istream_Cskip skip( const char scanset[] ) { return (_Istream_Cskip)@{ scanset, 0 }; } 414 _Istream_Cskip skip( unsigned int wd ) { return (_Istream_Cskip)@{ 0p, wd }; } 415 } // distribution 416 forall( istype & | basic_istream( istype ) ) { 417 istype & ?|?( istype & is, _Istream_Cskip f ); 418 ISTYPE_VOID( _Istream_Cskip ); 419 } 420 408 421 struct _Istream_str_base { 409 422 union { 410 423 const char * scanset; 411 char delimit [2];424 char delimiter[2]; 412 425 }; 413 426 int wd; // width … … 417 430 unsigned char ignore:1; // do not change input argument 418 431 unsigned char inex:1; // include/exclude characters in scanset 419 unsigned char delimit :1; // delimit character432 unsigned char delimiter:1; // delimit character 420 433 unsigned char rwd:1; // read width 421 434 } flags; … … 436 449 return (_Istream_Cstr)@{ s, { {0p}, rwd, {.flags.rwd : true} } }; 437 450 } 438 _Istream_Cstr skip( const char scanset[] ) { return (_Istream_Cstr)@{ 0p, { {scanset}, -1, {.all : 0} } }; } 439 _Istream_Cstr skip( unsigned int wd ) { return (_Istream_Cstr)@{ 0p, { {0p}, wd, {.all : 0} } }; } 440 _Istream_Cstr & getline( _Istream_Cstr & fmt, const char delimit = '\n' ) { 441 fmt.delimit[0] = delimit; fmt.delimit[1] = '\0'; fmt.flags.delimit = true; fmt.flags.inex = true; return fmt; } 451 _Istream_Cstr & getline( _Istream_Cstr & fmt, const char delimiter = '\n' ) { 452 fmt.delimiter[0] = delimiter; fmt.delimiter[1] = '\0'; fmt.flags.delimiter = true; fmt.flags.inex = true; return fmt; } 442 453 _Istream_Cstr & incl( const char scanset[], _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = false; return fmt; } 443 454 _Istream_Cstr & excl( const char scanset[], _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = true; return fmt; }
Note: See TracChangeset
for help on using the changeset viewer.