From b6f9ced59aedf912f04a5fd05e1e496f37a5cb6a Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Thu, 20 Aug 2015 14:20:53 -0400 Subject: [PATCH] Added assignment and move operators to TokenizeResult --- Jupiter/Readable_String.h | 8 +++++++- Jupiter/Readable_String_Imp.h | 25 ++++++++++++++++++++++++- Release/Jupiter.lib | Bin 283128 -> 283128 bytes 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/Jupiter/Readable_String.h b/Jupiter/Readable_String.h index 95f6da3..49ecab4 100644 --- a/Jupiter/Readable_String.h +++ b/Jupiter/Readable_String.h @@ -361,12 +361,18 @@ namespace Jupiter /** * @brief Move constructor for the TokenizeResult class. */ - TokenizeResult(const TokenizeResult &&source); + TokenizeResult(TokenizeResult &&source); /** * @brief Destructor for the TokenizeResult class. */ ~TokenizeResult(); + + /** Assignment Operator */ + inline TokenizeResult &operator=(const TokenizeResult &right); + + /** Move Operator */ + inline TokenizeResult &operator=(TokenizeResult &&right); }; /** diff --git a/Jupiter/Readable_String_Imp.h b/Jupiter/Readable_String_Imp.h index e1edf34..05c7701 100644 --- a/Jupiter/Readable_String_Imp.h +++ b/Jupiter/Readable_String_Imp.h @@ -1332,7 +1332,7 @@ template template class R> Jupiter::Readable_Stri } } -template template class R> Jupiter::Readable_String::TokenizeResult::TokenizeResult(const TokenizeResult &&source) +template template class R> Jupiter::Readable_String::TokenizeResult::TokenizeResult(TokenizeResult &&source) { Jupiter::Readable_String::TokenizeResult::tokens = source.tokens; Jupiter::Readable_String::TokenizeResult::token_count = source.token_count; @@ -1353,6 +1353,29 @@ template template class R> const R &Jupiter::R return R::empty; } +// TokenizeResult Operators + +template template class R> inline typename Jupiter::Readable_String::TokenizeResult &Jupiter::Readable_String::TokenizeResult::operator=(typename const Jupiter::Readable_String::TokenizeResult &right) +{ + Jupiter::Readable_String::TokenizeResult::tokens = new R[source.token_count]; + Jupiter::Readable_String::TokenizeResult::token_count = 0; + while (Jupiter::Readable_String::TokenizeResult::token_count != source.token_count) + { + Jupiter::Readable_String::TokenizeResult::tokens[Jupiter::Readable_String::TokenizeResult::token_count] = source.tokens[Jupiter::Readable_String::TokenizeResult::token_count]; + ++Jupiter::Readable_String::TokenizeResult::token_count; + } + return *this; +} + +template template class R> inline typename Jupiter::Readable_String::TokenizeResult &Jupiter::Readable_String::TokenizeResult::operator=(typename Jupiter::Readable_String::TokenizeResult &&right) +{ + Jupiter::Readable_String::TokenizeResult::tokens = source.tokens; + Jupiter::Readable_String::TokenizeResult::token_count = source.token_count; + source.tokens = nullptr; + source.token_count = 0; + return *this; +} + // tokenize template template class R> typename Jupiter::Readable_String::TokenizeResult Jupiter::Readable_String::tokenize(const Jupiter::Readable_String &in, const T &token) diff --git a/Release/Jupiter.lib b/Release/Jupiter.lib index f0f1838061cb924034a778fb0dc42b7c954abf59..33337b665bd249e12e12839b911b453a22e755ab 100644 GIT binary patch delta 20331 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 p;<^H;nDqlZBMN%cR&2zay!4;Hxz{|`OQ43+=@ delta 20331 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