ROS 2 rclcpp + rcl - kilted  kilted
ROS 2 C++ Client Library with ROS Client Library
Classes | Protected Types | Protected Member Functions | Static Protected Member Functions | List of all members
rclcpp::wait_set_policies::DynamicStorage Class Reference

WaitSet policy that provides dynamically sized storage. More...

#include <rclcpp/wait_set_policies/dynamic_storage.hpp>

Inheritance diagram for rclcpp::wait_set_policies::DynamicStorage:
Inheritance graph
[legend]
Collaboration diagram for rclcpp::wait_set_policies::DynamicStorage:
Collaboration graph
[legend]

Classes

class  SubscriptionEntry
 
class  WaitableEntry
 
class  WeakSubscriptionEntry
 
class  WeakWaitableEntry
 

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 SequenceOfWeakTimers = std::vector< std::weak_ptr< rclcpp::TimerBase > >
 
using TimersIterable = std::vector< std::shared_ptr< rclcpp::TimerBase > >
 
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 Member Functions

template<class ArrayOfExtraGuardConditions >
 DynamicStorage (const SubscriptionsIterable &subscriptions, const GuardConditionsIterable &guard_conditions, const ArrayOfExtraGuardConditions &extra_guard_conditions, const TimersIterable &timers, const ClientsIterable &clients, const ServicesIterable &services, const WaitablesIterable &waitables, rclcpp::Context::SharedPtr context)
 
template<class ArrayOfExtraGuardConditions >
void storage_rebuild_rcl_wait_set (const ArrayOfExtraGuardConditions &extra_guard_conditions)
 
void storage_add_subscription (std::shared_ptr< rclcpp::SubscriptionBase > &&subscription)
 
void storage_remove_subscription (std::shared_ptr< rclcpp::SubscriptionBase > &&subscription)
 
void storage_add_guard_condition (std::shared_ptr< rclcpp::GuardCondition > &&guard_condition)
 
void storage_remove_guard_condition (std::shared_ptr< rclcpp::GuardCondition > &&guard_condition)
 
void storage_add_timer (std::shared_ptr< rclcpp::TimerBase > &&timer)
 
void storage_remove_timer (std::shared_ptr< rclcpp::TimerBase > &&timer)
 
void storage_add_client (std::shared_ptr< rclcpp::ClientBase > &&client)
 
void storage_remove_client (std::shared_ptr< rclcpp::ClientBase > &&client)
 
void storage_add_service (std::shared_ptr< rclcpp::ServiceBase > &&service)
 
void storage_remove_service (std::shared_ptr< rclcpp::ServiceBase > &&service)
 
void storage_add_waitable (std::shared_ptr< rclcpp::Waitable > &&waitable, std::shared_ptr< void > &&associated_entity)
 
void storage_remove_waitable (std::shared_ptr< rclcpp::Waitable > &&waitable)
 
void storage_prune_deleted_entities () noexcept
 
void storage_acquire_ownerships ()
 
void storage_release_ownerships ()
 
size_t size_of_subscriptions () const
 
size_t size_of_timers () const
 
size_t size_of_clients () const
 
size_t size_of_services () const
 
size_t size_of_waitables () const
 
std::shared_ptr< rclcpp::SubscriptionBasesubscriptions (size_t ii) const
 
std::shared_ptr< rclcpp::TimerBasetimers (size_t ii) const
 
std::shared_ptr< rclcpp::ClientBaseclients (size_t ii) const
 
std::shared_ptr< rclcpp::ServiceBaseservices (size_t ii) const
 
std::shared_ptr< rclcpp::Waitablewaitables (size_t ii) const
 
- Protected Member Functions inherited from rclcpp::wait_set_policies::detail::StoragePolicyCommon< false >
 StoragePolicyCommon (const SubscriptionsIterable &subscriptions, const GuardConditionsIterable &guard_conditions, const ExtraGuardConditionsIterable &extra_guard_conditions, const TimersIterable &timers, const ClientsIterable &clients, const ServicesIterable &services, const WaitablesIterable &waitables, rclcpp::Context::SharedPtr context)
 
std::pair< void *, EntityT * > get_raw_pointer_from_smart_pointer (const std::shared_ptr< EntityT > &shared_pointer)
 
std::pair< std::shared_ptr< EntityT >, EntityT * > get_raw_pointer_from_smart_pointer (const std::weak_ptr< EntityT > &weak_pointer)
 
void storage_rebuild_rcl_wait_set_with_sets (const SubscriptionsIterable &subscriptions, const GuardConditionsIterable &guard_conditions, const ExtraGuardConditionsIterable &extra_guard_conditions, const TimersIterable &timers, const ClientsIterable &clients, const ServicesIterable &services, const WaitablesIterable &waitables)
 Rebuild the wait set, preparing it for the next wait call. More...
 
const rcl_wait_set_tstorage_get_rcl_wait_set () const
 
rcl_wait_set_tstorage_get_rcl_wait_set ()
 
void storage_flag_for_resize ()
 
size_t size_of_subscriptions () const
 
size_t size_of_timers () const
 
size_t size_of_clients () const
 
size_t size_of_services () const
 
size_t size_of_waitables () const
 
SubscriptionsIterable::value_type subscriptions (size_t) const
 
TimersIterable::value_type timers (size_t) const
 
ClientsIterable::value_type clients (size_t) const
 
ServicesIterable::value_type services (size_t) const
 
WaitablesIterable::value_type waitables (size_t) const
 

Static Protected Member Functions

template<class EntityT , class SequenceOfEntitiesT >
static bool storage_has_entity (const EntityT &entity, const SequenceOfEntitiesT &entities)
 
template<class EntityT , class SequenceOfEntitiesT >
static auto storage_find_entity (const EntityT &entity, const SequenceOfEntitiesT &entities)
 

Additional Inherited Members

- Protected Attributes inherited from rclcpp::wait_set_policies::detail::StoragePolicyCommon< false >
rcl_wait_set_t rcl_wait_set_
 
rclcpp::Context::SharedPtr context_
 
bool needs_pruning_
 
bool needs_resize_
 

Detailed Description

WaitSet policy that provides dynamically sized storage.

Definition at line 40 of file dynamic_storage.hpp.


The documentation for this class was generated from the following file: