From f5c84fd6c8211c161f9862f4ac5c117568427580 Mon Sep 17 00:00:00 2001 From: johnchronis Date: Mon, 8 Oct 2018 18:01:27 -0500 Subject: [PATCH] Add virtual destructors where they are needed to remove compilations errors. --- .../table_generator/GenerateSeriesHandle.hpp | 2 ++ .../GeneratorFunctionHandle.hpp | 2 ++ .../tmb/tests/message_bus_unittest_common.h | 22 ++++++++++++++----- utility/lip_filter/BitVectorExactFilter.hpp | 2 ++ utility/lip_filter/LIPFilter.hpp | 2 ++ .../lip_filter/SingleIdentityHashFilter.hpp | 2 ++ utility/tests/TemplateUtil_unittest.cpp | 4 ++++ 7 files changed, 31 insertions(+), 5 deletions(-) diff --git a/expressions/table_generator/GenerateSeriesHandle.hpp b/expressions/table_generator/GenerateSeriesHandle.hpp index 594f12ba..bfb4ab55 100644 --- a/expressions/table_generator/GenerateSeriesHandle.hpp +++ b/expressions/table_generator/GenerateSeriesHandle.hpp @@ -46,6 +46,8 @@ namespace quickstep { */ class GenerateSeriesHandle : public GeneratorFunctionHandle { public: + ~GenerateSeriesHandle() override {}; + int getNumberOfOutputColumns() const override { return 1; } diff --git a/expressions/table_generator/GeneratorFunctionHandle.hpp b/expressions/table_generator/GeneratorFunctionHandle.hpp index b2fc0680..394749fc 100644 --- a/expressions/table_generator/GeneratorFunctionHandle.hpp +++ b/expressions/table_generator/GeneratorFunctionHandle.hpp @@ -59,6 +59,8 @@ typedef std::shared_ptr GeneratorFunctionHandlePt **/ class GeneratorFunctionHandle { public: + virtual ~GeneratorFunctionHandle() {} + /** * @brief Get the number of output columns of this generator function. * diff --git a/third_party/src/tmb/tests/message_bus_unittest_common.h b/third_party/src/tmb/tests/message_bus_unittest_common.h index e0994da5..69df005c 100644 --- a/third_party/src/tmb/tests/message_bus_unittest_common.h +++ b/third_party/src/tmb/tests/message_bus_unittest_common.h @@ -61,6 +61,8 @@ class Thread { Thread() { } + virtual ~Thread() {} + void Start() { internal_thread_ = std::thread(Thread::ExecuteRunMethodOfThread, this); } @@ -196,6 +198,8 @@ class ConnectorThread : public Thread { num_clients_(num_clients) { } + ~ConnectorThread() override {}; + const std::unordered_set& assigned_ids() const { return assigned_ids_; } @@ -205,7 +209,7 @@ class ConnectorThread : public Thread { } protected: - void Run() { + void Run() override { for (std::size_t client_idx = 0; client_idx < num_clients_; ++client_idx) { client_id current_client = message_bus_ptr_->Connect(); EXPECT_EQ(assigned_ids_.end(), assigned_ids_.find(current_client)); @@ -656,6 +660,8 @@ class SimpleReceiverThread : public Thread { receiver_id_(sender_id) { } + ~SimpleReceiverThread() override {}; + // Spins until the receiver id is actually available. client_id GetReceiverID() const { client_id receiver_id = receiver_id_.load(); @@ -671,7 +677,7 @@ class SimpleReceiverThread : public Thread { } protected: - void Run() { + void Run() override { const client_id receiver_id = message_bus_ptr_->Connect(); EXPECT_TRUE(message_bus_ptr_->RegisterClientAsReceiver(receiver_id, 0)); receiver_id_.store(receiver_id); @@ -780,6 +786,8 @@ class SimpleSenderThread : public Thread { sender_id_(receiver_id) { } + ~SimpleSenderThread() override {} + // Spins until the sender id is actually available. client_id GetSenderID() const { client_id sender_id = sender_id_.load(); @@ -791,7 +799,7 @@ class SimpleSenderThread : public Thread { } protected: - void Run() { + void Run() override { const client_id sender_id = message_bus_ptr_->Connect(); EXPECT_TRUE(message_bus_ptr_->RegisterClientAsSender(sender_id, 0)); sender_id_.store(sender_id); @@ -2219,8 +2227,10 @@ class ClientThread : public Thread { EXPECT_TRUE(message_bus_ptr_->RegisterClientAsReceiver(me_, 1)); } + ~ClientThread() override {}; + protected: - void Run() { + void Run() override { Address addr; addr.AddRecipient(server_); MessageStyle style; @@ -2258,12 +2268,14 @@ class ServerThread : public Thread { EXPECT_TRUE(message_bus_ptr_->RegisterClientAsReceiver(me_, 0)); } + ~ServerThread() override {}; + client_id GetID() const { return me_; } protected: - void Run() { + void Run() override { MessageStyle style; for (int i = 0; i < num_messages_; ++i) { AnnotatedMessage request = message_bus_ptr_->Receive(me_); diff --git a/utility/lip_filter/BitVectorExactFilter.hpp b/utility/lip_filter/BitVectorExactFilter.hpp index 48fd5e1c..7b66a046 100644 --- a/utility/lip_filter/BitVectorExactFilter.hpp +++ b/utility/lip_filter/BitVectorExactFilter.hpp @@ -69,6 +69,8 @@ class BitVectorExactFilter : public LIPFilter { DCHECK_GE(max_value_, min_value_); } + ~BitVectorExactFilter() override {}; + void insertValueAccessor(ValueAccessor *accessor, const attribute_id attr_id, const Type *attr_type) override { diff --git a/utility/lip_filter/LIPFilter.hpp b/utility/lip_filter/LIPFilter.hpp index ba382645..6882328f 100644 --- a/utility/lip_filter/LIPFilter.hpp +++ b/utility/lip_filter/LIPFilter.hpp @@ -47,6 +47,8 @@ enum class LIPFilterType { */ class LIPFilter { public: + virtual ~LIPFilter() {} + /** * @breif Get the type of this LIPFilter. * diff --git a/utility/lip_filter/SingleIdentityHashFilter.hpp b/utility/lip_filter/SingleIdentityHashFilter.hpp index d7e34752..ddea2f19 100644 --- a/utility/lip_filter/SingleIdentityHashFilter.hpp +++ b/utility/lip_filter/SingleIdentityHashFilter.hpp @@ -66,6 +66,8 @@ class SingleIdentityHashFilter : public LIPFilter { DCHECK_GE(filter_cardinality, 1u); } + ~SingleIdentityHashFilter() override {}; + void insertValueAccessor(ValueAccessor *accessor, const attribute_id attr_id, const Type *attr_type) override { diff --git a/utility/tests/TemplateUtil_unittest.cpp b/utility/tests/TemplateUtil_unittest.cpp index ce5d662e..129ac6ac 100644 --- a/utility/tests/TemplateUtil_unittest.cpp +++ b/utility/tests/TemplateUtil_unittest.cpp @@ -53,6 +53,8 @@ class SomeArgType { class BaseClass { public: + virtual ~BaseClass() {} + virtual std::string toString() const = 0; }; @@ -63,6 +65,8 @@ class SomeClass : public BaseClass { : a1_(a1), a2_(std::forward(a2)) { } + ~SomeClass() override {}; + std::string toString() const override { std::ostringstream oss; oss << "{ ";