Loading src/html.cpp +21 −5 Original line number Diff line number Diff line Loading @@ -107,8 +107,12 @@ libhtmlpp::HtmlString::HtmlString(char str) : HtmlString(){ } libhtmlpp::HtmlString::HtmlString(const std::string& str) : HtmlString(){ std::copy(str.begin(),str.end(),std::insert_iterator<std::vector<char>>(_Data,_Data.begin())); _Data.erase(std::remove(_Data.begin(), _Data.end(), '\0'), _Data.end()); auto clean_end = std::remove(str.begin(), str.end(), '\0'); _Data.insert(_Data.end(), str.begin(), clean_end); if (_Data.empty() || _Data.back() != '\0') { _Data.push_back('\0'); } } libhtmlpp::HtmlString::~HtmlString(){ Loading @@ -119,16 +123,28 @@ libhtmlpp::HtmlString::HtmlString(const libhtmlpp::HtmlString& str) : HtmlString } void libhtmlpp::HtmlString::push_back(const char src){ _Data.erase(std::remove(_Data.begin(), _Data.end(), '\0'), _Data.end()); if(!src) return; if (!_Data.empty() && _Data.back() == '\0') { _Data.pop_back(); } _Data.push_back(src); _Data.push_back('\0'); } void libhtmlpp::HtmlString::append(const std::string& src) { if(src.empty()) return; _Data.erase(std::remove(_Data.begin(), _Data.end(), '\0'), _Data.end()); std::copy(src.begin(),src.end(),std::back_inserter(_Data)); if (!_Data.empty() && _Data.back() == '\0') { _Data.pop_back(); } auto clean_end = std::remove(src.begin(), src.end(), '\0'); _Data.insert(_Data.end(), src.begin(), clean_end); _Data.push_back('\0'); } Loading Loading
src/html.cpp +21 −5 Original line number Diff line number Diff line Loading @@ -107,8 +107,12 @@ libhtmlpp::HtmlString::HtmlString(char str) : HtmlString(){ } libhtmlpp::HtmlString::HtmlString(const std::string& str) : HtmlString(){ std::copy(str.begin(),str.end(),std::insert_iterator<std::vector<char>>(_Data,_Data.begin())); _Data.erase(std::remove(_Data.begin(), _Data.end(), '\0'), _Data.end()); auto clean_end = std::remove(str.begin(), str.end(), '\0'); _Data.insert(_Data.end(), str.begin(), clean_end); if (_Data.empty() || _Data.back() != '\0') { _Data.push_back('\0'); } } libhtmlpp::HtmlString::~HtmlString(){ Loading @@ -119,16 +123,28 @@ libhtmlpp::HtmlString::HtmlString(const libhtmlpp::HtmlString& str) : HtmlString } void libhtmlpp::HtmlString::push_back(const char src){ _Data.erase(std::remove(_Data.begin(), _Data.end(), '\0'), _Data.end()); if(!src) return; if (!_Data.empty() && _Data.back() == '\0') { _Data.pop_back(); } _Data.push_back(src); _Data.push_back('\0'); } void libhtmlpp::HtmlString::append(const std::string& src) { if(src.empty()) return; _Data.erase(std::remove(_Data.begin(), _Data.end(), '\0'), _Data.end()); std::copy(src.begin(),src.end(),std::back_inserter(_Data)); if (!_Data.empty() && _Data.back() == '\0') { _Data.pop_back(); } auto clean_end = std::remove(src.begin(), src.end(), '\0'); _Data.insert(_Data.end(), src.begin(), clean_end); _Data.push_back('\0'); } Loading