Ignore:
Timestamp:
Jan 24, 2024, 6:05:54 AM (2 years ago)
Author:
JiadaL <j82liang@…>
Branches:
master
Children:
16afb2a, 221c542e, 8a33777
Parents:
544deb9 (diff), 61e362f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

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

    r544deb9 r71b5aad5  
    7070}
    7171
     72void ?{}( string & s, ssize_t rhs ) {
     73    (s.inner) { malloc() };
     74    ?{}( *s.inner, rhs );
     75}
     76
     77void ?{}( string & s, size_t rhs ) {
     78    (s.inner) { malloc() };
     79    ?{}( *s.inner, rhs );
     80}
     81
     82void ?{}( string & s, double rhs ) {
     83    (s.inner) { malloc() };
     84    ?{}( *s.inner, rhs );
     85}
     86
     87void ?{}( string & s, long double rhs ) {
     88    (s.inner) { malloc() };
     89    ?{}( *s.inner, rhs );
     90}
     91
     92void ?{}( string & s, double _Complex rhs ) {
     93    (s.inner) { malloc() };
     94    ?{}( *s.inner, rhs );
     95}
     96
     97void ?{}( string & s, long double _Complex rhs ) {
     98    (s.inner) { malloc() };
     99    ?{}( *s.inner, rhs );
     100}
     101
    72102void ^?{}( string & s ) {
    73103    ^(*s.inner){};
     
    91121// Assignment
    92122
    93 void ?=?( string & s, const char * val ) {
    94     (*s.inner) = val;
    95 }
    96 
    97 // with and without const on "other" argument helps keep prevent autogen ?=? calls
    98 void ?=?(string & s, const string & c) {
     123string & ?=?(string & s, const string & c) {
    99124    (*s.inner) = (*c.inner);
    100 }
     125    return s;
     126}
     127
    101128string & ?=?(string & s, string & c) {
    102129    (*s.inner) = (*c.inner);
     
    104131}
    105132
    106 void ?=?( string & s, char val ) {
     133string & ?=?( string & s, const char * val ) {
    107134    (*s.inner) = val;
    108 }
    109 
    110 void assign(string & s, const string & c, size_t n) {
     135    return s;
     136}
     137
     138string & ?=?( string & s, char val ) {
     139    (*s.inner) = val;
     140    return s;
     141}
     142
     143string & assign(string & s, const string & c, size_t n) {
    111144    assign(*s.inner, *c.inner, n);
    112 }
    113 void assign(string & s, const char * c, size_t n) {
     145    return s;
     146}
     147
     148string & assign(string & s, const char * c, size_t n) {
    114149    assign(*s.inner, c, n);
    115 }
    116 
     150    return s;
     151}
     152
     153string & ?=?( string & s, ssize_t rhs ) {
     154    (*s.inner) = rhs;
     155    return s;
     156}
     157
     158string & ?=?( string & s, size_t rhs ) {
     159    (*s.inner) = rhs;
     160    return s;
     161}
     162
     163string & ?=?( string & s, double rhs ) {
     164    (*s.inner) = rhs;
     165    return s;
     166}
     167
     168string & ?=?( string & s, long double rhs ) {
     169    (*s.inner) = rhs;
     170    return s;
     171}
     172
     173string & ?=?( string & s, double _Complex rhs ) {
     174    (*s.inner) = rhs;
     175    return s;
     176}
     177
     178string & ?=?( string & s, long double _Complex rhs ) {
     179    (*s.inner) = rhs;
     180    return s;
     181}
    117182
    118183////////////////////////////////////////////////////////
Note: See TracChangeset for help on using the changeset viewer.