Template Class TypedIntraProcessBuffer

Inheritance Relationships

Base Type

Class Documentation

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

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 Functions

inline explicit TypedIntraProcessBuffer(std::unique_ptr<BufferImplementationBase<BufferT>> buffer_impl, std::shared_ptr<Alloc> allocator = nullptr)
inline virtual ~TypedIntraProcessBuffer()
inline virtual void add_shared(MessageSharedPtr msg) override
inline void add_unique(MessageUniquePtr msg) override
inline virtual MessageSharedPtr consume_shared() override
inline virtual MessageUniquePtr consume_unique() override
inline virtual bool has_data() const override
inline virtual void clear() override
inline virtual bool use_take_shared_method() const override