Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/collections/string.hfa

    r829a955 r5ad6f0d  
    1010// Created On       : Fri Sep 03 11:00:00 2021
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Sep 14 10:58:28 2025
    13 // Update Count     : 311
     12// Last Modified On : Sun Apr 13 21:03:35 2025
     13// Update Count     : 284
    1414//
    1515
     
    4343void ?{}( string & s, long double _Complex rhs );
    4444static inline void ?{}( string & s, int rhs ) { (s){(signed long int) rhs}; }
     45
     46// string str( ssize_t rhs );
     47// string str( size_t rhs );
     48// string str( double rhs );
     49// string str( long double rhs );
     50// string str( double _Complex rhs );
     51// string str( long double _Complex rhs );
    4552
    4653PBOOST string & ?=?( string & s, string c );
     
    6168static inline string & strcpy( string & s, const string & c ) { s = c; return s; }
    6269static inline string & strncpy( string & s, const string & c, size_t n ) { assign( s, c, n ); return s; }
    63 char * strncpy( char * dst, string & src, size_t n );
    64 char * ?=?( char *& dst, string & src );
    65 void ?{}( char *& dst, string & src );
    6670
    6771// Alternate construction: request shared edits
     
    183187PBOOST string ?*?( string s, strmul_factor_t factor );
    184188string ?*?( const char * s, strmul_factor_t factor );
    185 static inline string ?*?( strmul_factor_t factor, char c ) { return c * factor; }
     189static inline string ?*?( strmul_factor_t factor, char s ) { return s * factor; }
    186190PBOOST static inline string ?*?( strmul_factor_t factor, string s ) { return s * factor; }
    187191static inline string ?*?( strmul_factor_t factor, const char * s ) { return s * factor; }
     
    274278
    275279size_t include( const string & s, const charclass & mask );
    276 static inline size_t include( const string & s, const char * mask ) { return include( s, (charclass){ mask } ); }
    277 static inline size_t include( const string & s, const string & mask ) { return include( s, (charclass){ mask } ); }
    278 static inline size_t include( const char * cs, const charclass & mask ) { return include( (string){ cs }, mask ); }
    279 static inline size_t include( const char * cs, const char * mask ) { return include( (string){ cs }, (charclass){ mask } ); }
    280 static inline size_t include( const char * cs, const string & mask ) { return include( (string){ cs }, (charclass){ mask } ); }
    281 
     280static inline size_t include( const char * cs, const charclass & mask ) { const string s = cs; return include( s, mask ); }
    282281static inline string include( const string & s, const charclass & mask ) { return s( 0, include( s, mask ) ); }
    283 static inline string include( const string & s, const char * mask ) { return s( 0, include( s, (charclass){ mask } ) ); }
    284 static inline string include( const string & s, const string & mask ) { return s( 0, include( s, (charclass){ mask } ) ); }
    285282static inline string include( const char * cs, const charclass & mask ) { const string s = cs; return s( 0, include( s, mask ) ); }
    286 static inline string include( const char * cs, const char * mask ) { const string s = cs; return s( 0, include( s, (charclass){ mask } ) ); }
    287 static inline string include( const char * cs, const string & mask ) { const string s = cs; return s( 0, include( s, (charclass){ mask } ) ); }
    288283
    289284size_t exclude( const string & s, const charclass & mask );
    290 static inline size_t exclude( const string & s, const char * mask ) { return exclude( s, (charclass){ mask } ); }
    291 static inline size_t exclude( const string & s, const string & mask ) { return exclude( s, (charclass){ mask } ); }
    292 static inline size_t exclude( const char * cs, const charclass & mask ) { return exclude( (string){ cs }, mask ); }
    293 static inline size_t exclude( const char * cs, const string & mask ) { return exclude( (string){ cs }, (charclass){ mask } ); }
    294 static inline size_t exclude( const char * cs, const char * mask ) { return exclude( (string){ cs }, (charclass){ mask } ); }
    295 
     285static inline size_t exclude( const char * cs, const charclass & mask ) { const string s = cs; return exclude( s, mask ); }
    296286static inline string exclude( const string & s, const charclass & mask ) { return s( 0, exclude( s, mask ) ); }
    297 static inline string exclude( const string & s, const char * mask ) { return s( 0, exclude( s, (charclass){ mask } ) ); }
    298 static inline string exclude( const string & s, const string & mask ) { return s( 0, exclude( s, (charclass){ mask } ) ); }
    299287static inline string exclude( const char * cs, const charclass & mask ) { const string s = cs; return s( 0, exclude( s, mask ) ); }
    300 static inline string exclude( const char * cs, const string & mask ) { const string s = cs; return s( 0, exclude( s, (charclass){ mask } ) ); }
    301 static inline string exclude( const char * cs, const char * mask ) { const string s = cs; return s( 0, exclude( s, (charclass){ mask } ) ); }
    302 
    303 size_t include( const string & s, int (* f)( int ) );   // for C character-class functions, e.g., isdigit
    304 static inline size_t include( const char * cs, int (* f)( int ) ) { return include( (string){ cs }, f ); }
    305 static inline string include( const string & s, int (* f)( int ) ) { return s( 0, include( s, f ) ); }
    306 static inline string include( const char * cs, int (* f)( int ) ) { const string s = cs; return s( 0, include( s, f ) ); }
    307 
    308 static inline size_t include( const string & s, bool (* f)( char ) ) { return include( s, (int (*)( int ))f ); }
    309 static inline size_t include( const char * cs, bool (* f)( char ) ) { return include( (string){ cs }, f ); }
    310 static inline string include( const string & s, bool (* f)( char ) ) { return s( 0, include( s, f ) ); }
    311 static inline string include( const char * cs, bool (* f)( char ) ) { const string s = cs; return s( 0, include( s, f ) ); }
    312 
    313 size_t exclude( const string & s, int (* f)( int ) );   // for C character-class functions, e.g., isdigit
    314 static inline size_t exclude( const char * cs, int (* f)( int ) ) { return exclude( (string){ cs }, f ); }
    315 static inline string exclude( const string & s, int (* f)( int ) ) { return s( 0, exclude( s, f ) ); }
    316 static inline string exclude( const char * cs, int (* f)( int ) ) { const string s = cs; return s( 0, exclude( s, f ) ); }
    317 
    318 static inline size_t exclude( const string & s, bool (* f)( char ) ) { return exclude( s, (int (*)( int ))f ); }
    319 static inline size_t exclude( const char * cs, bool (* f)( char ) ) { return exclude( (string){ cs }, f ); }
    320 static inline string exclude( const string & s, bool (* f)( char ) ) { return s( 0, exclude( s, f ) ); }
    321 static inline string exclude( const char * cs, bool (* f)( char ) ) { const string s = cs; return s( 0, exclude( s, f ) ); }
     288
     289size_t include( const string & s, int (*f)( int ) );
     290static inline size_t include( const char * cs, int (*f)( int ) ) { const string S = cs; return include( S, f ); }
     291static inline string include( const string & s, int (*f)( int ) ) { return s( 0, include( s, f ) ); }
     292static inline string include( const char * cs, int (*f)( int ) ) { const string s = cs; return s( 0, include( s, f ) ); }
     293
     294size_t exclude( const string & s, int (*f)( int ) );
     295static inline size_t exclude( const char * cs, int (*f)( int ) ) { const string s = cs; return exclude( s, f ); }
     296static inline string exclude( const string & s, int (*f)( int ) ) { return s( 0, exclude( s, f ) ); }
     297static inline string exclude( const char * cs, int (*f)( int ) ) { const string s = cs; return s( 0, exclude( s, f ) ); }
    322298
    323299string replace( const string & s, const string & from, const string & to );
    324 static inline string replace( const char * s, const char * from, const char * to ) { return replace( (string){ s }, (string){ from }, (string){ to } ); }
    325 static inline string replace( const string & s, const char * from, const char * to ) { return replace( s, (string){ from }, (string){ to } ); }
    326 static inline string replace( const string & s, const char * from, const string & to ) { return replace( s, (string){ from }, to ); }
    327 static inline string replace( const string & s, string & from, const char * to ) { return replace( s, from, (string){ to } ); }
    328 
    329 string translate( const string & s, int (* f)( int ) ); // for C character-class functions, e.g., isdigit
    330 static inline string translate( const char * cs, int (* f)( int ) ) { return translate( (string){ cs }, f ); }
    331 
    332 static inline string translate( const string & s, bool (* f)( char ) ) { return translate( s, (int (*)( int ))f ); }
    333 static inline string translate( const char * cs, bool (* f)( char ) ) { return translate( (string){ cs }, f ); }
     300static inline string replace( const char * s, const char * from, const char * to ) { string S = s, From = from, To = to; return replace( S, From, To ); }
     301static inline string replace( const string & s, const char * from, const char * to ) { const string From = from, To = to; return replace( s, From, To ); }
     302static inline string replace( const string & s, const char * from, const string & to ) { const string From = from; return replace( s, From, to ); }
     303static inline string replace( const string & s, string & from, const char * to ) { const string To = to; return replace( s, from, To ); }
     304
     305string translate( const string & s, int (*f)( int ) );
     306static inline string translate( const char * c, int (*f)( int ) ) { const string S = c; return translate( S, f ); }
    334307
    335308#ifndef _COMPILING_STRING_CFA_
Note: See TracChangeset for help on using the changeset viewer.