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>
46 using EmitterCB = std::function<void(const OutgoingTuple&)>;
53 void set_emitter_callback(
const EmitterCB&) noexcept;
58 virtual void reset() noexcept = 0;
Base class for combiner policies.
std::tuple< helpers::io_tuple_t< IOs >... > IncomingTuples
Tuple type of incoming data tuples.
std::function< void(const OutgoingTuple &)> EmitterCB
Callback for assembled outputs.
std::tuple< boost::optional< helpers::io_tuple_t< IOs > >... > MaybeOutgoingTuples
Tuple of outgoing tuple candidates.
helpers::io_tuple_t< helpers::io_concat_t< IOs... > > OutgoingTuple
Combined tuple type for data output.
typename io_tuple< IO >::type io_tuple_t
Combine multiple sources into a single one.
typename io_concat< Ts... >::type io_concat_t