diff --git a/rclcpp/include/rclcpp/intra_process_manager_impl.hpp b/rclcpp/include/rclcpp/intra_process_manager_impl.hpp index 48d96ae..ff8554e 100644 --- a/rclcpp/include/rclcpp/intra_process_manager_impl.hpp +++ b/rclcpp/include/rclcpp/intra_process_manager_impl.hpp @@ -45,7 +45,7 @@ public: RCLCPP_SMART_PTR_DEFINITIONS_NOT_COPYABLE(IntraProcessManagerImplBase) IntraProcessManagerImplBase() = default; - ~IntraProcessManagerImplBase() = default; + virtual ~IntraProcessManagerImplBase() = default; virtual void add_subscription(uint64_t id, SubscriptionBase::SharedPtr subscription) = 0; diff --git a/rclcpp/include/rclcpp/memory_strategy.hpp b/rclcpp/include/rclcpp/memory_strategy.hpp index aa88913..ae7f372 100644 --- a/rclcpp/include/rclcpp/memory_strategy.hpp +++ b/rclcpp/include/rclcpp/memory_strategy.hpp @@ -43,6 +43,8 @@ public: RCLCPP_SMART_PTR_DEFINITIONS_NOT_COPYABLE(MemoryStrategy) using WeakNodeVector = std::vector; + virtual ~MemoryStrategy() = default; + virtual bool collect_entities(const WeakNodeVector & weak_nodes) = 0; virtual size_t number_of_ready_subscriptions() const = 0; diff --git a/rclcpp/include/rclcpp/message_memory_strategy.hpp b/rclcpp/include/rclcpp/message_memory_strategy.hpp index fd92500..d67f12e 100644 --- a/rclcpp/include/rclcpp/message_memory_strategy.hpp +++ b/rclcpp/include/rclcpp/message_memory_strategy.hpp @@ -71,6 +71,8 @@ public: rcutils_allocator_ = allocator::get_rcl_allocator(*buffer_allocator_.get()); } + virtual ~MessageMemoryStrategy() = default; + /// Default factory method static SharedPtr create_default() {