Class DynamicStorage
Defined in File dynamic_storage.hpp
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public rclcpp::wait_set_policies::detail::StoragePolicyCommon< false >
(Template Class StoragePolicyCommon)
Derived Type
private rclcpp::WaitSetTemplate< rclcpp::wait_set_policies::SequentialSynchronization, rclcpp::wait_set_policies::DynamicStorage >
(Template Class WaitSetTemplate)
Class Documentation
-
class DynamicStorage : public rclcpp::wait_set_policies::detail::StoragePolicyCommon<false>
WaitSet policy that provides dynamically sized storage.
Subclassed by rclcpp::WaitSetTemplate< rclcpp::wait_set_policies::SequentialSynchronization, rclcpp::wait_set_policies::DynamicStorage >
Protected Types
-
using is_mutable = std::true_type
-
using SequenceOfWeakSubscriptions = std::vector<WeakSubscriptionEntry>
-
using SubscriptionsIterable = std::vector<SubscriptionEntry>
-
using SequenceOfWeakGuardConditions = std::vector<std::weak_ptr<rclcpp::GuardCondition>>
-
using GuardConditionsIterable = std::vector<std::shared_ptr<rclcpp::GuardCondition>>
-
using SequenceOfWeakClients = std::vector<std::weak_ptr<rclcpp::ClientBase>>
-
using ClientsIterable = std::vector<std::shared_ptr<rclcpp::ClientBase>>
-
using SequenceOfWeakServices = std::vector<std::weak_ptr<rclcpp::ServiceBase>>
-
using ServicesIterable = std::vector<std::shared_ptr<rclcpp::ServiceBase>>
-
using SequenceOfWeakWaitables = std::vector<WeakWaitableEntry>
-
using WaitablesIterable = std::vector<WaitableEntry>
Protected Functions
-
~DynamicStorage() = default
-
template<class ArrayOfExtraGuardConditions>
inline void storage_rebuild_rcl_wait_set(const ArrayOfExtraGuardConditions &extra_guard_conditions)
-
inline void storage_prune_deleted_entities() noexcept
-
inline void storage_acquire_ownerships()
-
inline void storage_release_ownerships()
-
inline size_t size_of_subscriptions() const
-
inline size_t size_of_timers() const
-
inline size_t size_of_clients() const
-
inline size_t size_of_services() const
-
inline size_t size_of_waitables() const
-
inline std::shared_ptr<rclcpp::SubscriptionBase> subscriptions(size_t ii) const
-
inline std::shared_ptr<rclcpp::ClientBase> clients(size_t ii) const
-
inline std::shared_ptr<rclcpp::ServiceBase> services(size_t ii) const
Protected Attributes
-
size_t ownership_reference_counter_ = 0
-
SequenceOfWeakSubscriptions subscriptions_
-
SequenceOfWeakGuardConditions guard_conditions_
-
SequenceOfWeakTimers timers_
-
SequenceOfWeakClients clients_
-
SequenceOfWeakServices services_
-
SequenceOfWeakWaitables waitables_
Protected Static Functions
-
template<class EntityT, class SequenceOfEntitiesT>
static inline bool storage_has_entity(const EntityT &entity, const SequenceOfEntitiesT &entities)
-
template<class EntityT, class SequenceOfEntitiesT>
static inline auto storage_find_entity(const EntityT &entity, const SequenceOfEntitiesT &entities)
-
class SubscriptionEntry
Public Functions
Conversion constructor, which is intentionally not marked explicit.
-
inline void reset() noexcept
Public Members
-
std::shared_ptr<rclcpp::SubscriptionBase> subscription
-
rclcpp::SubscriptionWaitSetMask mask
-
class WaitableEntry
Public Functions
Conversion constructor, which is intentionally not marked explicit.
-
inline void reset() noexcept
-
class WeakSubscriptionEntry
Public Functions
-
inline explicit WeakSubscriptionEntry(const SubscriptionEntry &other)
-
inline std::shared_ptr<rclcpp::SubscriptionBase> lock() const
-
inline bool expired() const noexcept
Public Members
-
std::weak_ptr<rclcpp::SubscriptionBase> subscription
-
rclcpp::SubscriptionWaitSetMask mask
-
inline explicit WeakSubscriptionEntry(const SubscriptionEntry &other)
-
using is_mutable = std::true_type