diff options
Diffstat (limited to 'lib/jsonParse-persistance.h')
-rw-r--r-- | lib/jsonParse-persistance.h | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/jsonParse-persistance.h b/lib/jsonParse-persistance.h index d5c76ed..bea93e0 100644 --- a/lib/jsonParse-persistance.h +++ b/lib/jsonParse-persistance.h @@ -11,18 +11,18 @@ namespace Persistanace { class JsonParsePersistance : public json::jsonParser { public: - explicit JsonParsePersistance(std::istream & in); - template<typename T> - void - loadState(T & t) + inline T + loadState(std::istream & in) { + T t {}; stk.push(std::make_unique<SelectionT<T>>(std::ref(t))); - loadState(); + loadState(in); + return t; } protected: - void loadState(); + void loadState(std::istream & in); void BeginObject() override; void BeginArray() override; @@ -34,7 +34,6 @@ namespace Persistanace { void EndArray() override; void EndObject() override; - private: Stack stk; template<typename T> inline void PushValue(T && value); |