From c3734751d5e5fcd65fdbcb1a6c9b3328432de3d7 Mon Sep 17 00:00:00 2001 From: Mattia Tollari Date: Fri, 2 Aug 2019 11:09:20 +0200 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:=2012.?= =?UTF-8?q?0=20no-patch=20Files=20correlati=20=20=20=20=20:=20include=20Co?= =?UTF-8?q?mmento=20=20=20=20=20=20=20=20=20=20=20=20:=20Aggiunte=20funzio?= =?UTF-8?q?ni=20add=5Fback()=20e=20add=5Ffront=5Fand=5Fback()=20per=20aggi?= =?UTF-8?q?ungere=20dietro=20una=20stringa=20(operatore=20<<)=20e=20aggiun?= =?UTF-8?q?gerla=20davanti=20e=20dietro,=20di=20base=20inutili=20ma=20il?= =?UTF-8?q?=20codice=20=C3=A8=20pi=C3=B9=20bello?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/include/strings.cpp | 11 +++++++++++ src/include/strings.h | 7 +++++++ 2 files changed, 18 insertions(+) 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);