diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-04-25 19:39:26 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-11-07 16:41:37 +0000 |
commit | 8e8d707db19c12ffa7c018206ebe2582f0d86355 (patch) | |
tree | 68f9c54942730729db671286862247e8d3b42a82 /test/test-persistance.cpp | |
parent | Erring toward complete JSON loader (diff) | |
download | ilt-8e8d707db19c12ffa7c018206ebe2582f0d86355.tar.bz2 ilt-8e8d707db19c12ffa7c018206ebe2582f0d86355.tar.xz ilt-8e8d707db19c12ffa7c018206ebe2582f0d86355.zip |
Support chaining persist calls for subclasses
Diffstat (limited to 'test/test-persistance.cpp')
-rw-r--r-- | test/test-persistance.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/test/test-persistance.cpp b/test/test-persistance.cpp index fb90de2..ffc8a3c 100644 --- a/test/test-persistance.cpp +++ b/test/test-persistance.cpp @@ -13,10 +13,10 @@ struct AbsObject : public Persistanace::Persistable { std::string base; - void + bool persist(Persistanace::PersistanceStore & store) override { - STORE_MEMBER(base); + return STORE_MEMBER(base); } virtual void dummy() const = 0; @@ -25,11 +25,10 @@ struct AbsObject : public Persistanace::Persistable { struct SubObject : public AbsObject { std::string sub; - void + bool persist(Persistanace::PersistanceStore & store) override { - AbsObject::persist(store); - STORE_MEMBER(sub); + return AbsObject::persist(store) && STORE_MEMBER(sub); } void @@ -52,10 +51,10 @@ struct TestObject : public Persistanace::Persistable { std::unique_ptr<AbsObject> aptr; std::vector<std::unique_ptr<TestObject>> vptr; - void + bool persist(Persistanace::PersistanceStore & store) override { - STORE_MEMBER(flt) && STORE_MEMBER(str) && STORE_MEMBER(bl) && STORE_MEMBER(pos) && STORE_MEMBER(flts) + return STORE_MEMBER(flt) && STORE_MEMBER(str) && STORE_MEMBER(bl) && STORE_MEMBER(pos) && STORE_MEMBER(flts) && STORE_MEMBER(poss) && STORE_MEMBER(nest) && STORE_MEMBER(ptr) && STORE_MEMBER(aptr) && STORE_MEMBER(vptr); } |