summaryrefslogtreecommitdiff
path: root/lib/jsonParse-persistance.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/jsonParse-persistance.h')
-rw-r--r--lib/jsonParse-persistance.h13
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);