Go to the documentation of this file.
21 #ifndef INCLUDE_FKIE_MESSAGE_FILTERS_COMBINER_POLICIES_POLICY_BASE_H_
22 #define INCLUDE_FKIE_MESSAGE_FILTERS_COMBINER_POLICIES_POLICY_BASE_H_
25 #include <boost/optional.hpp>
30 template<
template<
typename...>
class,
class...>
class Combiner;
32 namespace combiner_policies
36 template<
class... IOs>
42 using IncomingTuples = std::tuple<helpers::io_tuple_t<IOs>...>;
46 using EmitterCB = std::function<void(
const OutgoingTuple&)>;
47 virtual ~PolicyBase() {}
53 void set_emitter_callback(
const EmitterCB&) noexcept;
58 virtual void reset() noexcept = 0;
77 #include "policy_base_impl.h"
std::function< void(const OutgoingTuple &)> EmitterCB
Callback for assembled outputs.
Combine multiple sources into a single one.
helpers::io_tuple_t< helpers::io_concat_t< IOs... > > OutgoingTuple
Combined tuple type for data output.
std::tuple< boost::optional< helpers::io_tuple_t< IOs > >... > MaybeOutgoingTuples
Tuple of outgoing tuple candidates.
typename io_tuple< IO >::type io_tuple_t
typename io_concat< Ts... >::type io_concat_t