diff options
-rw-r--r-- | Jamroot.jam | 1 | ||||
-rw-r--r-- | slicer/slicer/modelParts.h | 3 | ||||
-rw-r--r-- | slicer/slicer/modelPartsTypes.h | 2 | ||||
-rw-r--r-- | slicer/slicer/modelPartsTypes.impl.h | 1 |
4 files changed, 7 insertions, 0 deletions
diff --git a/Jamroot.jam b/Jamroot.jam index 7910d73..5403aed 100644 --- a/Jamroot.jam +++ b/Jamroot.jam @@ -17,6 +17,7 @@ project <variant>release:<lto>on <variant>debug:<warnings>extra <variant>debug:<warnings-as-errors>on + <variant>debug:<cflags>-Wnon-virtual-dtor <variant>coverage:<coverage>on <toolset>tidy:<checkxx>boost-* <toolset>tidy:<checkxx>bugprone-* diff --git a/slicer/slicer/modelParts.h b/slicer/slicer/modelParts.h index b0de888..dd496ec 100644 --- a/slicer/slicer/modelParts.h +++ b/slicer/slicer/modelParts.h @@ -17,6 +17,7 @@ namespace Ice { namespace Slicer { template<typename T> class TValueTarget { public: + virtual ~TValueTarget() = default; virtual void get(const T &) const = 0; }; class ValueTarget : @@ -41,6 +42,7 @@ namespace Slicer { template<typename T> class TValueSource { public: + virtual ~TValueSource() = default; virtual void set(T &) const = 0; }; class ValueSource : @@ -111,6 +113,7 @@ namespace Slicer { name(n), nameLower(nl), nameStr(ns) { } + virtual ~HookCommon() = default; [[nodiscard]] bool filter(const HookFilter & flt) const; void apply(const ChildHandler & ch, const ModelPartPtr & modelPart) const; diff --git a/slicer/slicer/modelPartsTypes.h b/slicer/slicer/modelPartsTypes.h index 2d959ea..2bbc9c9 100644 --- a/slicer/slicer/modelPartsTypes.h +++ b/slicer/slicer/modelPartsTypes.h @@ -313,6 +313,8 @@ namespace Slicer { using Consumer = std::function<void(const T &)>; using element_type = T; + virtual ~Stream() = default; + virtual void Produce(const Consumer & c) = 0; }; diff --git a/slicer/slicer/modelPartsTypes.impl.h b/slicer/slicer/modelPartsTypes.impl.h index ba30abe..4d5f991 100644 --- a/slicer/slicer/modelPartsTypes.impl.h +++ b/slicer/slicer/modelPartsTypes.impl.h @@ -385,6 +385,7 @@ namespace Slicer { { static_assert(sizeof...(MD) == N, "Wrong amount of metadata"); } + ~Hook() = default; [[nodiscard]] const Metadata & GetMetadata() const override |