Ignore:
Timestamp:
Jan 14, 2024, 5:48:00 PM (9 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
739495a
Parents:
5ecaeca
Message:

formatting, add string constructor for char, add string *= operator, simplify ?+? and ?*? operations

File:
1 edited

Legend:

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

    r5ecaeca r479fbe3  
    1010// Created On       : Fri Sep 03 11:00:00 2021
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jan  4 11:27:37 2024
    13 // Update Count     : 233
     12// Last Modified On : Sun Jan 14 12:03:47 2024
     13// Update Count     : 240
    1414//
    1515
     
    2929// string RAII
    3030
    31 
    32 void ?{}( string & s ) {
    33     (s.inner) { malloc() };
    34     ?{}( *s.inner );
    35 }
    36 
    3731// private (not in header)
    3832static void ?{}( string & s, string_res & src, size_t start, size_t end ) {
     
    4135}
    4236
     37void ?{}( string & s ) {
     38    (s.inner) { malloc() };
     39    ?{}( *s.inner );
     40}
     41
    4342void ?{}( string & s, const string & c ) {
    4443    (s.inner) { malloc() };
     
    5049}
    5150
    52 void ?{}( string & s, const char * val ) {
    53     (s.inner) { malloc() };
    54     ?{}( *s.inner, val );
    55 }
    56 
    57 void ?{}( string & s, const char * buffer, size_t bsize) {
    58     (s.inner) { malloc() };
    59     ?{}( *s.inner, buffer, bsize );
     51void ?{}( string & s, const char c ) {
     52    (s.inner) { malloc() };
     53        char cs[2] = { c, '\0' };
     54    ?{}( *s.inner, cs );
     55}
     56
     57void ?{}( string & s, const char * c ) {
     58    (s.inner) { malloc() };
     59    ?{}( *s.inner, c );
     60}
     61
     62void ?{}( string & s, const char * c, size_t size) {
     63    (s.inner) { malloc() };
     64    ?{}( *s.inner, c, size );
    6065}
    6166
     
    237242}
    238243
    239 string ?*?(char c, size_t size) {
    240     string ret = "";
    241     for ((size_t)size) ret += c;
    242     return ret;
    243 }
    244 
    245 string ?*?(const char *s, size_t factor) {
    246     string ss = s;
    247     return ss * factor;
     244void ?*=?(string & s, size_t factor) {
     245    s = s * factor;
     246}
     247
     248string ?*?(char c, size_t factor) {
     249    string ret = c;
     250    return ret * factor;
     251}
     252
     253string ?*?(const char * s, size_t factor) {
     254    string ret = s;
     255    return ret * factor;
    248256}
    249257
Note: See TracChangeset for help on using the changeset viewer.