18 #ifndef IOX_POSH_POPO_TYPED_SUBSCRIBER_HPP
19 #define IOX_POSH_POPO_TYPED_SUBSCRIBER_HPP
21 #include "iceoryx_posh/internal/popo/sample_deleter.hpp"
22 #include "iceoryx_posh/popo/base_subscriber.hpp"
28 template <
typename T,
typename H = iox::mepoo::NoUserHeader,
typename BaseSubscriber_t = BaseSubscriber<>>
32 static_assert(!std::is_void<T>::value,
"Type must not be void. Use the UntypedSubscriber for void types.");
49 cxx::expected<Sample<const T, const H>, ChunkReceiveResult>
take() noexcept;
51 using PortType =
typename BaseSubscriber_t::PortType;
55 using BaseSubscriber_t::port;
61 template <
typename T,
typename H = mepoo::NoUserHeader>
67 #include "iceoryx_posh/internal/popo/subscriber.inl"
class for the identification of a communication event including information on the service,...
Definition: service_description.hpp:86
base class for all types of subscriber
Definition: base_subscriber.hpp:51
const port_t & port() const noexcept
const accessor of the underlying port
Definition: base_subscriber.inl:199
Definition: subscriber.hpp:30
cxx::expected< Sample< const T, const H >, ChunkReceiveResult > take() noexcept
Take the samples from the top of the receive queue.
Definition: subscriber.inl:34
Definition: service_description.hpp:29
This struct is used to configure the subscriber.
Definition: subscriber_options.hpp:31