Ignore:
Timestamp:
May 8, 2026, 7:52:34 AM (5 days ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
bc547d3
Parents:
d8a2f98
Message:

remove string 'contains' function and replace with 'includes', make string 'includes' inline

File:
1 edited

Legend:

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

    rd8a2f98 r2f16569  
    1010// Created On       : Fri Sep 03 11:00:00 2021
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May  4 21:54:23 2026
    13 // Update Count     : 332
     12// Last Modified On : Fri May  8 07:40:57 2026
     13// Update Count     : 353
    1414//
    1515
     
    3535void ?{}( string & s, const char * cs );                                // copy from string literal (NULL-terminated)
    3636void ?{}( string & s, const char * cs, size_t size );   // copy specific length from buffer
    37 
    38 void ?{}( string & s, signed long int rhs );
    3937void ?{}( string & s, size_t rhs );
     38void ?{}( string & s, ssize_t rhs );
    4039void ?{}( string & s, double rhs );
    4140void ?{}( string & s, long double rhs );
    4241void ?{}( string & s, double _Complex rhs );
    4342void ?{}( string & s, long double _Complex rhs );
    44 static inline void ?{}( string & s, int rhs ) { (s){(signed long int) rhs}; }
    45 
    46 PBOOST string & ?=?( string & s, string c );
    47 string & ?=?( string & s, const char * cs );                    // copy from "literal"
    48 string & ?=?( string & s, char c );                                             // copy from 'l'
    49 string & assign( string & s, const string & c, size_t n );
    50 string & assign( string & s, const char * cs, size_t n );
    51 string & ?=?( string & s, signed long int rhs );
     43
     44PBOOST string & ?=?( string & s, string rhs );
     45string & ?=?( string & s, char rhs );                                   // copy from 'l'
     46string & ?=?( string & s, const char * rhs );                   // copy from "literal"
     47string & assign( string & s, const string & rhs, size_t n );
     48string & assign( string & s, const char * rhs, size_t n );
    5249string & ?=?( string & s, size_t rhs );
     50string & ?=?( string & s, ssize_t rhs );
    5351string & ?=?( string & s, double rhs );
    5452string & ?=?( string & s, long double rhs );
    5553string & ?=?( string & s, double _Complex rhs );
    5654string & ?=?( string & s, long double _Complex rhs );
    57 static inline string & ?=?( string & s, int rhs ) { return s = ((signed long int) rhs); } // to match cost of (char * int): int
    58 
     55
     56// Conversion
    5957static inline string tostr( char c ) { string s = c; return s; }
    6058static inline string tostr( const char * cs ) { string s = cs; return s; }
    61 static inline string tostr( signed long int v ) { string s = v; return s; }
    6259static inline string tostr( size_t v ) { string s = v; return s; }
     60static inline string tostr( ssize_t v ) { string s = v; return s; }
    6361static inline string tostr( double v ) { string s = v; return s; }
    6462static inline string tostr( long double v ) { string s = v; return s; }
    6563static inline string tostr( long double _Complex v ) { string s = v; return s; }
    6664
     65// C compatibility
    6766static inline string & strcpy( string & s, const char * cs ) { s = cs; return s; }
    6867static inline string & strncpy( string & s, const char * cs, size_t n ) { assign( s, cs, n ); return s; }
     
    234233
    235234// String search
    236 bool contains( const string & s, char ch );                             // single character
    237 
    238 //int find( const string & s, size_t start, size_t len, const string & key, size_t kstart, size_t klen );
    239 size_t find$( const string_res & s, size_t start, size_t len, const string & key_res, size_t kstart, size_t klen );
    240235
    241236size_t find( const string & s, char key );
     
    249244size_t find( const string & s, size_t start, const char * key, size_t keysize );
    250245
    251 bool includes( const string & s, const string & mask );
    252 bool includes( const string & s, const char * mask );
    253 bool includes( const string & s, const char * mask, size_t masksize );
     246static inline bool includes( const string & s, char key ) { return find( s, key ) < len( s ); }
     247static inline bool includes( const string & s, const char * key ) { return find( s, key ) < len( s ); }
     248static inline bool includes( const string & s, const string & key ) { return find( s, key ) < len( s ); }
     249static inline bool includes( const string & s, const char * key, size_t keysize ){ return find( s, key, keysize ) < len( s ); }
    254250
    255251bool startsWith( const string & s, const string & prefix );
Note: See TracChangeset for help on using the changeset viewer.