diff --git a/rclcpp/include/rclcpp/memory_strategies.hpp b/rclcpp/include/rclcpp/memory_strategies.hpp index 2887426..b69ed51 100644 --- a/rclcpp/include/rclcpp/memory_strategies.hpp +++ b/rclcpp/include/rclcpp/memory_strategies.hpp @@ -31,10 +31,10 @@ using rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrat } /* memory_strategies */ namespace memory_strategy { - MemoryStrategy::SharedPtr create_default_strategy() { + static MemoryStrategy::SharedPtr create_default_strategy() { return std::make_shared>(); } -} +} /* memory_strategy */ } /* rclcpp */ diff --git a/rclcpp/include/rclcpp/memory_strategy.hpp b/rclcpp/include/rclcpp/memory_strategy.hpp index 86acfb8..22291bd 100644 --- a/rclcpp/include/rclcpp/memory_strategy.hpp +++ b/rclcpp/include/rclcpp/memory_strategy.hpp @@ -38,7 +38,7 @@ class MemoryStrategy { public: RCLCPP_SMART_PTR_DEFINITIONS_NOT_COPYABLE(MemoryStrategy); - using WeakNodeVector = std::vector>>; + using WeakNodeVector = typename std::vector>>; // return the new number of subscribers virtual size_t fill_subscriber_handles(void ** ptr) = 0; diff --git a/rclcpp/include/rclcpp/strategies/allocator_memory_strategy.hpp b/rclcpp/include/rclcpp/strategies/allocator_memory_strategy.hpp index f47b95c..c0f86fc 100644 --- a/rclcpp/include/rclcpp/strategies/allocator_memory_strategy.hpp +++ b/rclcpp/include/rclcpp/strategies/allocator_memory_strategy.hpp @@ -43,8 +43,6 @@ class AllocatorMemoryStrategy : public memory_strategy::MemoryStrategy public: RCLCPP_SMART_PTR_DEFINITIONS(AllocatorMemoryStrategy); - using WeakNode = std::weak_ptr>; - using NodeVector = std::vector; using ExecAllocTraits = allocator::AllocRebind; using ExecAlloc = typename ExecAllocTraits::allocator_type; @@ -52,6 +50,8 @@ public: using VoidAllocTraits = typename allocator::AllocRebind; using VoidAlloc = typename VoidAllocTraits::allocator_type; + using NodeVector = typename std::vector>>; + AllocatorMemoryStrategy(std::shared_ptr allocator) { executable_allocator_ = std::make_shared(*allocator.get());