Index: libcfa/src/collections/string.hfa
===================================================================
--- libcfa/src/collections/string.hfa	(revision d8a2f988fbdaa37173653d0e459271591e6afdd0)
+++ libcfa/src/collections/string.hfa	(revision 2f1656963c856b0273be7b573bf11a9e411e68a4)
@@ -10,6 +10,6 @@
 // Created On       : Fri Sep 03 11:00:00 2021
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon May  4 21:54:23 2026
-// Update Count     : 332
+// Last Modified On : Fri May  8 07:40:57 2026
+// Update Count     : 353
 //
 
@@ -35,34 +35,33 @@
 void ?{}( string & s, const char * cs );				// copy from string literal (NULL-terminated)
 void ?{}( string & s, const char * cs, size_t size );	// copy specific length from buffer
-
-void ?{}( string & s, signed long int rhs );
 void ?{}( string & s, size_t rhs );
+void ?{}( string & s, ssize_t rhs );
 void ?{}( string & s, double rhs );
 void ?{}( string & s, long double rhs );
 void ?{}( string & s, double _Complex rhs );
 void ?{}( string & s, long double _Complex rhs );
-static inline void ?{}( string & s, int rhs ) { (s){(signed long int) rhs}; }
-
-PBOOST string & ?=?( string & s, string c );
-string & ?=?( string & s, const char * cs );			// copy from "literal"
-string & ?=?( string & s, char c );						// copy from 'l'
-string & assign( string & s, const string & c, size_t n );
-string & assign( string & s, const char * cs, size_t n );
-string & ?=?( string & s, signed long int rhs );
+
+PBOOST string & ?=?( string & s, string rhs );
+string & ?=?( string & s, char rhs );					// copy from 'l'
+string & ?=?( string & s, const char * rhs );			// copy from "literal"
+string & assign( string & s, const string & rhs, size_t n );
+string & assign( string & s, const char * rhs, size_t n );
 string & ?=?( string & s, size_t rhs );
+string & ?=?( string & s, ssize_t rhs );
 string & ?=?( string & s, double rhs );
 string & ?=?( string & s, long double rhs );
 string & ?=?( string & s, double _Complex rhs );
 string & ?=?( string & s, long double _Complex rhs );
-static inline string & ?=?( string & s, int rhs ) { return s = ((signed long int) rhs); } // to match cost of (char * int): int
-
+
+// Conversion
 static inline string tostr( char c ) { string s = c; return s; }
 static inline string tostr( const char * cs ) { string s = cs; return s; }
-static inline string tostr( signed long int v ) { string s = v; return s; }
 static inline string tostr( size_t v ) { string s = v; return s; }
+static inline string tostr( ssize_t v ) { string s = v; return s; }
 static inline string tostr( double v ) { string s = v; return s; }
 static inline string tostr( long double v ) { string s = v; return s; }
 static inline string tostr( long double _Complex v ) { string s = v; return s; }
 
+// C compatibility
 static inline string & strcpy( string & s, const char * cs ) { s = cs; return s; }
 static inline string & strncpy( string & s, const char * cs, size_t n ) { assign( s, cs, n ); return s; }
@@ -234,8 +233,4 @@
 
 // String search
-bool contains( const string & s, char ch );				// single character
-
-//int find( const string & s, size_t start, size_t len, const string & key, size_t kstart, size_t klen );
-size_t find$( const string_res & s, size_t start, size_t len, const string & key_res, size_t kstart, size_t klen );
 
 size_t find( const string & s, char key );
@@ -249,7 +244,8 @@
 size_t find( const string & s, size_t start, const char * key, size_t keysize );
 
-bool includes( const string & s, const string & mask );
-bool includes( const string & s, const char * mask );
-bool includes( const string & s, const char * mask, size_t masksize );
+static inline bool includes( const string & s, char key ) { return find( s, key ) < len( s ); }
+static inline bool includes( const string & s, const char * key ) { return find( s, key ) < len( s ); }
+static inline bool includes( const string & s, const string & key ) { return find( s, key ) < len( s ); }
+static inline bool includes( const string & s, const char * key, size_t keysize ){ return find( s, key, keysize ) < len( s ); }
 
 bool startsWith( const string & s, const string & prefix );
