Changeset 2f16569 for libcfa/src
- Timestamp:
- May 8, 2026, 7:52:34 AM (30 hours ago)
- Branches:
- master
- Children:
- bc547d3
- Parents:
- d8a2f98
- Location:
- libcfa/src/collections
- Files:
-
- 4 edited
-
string.cfa (modified) (5 diffs)
-
string.hfa (modified) (4 diffs)
-
string_res.cfa (modified) (3 diffs)
-
string_res.hfa (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/collections/string.cfa
rd8a2f98 r2f16569 10 10 // Created On : Fri Sep 03 11:00:00 2021 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 4 21:50:03202613 // Update Count : 40 012 // Last Modified On : Fri May 8 07:41:00 2026 13 // Update Count : 409 14 14 // 15 15 … … 67 67 } 68 68 69 void ?{}( string & s, si gned long int rhs ) {69 void ?{}( string & s, size_t rhs ) { 70 70 (s.inner) { malloc() }; 71 71 ?{}( *s.inner, rhs ); 72 72 } 73 73 74 void ?{}( string & s, s ize_t rhs ) {74 void ?{}( string & s, ssize_t rhs ) { 75 75 (s.inner) { malloc() }; 76 76 ?{}( *s.inner, rhs ); … … 118 118 // Assignment 119 119 120 PBOOST string & ?=?( string & s, string c ) { 121 (*s.inner) = (*c.inner); 122 return s; 123 } 124 125 string & ?=?( string & s, const char * val ) { 126 (*s.inner) = val; 127 return s; 128 } 129 130 string & ?=?( string & s, char val ) { 131 (*s.inner) = val; 132 return s; 133 } 134 135 string & assign( string & s, const string & c, size_t n ) { 136 assign( *s.inner, *c.inner, n ); 137 return s; 138 } 139 140 string & assign( string & s, const char * cs , size_t n ) { 141 assign( *s.inner, cs, n ); 142 return s; 143 } 144 145 string & ?=?( string & s, signed long int rhs ) { 146 (*s.inner) = rhs; 120 PBOOST string & ?=?( string & s, string rhs ) { 121 (*s.inner) = (*rhs.inner); 122 return s; 123 } 124 125 string & ?=?( string & s, char rhs ) { 126 (*s.inner) = rhs; 127 return s; 128 } 129 130 string & ?=?( string & s, const char * rhs ) { 131 (*s.inner) = rhs; 132 return s; 133 } 134 135 string & assign( string & s, const string & rhs, size_t n ) { 136 assign( *s.inner, *rhs.inner, n ); 137 return s; 138 } 139 140 string & assign( string & s, const char * rhs, size_t n ) { 141 assign( *s.inner, rhs, n ); 147 142 return s; 148 143 } 149 144 150 145 string & ?=?( string & s, size_t rhs ) { 146 (*s.inner) = rhs; 147 return s; 148 } 149 150 string & ?=?( string & s, ssize_t rhs ) { 151 151 (*s.inner) = rhs; 152 152 return s; … … 403 403 // Search 404 404 405 bool contains( const string & s, char ch ) {406 return contains( *s.inner, ch );407 }408 409 405 size_t find( const string & s, size_t start, size_t len, const string & key, size_t kstart, size_t klen ) { 410 406 if ( start < 0 ) { start += len( s ); } … … 449 445 } 450 446 451 bool includes( const string & s, const string & mask) {452 return includes( *s.inner, *mask.inner );453 }454 455 bool includes( const string & s, const char * mask) {456 return includes( *s.inner, mask);457 }458 459 bool includes( const string & s, const char * mask, size_t masksize ) {460 return includes( *s.inner, mask, masksize );461 }447 // bool includes( const string & s, const string & search ) { 448 // return includes( *s.inner, *search.inner ); 449 // } 450 451 // bool includes( const string & s, const char * search ) { 452 // return includes( *s.inner, search ); 453 // } 454 455 // bool includes( const string & s, const char * search, size_t searchsize ) { 456 // return includes( *s.inner, search, searchsize ); 457 // } 462 458 463 459 bool startsWith( const string & s, const string & prefix ) { -
libcfa/src/collections/string.hfa
rd8a2f98 r2f16569 10 10 // Created On : Fri Sep 03 11:00:00 2021 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 4 21:54:23202613 // Update Count : 3 3212 // Last Modified On : Fri May 8 07:40:57 2026 13 // Update Count : 353 14 14 // 15 15 … … 35 35 void ?{}( string & s, const char * cs ); // copy from string literal (NULL-terminated) 36 36 void ?{}( string & s, const char * cs, size_t size ); // copy specific length from buffer 37 38 void ?{}( string & s, signed long int rhs );39 37 void ?{}( string & s, size_t rhs ); 38 void ?{}( string & s, ssize_t rhs ); 40 39 void ?{}( string & s, double rhs ); 41 40 void ?{}( string & s, long double rhs ); 42 41 void ?{}( string & s, double _Complex rhs ); 43 42 void ?{}( 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 44 PBOOST string & ?=?( string & s, string rhs ); 45 string & ?=?( string & s, char rhs ); // copy from 'l' 46 string & ?=?( string & s, const char * rhs ); // copy from "literal" 47 string & assign( string & s, const string & rhs, size_t n ); 48 string & assign( string & s, const char * rhs, size_t n ); 52 49 string & ?=?( string & s, size_t rhs ); 50 string & ?=?( string & s, ssize_t rhs ); 53 51 string & ?=?( string & s, double rhs ); 54 52 string & ?=?( string & s, long double rhs ); 55 53 string & ?=?( string & s, double _Complex rhs ); 56 54 string & ?=?( 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 59 57 static inline string tostr( char c ) { string s = c; return s; } 60 58 static 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; }62 59 static inline string tostr( size_t v ) { string s = v; return s; } 60 static inline string tostr( ssize_t v ) { string s = v; return s; } 63 61 static inline string tostr( double v ) { string s = v; return s; } 64 62 static inline string tostr( long double v ) { string s = v; return s; } 65 63 static inline string tostr( long double _Complex v ) { string s = v; return s; } 66 64 65 // C compatibility 67 66 static inline string & strcpy( string & s, const char * cs ) { s = cs; return s; } 68 67 static inline string & strncpy( string & s, const char * cs, size_t n ) { assign( s, cs, n ); return s; } … … 234 233 235 234 // String search 236 bool contains( const string & s, char ch ); // single character237 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 );240 235 241 236 size_t find( const string & s, char key ); … … 249 244 size_t find( const string & s, size_t start, const char * key, size_t keysize ); 250 245 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 ); 246 static inline bool includes( const string & s, char key ) { return find( s, key ) < len( s ); } 247 static inline bool includes( const string & s, const char * key ) { return find( s, key ) < len( s ); } 248 static inline bool includes( const string & s, const string & key ) { return find( s, key ) < len( s ); } 249 static inline bool includes( const string & s, const char * key, size_t keysize ){ return find( s, key, keysize ) < len( s ); } 254 250 255 251 bool startsWith( const string & s, const string & prefix ); -
libcfa/src/collections/string_res.cfa
rd8a2f98 r2f16569 10 10 // Created On : Fri Sep 03 11:00:00 2021 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Apr 14 20:45:39 202513 // Update Count : 13 012 // Last Modified On : Thu May 7 13:14:45 2026 13 // Update Count : 135 14 14 // 15 15 … … 750 750 // Search 751 751 752 bool contains(const string_res & s, char ch) {753 for ( i; len(s) ) {754 if (s[i] == ch) return true;755 }756 return false;757 }758 759 752 // int find$( const string_res & s, ssize_t start, ssize_t len, const string_res & k, ssize_t kstart, ssize_t klen ) { 760 753 // if ( start < 0 ) start = s.Handle.lnth + start; // adjust negative starting locations … … 917 910 static bool test( const charclass_res & mask, char c ) { 918 911 // instead, use sorted char list? 919 return contains( mask.chars, c ); 912 for ( i; len(mask.chars) ) { 913 if (mask.chars[i] == c) return true; 914 } 915 return false; 916 // return contains( mask.chars, c ); 920 917 } 921 918 -
libcfa/src/collections/string_res.hfa
rd8a2f98 r2f16569 10 10 // Created On : Fri Sep 03 11:00:00 2021 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Apr 13 21:03:37 202513 // Update Count : 7912 // Last Modified On : Thu May 7 13:14:04 2026 13 // Update Count : 83 14 14 // 15 15 … … 94 94 ?{}( s, src, mode, 0, (len(src) > maxlen)?maxlen:len(src) ); 95 95 } 96 void ?{}( string_res & s, size_t rhs ); 96 97 void ?{}( string_res & s, ssize_t rhs ); 97 void ?{}( string_res & s, size_t rhs );98 98 void ?{}( string_res & s, double rhs ); 99 99 void ?{}( string_res & s, long double rhs ); … … 222 222 223 223 // String search 224 bool contains( const string_res & s, char ch); // single character225 224 226 225 int find$( const string_res & s, ssize_t start, ssize_t len, const string_res & key, ssize_t kstart, ssize_t klen );
Note:
See TracChangeset
for help on using the changeset viewer.