diff --git a/Jupiter/Readable_String.h b/Jupiter/Readable_String.h index 49ecab4..f890602 100644 --- a/Jupiter/Readable_String.h +++ b/Jupiter/Readable_String.h @@ -337,6 +337,11 @@ namespace Jupiter */ const R &getToken(size_t index) const; + /** + * @brief Restores the TokenizeResult to a default state, by deleting the stored tokens. + */ + void erase(); + /** * @brief Default constructor for the TokenizeResult class. * Note: 'tokens' assigned nullptr, and 'token_count' is assigned 0. diff --git a/Jupiter/Readable_String_Imp.h b/Jupiter/Readable_String_Imp.h index 06a1b6a..f72c7c3 100644 --- a/Jupiter/Readable_String_Imp.h +++ b/Jupiter/Readable_String_Imp.h @@ -1353,6 +1353,15 @@ template template class R> const R &Jupiter::R return R::empty; } +template template class R> void Jupiter::Readable_String::TokenizeResult::erase() +{ + if (Jupiter::Readable_String::TokenizeResult::tokens != nullptr) + { + delete[] Jupiter::Readable_String::TokenizeResult::tokens; + Jupiter::Readable_String::TokenizeResult::token_count = 0; + } +} + // TokenizeResult Operators template template class R> inline typename Jupiter::Readable_String::TokenizeResult &Jupiter::Readable_String::TokenizeResult::operator=(typename const Jupiter::Readable_String::TokenizeResult &right) diff --git a/Release/Jupiter.lib b/Release/Jupiter.lib index 21a24a4..fdb9d50 100644 Binary files a/Release/Jupiter.lib and b/Release/Jupiter.lib differ