diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-09-07 02:10:36 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-09-07 02:10:36 +0100 |
commit | b851b8f23b1527e35b78bf68e7eecffa3c59589b (patch) | |
tree | f1359180e924388accc60e90a8cd743e3c8ae5c3 | |
parent | Update to C++20 for constexpr virtual destructors (diff) | |
download | slicer-b851b8f23b1527e35b78bf68e7eecffa3c59589b.tar.bz2 slicer-b851b8f23b1527e35b78bf68e7eecffa3c59589b.tar.xz slicer-b851b8f23b1527e35b78bf68e7eecffa3c59589b.zip |
Add missing virtual destructors
-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 |