From 0c7ff3575b1325c211c3d528ef2dc7a8266548a7 Mon Sep 17 00:00:00 2001 From: Mario Emmenlauer Date: Fri, 27 Jan 2023 11:52:14 +0100 Subject: [PATCH] Made a number of destructors virtual where needed (fix compile error with clang 15.x) --- src/gtpo/graph.h | 2 +- src/gtpo/observable.h | 6 +++--- src/gtpo/observer.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gtpo/graph.h b/src/gtpo/graph.h index cd2446ac..8ca940ba 100644 --- a/src/gtpo/graph.h +++ b/src/gtpo/graph.h @@ -93,7 +93,7 @@ class graph : public graph_base_t, graph_base_t{parent}, observable_base_t{} { } - ~graph(); + virtual ~graph(); graph(const graph&) = delete; graph& operator=(const graph&) = delete; diff --git a/src/gtpo/observable.h b/src/gtpo/observable.h index 9cf11ee1..a5900477 100644 --- a/src/gtpo/observable.h +++ b/src/gtpo/observable.h @@ -49,7 +49,7 @@ namespace gtpo { // ::gtpo class abstract_observable { public: abstract_observable() {} - ~abstract_observable() = default; + virtual ~abstract_observable() = default; abstract_observable(const abstract_observable&) = default; abstract_observable& operator=( const abstract_observable&) = default; @@ -68,7 +68,7 @@ class observable : public abstract_observable //@{ public: observable() : abstract_observable() { } - ~observable() noexcept { + virtual ~observable() noexcept { _observers.clear(); } observable(const observable&) = default; @@ -199,7 +199,7 @@ class observable_graph : public observable; using super_t = observable >; observable_graph() : super_t{} { } - ~observable_graph() noexcept = default; + virtual ~observable_graph() noexcept = default; observable_graph(const observable_graph&) = delete; observable_graph& operator=(const observable_graph&) = delete; //@} diff --git a/src/gtpo/observer.h b/src/gtpo/observer.h index 60737541..d00ea934 100644 --- a/src/gtpo/observer.h +++ b/src/gtpo/observer.h @@ -154,7 +154,7 @@ class graph_observer : public observer using this_t = gtpo::graph_observer; graph_observer() noexcept : gtpo::observer{} {} - ~graph_observer() noexcept = default; + virtual ~graph_observer() noexcept = default; graph_observer(const this_t&) = delete; graph_observer& operator=(const this_t&) = delete;