Changes in libcfa/src/iostream.hfa [0a2e0e21:e7a8f65]
- File:
-
- 1 edited
-
libcfa/src/iostream.hfa (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/iostream.hfa
r0a2e0e21 re7a8f65 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jul 19 14:25:52202313 // Update Count : 46312 // Last Modified On : Wed Aug 9 16:47:05 2023 13 // Update Count : 500 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 const char * scanset; 407 union { 408 const char * scanset; 409 char delimit; 410 }; 408 411 int wd; // width 409 412 union { … … 412 415 unsigned char ignore:1; // do not change input argument 413 416 unsigned char inex:1; // include/exclude characters in scanset 417 unsigned char delimit:1; // delimit character 414 418 } flags; 415 419 }; … … 417 421 418 422 static inline { 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 } }; } 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} }; } 422 429 _Istream_Cstr & incl( const char scanset[], _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = false; return fmt; } 423 _Istream_Cstr excl( const char scanset[], char * s ) { return (_Istream_Cstr){ s, scanset, -1, { .flags.inex : true } }; } 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} }; } 424 432 _Istream_Cstr & excl( const char scanset[], _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = true; return fmt; } 425 _Istream_Cstr ignore( char s[] ) { return (_Istream_Cstr)@{ s, 0p, -1, { .flags.ignore : true} }; }433 _Istream_Cstr ignore( char s[] ) { return (_Istream_Cstr)@{ s, {0p}, -1, {.flags.ignore : true} }; } 426 434 _Istream_Cstr & ignore( _Istream_Cstr & fmt ) { fmt.flags.ignore = true; 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; }435 _Istream_Cstr wdi( unsigned int wd, 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; } 429 437 } // distribution 430 438 forall( istype & | basic_istream( istype ) ) { … … 457 465 _Istream_Manip(T) ignore( const T & val ) { return (_Istream_Manip(T))@{ (T &)val, -1, true }; } \ 458 466 _Istream_Manip(T) & ignore( _Istream_Manip(T) & fmt ) { fmt.ignore = true; 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; } \467 _Istream_Manip(T) wdi( unsigned int wd, T & val ) { return (_Istream_Manip(T))@{ val, wd, false }; } \ 468 _Istream_Manip(T) & wdi( unsigned int wd, _Istream_Manip(T) & fmt ) { fmt.wd = wd; return fmt; } \ 461 469 } /* distribution */ \ 462 470 forall( istype & | basic_istream( istype ) ) { \
Note:
See TracChangeset
for help on using the changeset viewer.