From 99af85f62692adb6b7cdcbc7d367946ab2fe9de0 Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Thu, 20 Aug 2015 04:26:33 -0400 Subject: [PATCH] Added getToken() to TokenizeResult. --- Jupiter/Readable_String.h | 8 ++++++++ Jupiter/Readable_String_Imp.h | 7 +++++++ Release/Jupiter.lib | Bin 283128 -> 283128 bytes 3 files changed, 15 insertions(+) diff --git a/Jupiter/Readable_String.h b/Jupiter/Readable_String.h index e13d654..95f6da3 100644 --- a/Jupiter/Readable_String.h +++ b/Jupiter/Readable_String.h @@ -329,6 +329,14 @@ namespace Jupiter /** Length of 'tokens' array */ size_t token_count; + /** + * @brief A safe accessor method, for fetching tokens. + * + * @param index Index of token to fetch + * @return The token at the specified index if it exists, an empty string otherwise. + */ + const R &getToken(size_t index) const; + /** * @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 5b4f1f0..e1edf34 100644 --- a/Jupiter/Readable_String_Imp.h +++ b/Jupiter/Readable_String_Imp.h @@ -1346,6 +1346,13 @@ template template class R> Jupiter::Readable_Stri delete[] Jupiter::Readable_String::TokenizeResult::tokens; } +template template class R> const R &Jupiter::Readable_String::TokenizeResult::getToken(size_t index) const +{ + if (index < Jupiter::Readable_String::TokenizeResult::token_count) + return Jupiter::Readable_String::TokenizeResult::tokens[index]; + return R::empty; +} + // 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 d09d6b23ef88e9fc48d078ddbf7dd0ec23c48307..f0f1838061cb924034a778fb0dc42b7c954abf59 100644 GIT binary patch delta 18228 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 oc29?l=&W)y>rAeu=GLdKH*)Kv8