Changeset 570e7ad for libcfa/src/collections/string.hfa
- Timestamp:
- Apr 11, 2025, 12:29:56 AM (6 months ago)
- Branches:
- master
- Children:
- d03a386
- Parents:
- 3f631d6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/collections/string.hfa
r3f631d6 r570e7ad 27 27 28 28 void ?{}( string & s ); // empty string 29 void ?{}( string & s, const string & s2 ); 30 void ?{}( string & s, const string & s2, size_t maxlen ); 31 void ?{}( string & s, string & s2 ); 32 29 void ?{}( string & s, string s2, size_t maxlen ); 30 void ?{}( string & s, string s2 ); 33 31 void ?{}( string & s, char ); 34 32 void ?{}( string & s, const char * c ); // copy from string literal (NULL-terminated) 35 33 void ?{}( string & s, const char * c, size_t size ); // copy specific length from buffer 36 34 37 void ?{}( string & s, s size_t rhs );35 void ?{}( string & s, signed long int rhs ); 38 36 void ?{}( string & s, size_t rhs ); 39 37 void ?{}( string & s, double rhs ); … … 41 39 void ?{}( string & s, double _Complex rhs ); 42 40 void ?{}( string & s, long double _Complex rhs ); 41 static inline void ?{}( string & s, int rhs ) { (s){(signed long int) rhs}; } 43 42 44 43 // string str( ssize_t rhs ); … … 49 48 // string str( long double _Complex rhs ); 50 49 51 string & ?=?( string & s, const string & c ); 52 string & ?=?( string & s, string & c ); 50 string & ?=?( string & s, string c ); 53 51 string & ?=?( string & s, const char * c ); // copy from "literal" 54 52 string & ?=?( string & s, char c ); // copy from 'l' 55 53 string & assign( string & s, const string & c, size_t n ); 56 54 string & assign( string & s, const char * c, size_t n ); 57 string & ?=?( string & s, s size_t rhs );55 string & ?=?( string & s, signed long int rhs ); 58 56 string & ?=?( string & s, size_t rhs ); 59 57 string & ?=?( string & s, double rhs ); … … 61 59 string & ?=?( string & s, double _Complex rhs ); 62 60 string & ?=?( string & s, long double _Complex rhs ); 61 static inline string & ?=?( string & s, int rhs ) { return s = ((signed long int) rhs); } // to match cost of (char * int): int 63 62 64 63 static inline string & strcpy( string & s, const char * c ) { s = c; return s; } … … 161 160 void append( string & s, const char * buffer, size_t bsize ); 162 161 163 string ?+?( const string &s, char c );164 string ?+?( char c, const string &s );165 string ?+?( const string & s, const string &s2 );162 string ?+?( string s, char c ); 163 string ?+?( char c, string s ); 164 string ?+?( string s, string s2 ); 166 165 string ?+?( const char * s, char c ); // not backwards compatible 167 166 string ?+?( char c, const char * s ); 168 167 string ?+?( const char * c, const char * s ); 169 string ?+?( const char * c, const string &s );170 string ?+?( const string &s, const char * c );168 string ?+?( const char * c, string s ); 169 string ?+?( string s, const char * c ); 171 170 string ?+?( char, char ); // not being called 8-( 172 171 … … 177 176 178 177 // Repetition 179 void ?*=?( string & s, size_t factor ); 180 string ?*?( char c, size_t factor ); // not backwards compatible 181 string ?*?( const string & s, size_t factor ); 182 static inline string ?*?( size_t factor, const string & s ) { return s * factor; } 183 string ?*?( const char * s, size_t factor ); 184 static inline string ?*?( size_t factor, const char * s ) { return s * factor; } 178 179 // Type `signed long long int` chosen for `factor` argument to achieve cost detente. 180 // This way, the call `'a' * 3` gets the same safe conversion cost calling here as for 181 // the built-in definition `int * int`. 182 typedef signed long long int strmul_factor_t; 183 184 void ?*=?( string & s, strmul_factor_t factor ); 185 string ?*?( char c, strmul_factor_t factor ); // not backwards compatible 186 string ?*?( string s, strmul_factor_t factor ); 187 string ?*?( const char * s, strmul_factor_t factor ); 188 static inline string ?*?( strmul_factor_t factor, char s ) { return s * factor; } 189 static inline string ?*?( strmul_factor_t factor, string s ) { return s * factor; } 190 static inline string ?*?( strmul_factor_t factor, const char * s ) { return s * factor; } 185 191 186 192 // Character access
Note:
See TracChangeset
for help on using the changeset viewer.