diff --git a/src/include/strings.cpp b/src/include/strings.cpp index e9bfa50cc..0efcd3a3b 100755 --- a/src/include/strings.cpp +++ b/src/include/strings.cpp @@ -1038,6 +1038,17 @@ TString & TString::add_front(const char * s) return *this; } +TString& TString::add_back(const char* s) +{ + return operator<<(s); +} + +TString& TString::add_front_and_back(const char* front, const char* back) +{ + add_front(front); + return add_back(back); +} + // Certified 90% word TString::hash() const { diff --git a/src/include/strings.h b/src/include/strings.h index b1a8802f3..9e8663597 100755 --- a/src/include/strings.h +++ b/src/include/strings.h @@ -77,6 +77,7 @@ public: // @cmember Ritorna un riferimento al carattere i-esimo della stringa char& operator[](int i) { + CHECKD(i >= 0 && i <= _size, "Bad string subscript: ", i); CHECKD(i >= 0 && i <= _size, "Bad string subscript: ", i); return _str[i]; } @@ -161,6 +162,12 @@ public: TString& insert(const char* s, int pos = 0); // @cmember Aggiunge la stringa passata davanti TString& add_front(const char* s); + // @cmember Aggiunge la stringa passata dietro, sta funzione non serve a un tubo, solo per rendere pił bello il codice se chiamata con add_front + TString& add_back(const char* s); + // @cmember Aggiunge la prima stringa passata davanti e la seconda dietro + TString& add_front_and_back(const char * front, const char* back); + // @cmember Aggiunge la stringa passata davanti e dietro + TString& add_front_and_back(const char * s) { return add_front_and_back(s, s); } // @cmember Elimina tutti i caratteri contenuti in k TString& strip(const char* k);