From 239b3ab10b460da34c490a7e06a21c984e21ffb6 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Fri, 26 Nov 2021 20:21:12 +0000 Subject: Enable all Jason Turner recommended warnings --- lib/persistence.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'lib/persistence.h') diff --git a/lib/persistence.h b/lib/persistence.h index 252afde..0faa24d 100644 --- a/lib/persistence.h +++ b/lib/persistence.h @@ -26,6 +26,10 @@ namespace Persistence { using Stack = std::stack; struct Writer { + Writer() = default; + virtual ~Writer() = default; + DEFAULT_MOVE_COPY(Writer); + virtual void beginObject() const = 0; virtual void beginArray() const = 0; virtual void pushValue(bool value) const = 0; @@ -85,6 +89,7 @@ namespace Persistence { template struct SelectionT : public SelectionV { using SelectionV::SelectionV; + using Selection::setValue; using P = std::conditional_t, T, T &&>; void @@ -102,6 +107,8 @@ namespace Persistence { struct Persistable; struct PersistenceStore { + virtual ~PersistenceStore() = default; + template [[nodiscard]] inline bool persistType(const T * const, const std::type_info & ti); enum class NameAction { Push, HandleAndContinue, Ignore }; @@ -292,6 +299,7 @@ namespace Persistence { struct SelectionObj : public SelectionV { struct MakeObjectByTypeName : public SelectionV { using SelectionV::SelectionV; + using Selection::setValue; void setValue(std::string && type) override @@ -316,6 +324,7 @@ namespace Persistence { struct RememberObjectById : public SelectionV { using SelectionV::SelectionV; + using Selection::setValue; void setValue(std::string && id) override @@ -383,8 +392,10 @@ namespace Persistence { } using SelectionV::SelectionV; + using Selection::setValue; - void setValue(std::nullptr_t) override + void + setValue(std::nullptr_t) override { this->v.reset(); } -- cgit v1.2.3