rclcpp  master
C++ ROS Client Library API
Public Types | Public Member Functions | List of all members
rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT > Class Template Reference

#include <intra_process_buffer.hpp>

Inheritance diagram for rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >:
Inheritance graph
[legend]
Collaboration diagram for rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >:
Collaboration graph
[legend]

Public Types

using MessageAllocTraits = allocator::AllocRebind< MessageT, Alloc >
 
using MessageAlloc = typename MessageAllocTraits::allocator_type
 
using MessageUniquePtr = std::unique_ptr< MessageT, MessageDeleter >
 
using MessageSharedPtr = std::shared_ptr< const MessageT >
 
- Public Types inherited from rclcpp::experimental::buffers::IntraProcessBuffer< MessageT, std::allocator< void >, std::default_delete< MessageT > >
using MessageUniquePtr = std::unique_ptr< MessageT, std::default_delete< MessageT > >
 
using MessageSharedPtr = std::shared_ptr< const MessageT >
 

Public Member Functions

 TypedIntraProcessBuffer (std::unique_ptr< BufferImplementationBase< BufferT >> buffer_impl, std::shared_ptr< Alloc > allocator=nullptr)
 
virtual ~TypedIntraProcessBuffer ()
 
void add_shared (MessageSharedPtr msg) override
 
void add_unique (MessageUniquePtr msg) override
 
MessageSharedPtr consume_shared () override
 
MessageUniquePtr consume_unique () override
 
bool has_data () const override
 
void clear () override
 
bool use_take_shared_method () const override
 
- Public Member Functions inherited from rclcpp::experimental::buffers::IntraProcessBuffer< MessageT, std::allocator< void >, std::default_delete< MessageT > >
virtual ~IntraProcessBuffer ()
 
virtual void add_unique (MessageUniquePtr msg)=0
 
- Public Member Functions inherited from rclcpp::experimental::buffers::IntraProcessBufferBase
virtual ~IntraProcessBufferBase ()
 

Member Typedef Documentation

◆ MessageAllocTraits

template<typename MessageT , typename Alloc = std::allocator<void>, typename MessageDeleter = std::default_delete<MessageT>, typename BufferT = std::unique_ptr<MessageT>>
using rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >::MessageAllocTraits = allocator::AllocRebind<MessageT, Alloc>

◆ MessageAlloc

template<typename MessageT , typename Alloc = std::allocator<void>, typename MessageDeleter = std::default_delete<MessageT>, typename BufferT = std::unique_ptr<MessageT>>
using rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >::MessageAlloc = typename MessageAllocTraits::allocator_type

◆ MessageUniquePtr

template<typename MessageT , typename Alloc = std::allocator<void>, typename MessageDeleter = std::default_delete<MessageT>, typename BufferT = std::unique_ptr<MessageT>>
using rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >::MessageUniquePtr = std::unique_ptr<MessageT, MessageDeleter>

◆ MessageSharedPtr

template<typename MessageT , typename Alloc = std::allocator<void>, typename MessageDeleter = std::default_delete<MessageT>, typename BufferT = std::unique_ptr<MessageT>>
using rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >::MessageSharedPtr = std::shared_ptr<const MessageT>

Constructor & Destructor Documentation

◆ TypedIntraProcessBuffer()

template<typename MessageT , typename Alloc = std::allocator<void>, typename MessageDeleter = std::default_delete<MessageT>, typename BufferT = std::unique_ptr<MessageT>>
rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >::TypedIntraProcessBuffer ( std::unique_ptr< BufferImplementationBase< BufferT >>  buffer_impl,
std::shared_ptr< Alloc >  allocator = nullptr 
)
inlineexplicit

◆ ~TypedIntraProcessBuffer()

template<typename MessageT , typename Alloc = std::allocator<void>, typename MessageDeleter = std::default_delete<MessageT>, typename BufferT = std::unique_ptr<MessageT>>
virtual rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >::~TypedIntraProcessBuffer ( )
inlinevirtual

Member Function Documentation

◆ add_shared()

template<typename MessageT , typename Alloc = std::allocator<void>, typename MessageDeleter = std::default_delete<MessageT>, typename BufferT = std::unique_ptr<MessageT>>
void rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >::add_shared ( MessageSharedPtr  msg)
inlineoverridevirtual

◆ add_unique()

template<typename MessageT , typename Alloc = std::allocator<void>, typename MessageDeleter = std::default_delete<MessageT>, typename BufferT = std::unique_ptr<MessageT>>
void rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >::add_unique ( MessageUniquePtr  msg)
inlineoverride

◆ consume_shared()

template<typename MessageT , typename Alloc = std::allocator<void>, typename MessageDeleter = std::default_delete<MessageT>, typename BufferT = std::unique_ptr<MessageT>>
MessageSharedPtr rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >::consume_shared ( )
inlineoverridevirtual

◆ consume_unique()

template<typename MessageT , typename Alloc = std::allocator<void>, typename MessageDeleter = std::default_delete<MessageT>, typename BufferT = std::unique_ptr<MessageT>>
MessageUniquePtr rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >::consume_unique ( )
inlineoverridevirtual

◆ has_data()

template<typename MessageT , typename Alloc = std::allocator<void>, typename MessageDeleter = std::default_delete<MessageT>, typename BufferT = std::unique_ptr<MessageT>>
bool rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >::has_data ( ) const
inlineoverridevirtual

◆ clear()

template<typename MessageT , typename Alloc = std::allocator<void>, typename MessageDeleter = std::default_delete<MessageT>, typename BufferT = std::unique_ptr<MessageT>>
void rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >::clear ( )
inlineoverridevirtual

◆ use_take_shared_method()

template<typename MessageT , typename Alloc = std::allocator<void>, typename MessageDeleter = std::default_delete<MessageT>, typename BufferT = std::unique_ptr<MessageT>>
bool rclcpp::experimental::buffers::TypedIntraProcessBuffer< MessageT, Alloc, MessageDeleter, BufferT >::use_take_shared_method ( ) const
inlineoverridevirtual

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