Ignore:
Timestamp:
Jan 4, 2024, 11:58:49 AM (5 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
be10079
Parents:
8b4faf6
Message:

formatting, change cmp to strcmp, add strlen and strcat

File:
1 edited

Legend:

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

    r8b4faf6 r681e12f  
    1010// Created On       : Fri Sep 03 11:00:00 2021
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Sep  2 11:26:28 2023
    13 // Update Count     : 55
     12// Last Modified On : Thu Jan  4 11:27:35 2024
     13// Update Count     : 75
    1414//
    1515
     
    2929// Getters
    3030size_t size(const string & s);
     31static inline size_t strlen(const string & s) { return size( s ); }
    3132
    3233// RAII, assignment
    33 void ?{}(string & this); // empty string
     34void ?{}(string & s); // empty string
    3435void ?{}(string & s, const char * initial); // copy from string literal (NULL-terminated)
    3536void ?{}(string & s, const char * buffer, size_t bsize); // copy specific length from buffer
     
    3839void ?{}(string & s, string & s2);
    3940
    40 void ?=?(string & s, const char * other); // copy assignment from literal
    41 void ?=?(string & s, const string & other);
    42 void ?=?(string & s, char other);
    43 string & ?=?(string & s, string & other);  // surprising ret seems to help avoid calls to autogen
     41void ?=?(string & s, const char * c); // copy assignment from literal
     42static inline string & strcpy(string & s, const char * c) { s = c; return s; }
     43void ?=?(string & s, const string & c);
     44static inline string & strcpy(string & s, const string c) { s = c; return s; }
     45void ?=?(string & s, char c);
     46string & ?=?(string & s, string & c);  // surprising ret seems to help avoid calls to autogen
    4447//string ?=?( string &, string ) = void;
    4548void ^?{}(string & s);
     
    4952    string * s;
    5053};
    51 string_WithSharedEdits ?`shareEdits( string & this );
    52 void ?{}( string & this, string_WithSharedEdits src );
     54string_WithSharedEdits ?`shareEdits( string & s );
     55void ?{}( string & s, string_WithSharedEdits src );
    5356
    5457// IO Operator
     
    5659void ?|?(ofstream & out, const string & s);
    5760ifstream & ?|?(ifstream & in, string & s);
    58 void ?|?( ifstream & in, string & this );
     61void ?|?( ifstream & in, string & s );
    5962
    6063static inline {
     
    8184        _Istream_Sstr wdi( unsigned int rwd, string & s ) { return (_Istream_Sstr)@{ s, {{0p}, rwd, {.flags.rwd : true}} }; }
    8285        _Istream_Sstr getline( string & s, const char delimiter = '\n' ) {
    83                 return (_Istream_Sstr)@{ s, {{.delimiter : { delimiter, '\0' } }, -1, {.flags.delimiter : true, .flags.inex : true}} };
     86                return (_Istream_Sstr)@{ s, {{.delimiters : { delimiter, '\0' } }, -1, {.flags.delimiter : true, .flags.inex : true}} };
    8487        }
    8588        _Istream_Sstr & getline( _Istream_Sstr & fmt, const char delimiter = '\n' ) {
    86                 fmt.delimiter[0] = delimiter; fmt.delimiter[1] = '\0'; fmt.flags.delimiter = true; fmt.flags.inex = true; return fmt;
     89                fmt.delimiters[0] = delimiter; fmt.delimiters[1] = '\0'; fmt.flags.delimiter = true; fmt.flags.inex = true; return fmt;
    8790        }
    8891        _Istream_Sstr incl( const char scanset[], string & s ) { return (_Istream_Sstr)@{ s, {{scanset}, -1, {.flags.inex : false}} }; }
     
    97100
    98101// Concatenation
    99 void ?+=?(string & s, char other); // append a character
     102void ?+=?(string & s, char c); // append a character
    100103void ?+=?(string & s, const string & s2); // append-concatenate to first string
    101 void ?+=?(string & s, const char * other); // append-concatenate to first string
    102 string ?+?(const string & s, char other); // add a character to a copy of the string
     104static inline string & strcat(string & s, const string & s2) { s += s2; return s; }
     105void ?+=?(string & s, const char * s2); // append-concatenate to first string
     106static inline string & strcat(string & s, const char * c) { s += c; return s; }
     107string ?+?(const string & s, char c); // add a character to a copy of the string
    103108string ?+?(const string & s, const string & s2); // copy and concatenate both strings
    104109string ?+?(const char * s1, const char * s2); // concatenate both strings
    105 string ?+?(const string & s, const char * other); // copy and concatenate with NULL-terminated string
     110string ?+?(const string & s, const char * c); // copy and concatenate with NULL-terminated string
    106111
    107112// Repetition
     
    116121
    117122// Comparisons
    118 int  cmp (const string &, const string &);
     123int  strcmp (const string &, const string &);
    119124bool ?==?(const string &, const string &);
    120125bool ?!=?(const string &, const string &);
     
    124129bool ?<? (const string &, const string &);
    125130
    126 int  cmp (const string &, const char*);
    127 bool ?==?(const string &, const char*);
    128 bool ?!=?(const string &, const char*);
    129 bool ?>? (const string &, const char*);
    130 bool ?>=?(const string &, const char*);
    131 bool ?<=?(const string &, const char*);
    132 bool ?<? (const string &, const char*);
    133 
    134 int  cmp (const char*, const string &);
    135 bool ?==?(const char*, const string &);
    136 bool ?!=?(const char*, const string &);
    137 bool ?>? (const char*, const string &);
    138 bool ?>=?(const char*, const string &);
    139 bool ?<=?(const char*, const string &);
    140 bool ?<? (const char*, const string &);
     131int  strcmp (const string &, const char *);
     132bool ?==?(const string &, const char *);
     133bool ?!=?(const string &, const char *);
     134bool ?>? (const string &, const char *);
     135bool ?>=?(const string &, const char *);
     136bool ?<=?(const string &, const char *);
     137bool ?<? (const string &, const char *);
     138
     139int  strcmp (const char *, const string &);
     140bool ?==?(const char *, const string &);
     141bool ?!=?(const char *, const string &);
     142bool ?>? (const char *, const string &);
     143bool ?>=?(const char *, const string &);
     144bool ?<=?(const char *, const string &);
     145bool ?<? (const char *, const string &);
    141146
    142147
    143148// Slicing
    144 string ?()( string & this, size_t start, size_t end );  // TODO const?
    145 string ?()( string & this, size_t start);
     149string ?()( string & s, size_t start, size_t end );  // TODO const?
     150string ?()( string & s, size_t start);
    146151
    147152// String search
     
    177182
    178183
    179 
    180184struct charclass {
    181185    charclass_res * inner;
Note: See TracChangeset for help on using the changeset viewer.