diff --git a/rclcpp/include/rclcpp/wait_set_policies/dynamic_storage.hpp b/rclcpp/include/rclcpp/wait_set_policies/dynamic_storage.hpp index 907fc86..f930ab4 100644 --- a/rclcpp/include/rclcpp/wait_set_policies/dynamic_storage.hpp +++ b/rclcpp/include/rclcpp/wait_set_policies/dynamic_storage.hpp @@ -52,9 +52,9 @@ public: /// Conversion constructor, which is intentionally not marked explicit. SubscriptionEntry( - const std::shared_ptr & subscription_in = nullptr, + std::shared_ptr subscription_in = nullptr, const rclcpp::SubscriptionWaitSetMask & mask_in = {}) - : subscription(subscription_in), + : subscription(std::move(subscription_in)), mask(mask_in) {} @@ -117,10 +117,10 @@ public: /// Conversion constructor, which is intentionally not marked explicit. WaitableEntry( - const std::shared_ptr & waitable_in = nullptr, - const std::shared_ptr & associated_entity_in = nullptr) noexcept - : waitable(waitable_in), - associated_entity(associated_entity_in) + std::shared_ptr waitable_in = nullptr, + std::shared_ptr associated_entity_in = nullptr) noexcept + : waitable(std::move(waitable_in)), + associated_entity(std::move(associated_entity_in)) {} void diff --git a/rclcpp/include/rclcpp/wait_set_policies/static_storage.hpp b/rclcpp/include/rclcpp/wait_set_policies/static_storage.hpp index d4d6c0c..434947c 100644 --- a/rclcpp/include/rclcpp/wait_set_policies/static_storage.hpp +++ b/rclcpp/include/rclcpp/wait_set_policies/static_storage.hpp @@ -17,6 +17,7 @@ #include #include +#include #include "rclcpp/client.hpp" #include "rclcpp/guard_condition.hpp" @@ -60,9 +61,9 @@ public: /// Conversion constructor, which is intentionally not marked explicit. SubscriptionEntry( - const std::shared_ptr & subscription_in = nullptr, - const rclcpp::SubscriptionWaitSetMask & mask_in = {}) - : subscription(subscription_in), + std::shared_ptr subscription_in = nullptr, + rclcpp::SubscriptionWaitSetMask mask_in = {}) + : subscription(std::move(subscription_in)), mask(mask_in) {} }; @@ -100,10 +101,10 @@ public: { /// Conversion constructor, which is intentionally not marked explicit. WaitableEntry( - const std::shared_ptr & waitable_in = nullptr, - const std::shared_ptr & associated_entity_in = nullptr) noexcept - : waitable(waitable_in), - associated_entity(associated_entity_in) + std::shared_ptr waitable_in = nullptr, + std::shared_ptr associated_entity_in = nullptr) noexcept + : waitable(std::move(waitable_in)), + associated_entity(std::move(associated_entity_in)) {} std::shared_ptr waitable;