Public Types | Public Member Functions | Protected Types | Protected Member Functions | Private Attributes | Friends | List of all members
fkie_message_filters::combiner_policies::PolicyBase< IOs > Class Template Referenceabstract

Base class for combiner policies. More...

#include <policy_base.h>

Public Types

using EmitterCB = std::function< void(const OutgoingTuple &)>
 Callback for assembled outputs. More...
 
using IncomingTuples = std::tuple< helpers::io_tuple_t< IOs >... >
 Tuple type of incoming data tuples. More...
 
using OutgoingTuple = helpers::io_tuple_t< helpers::io_concat_t< IOs... > >
 Combined tuple type for data output. More...
 

Public Member Functions

virtual ~PolicyBase ()
 

Protected Types

using MaybeOutgoingTuples = std::tuple< boost::optional< helpers::io_tuple_t< IOs > >... >
 Tuple of outgoing tuple candidates. More...
 

Protected Member Functions

void emit (const OutgoingTuple &out)
 Emit data. More...
 
virtual void reset () noexcept=0
 Reset internal state. More...
 
void set_emitter_callback (const EmitterCB &) noexcept
 Set output function. More...
 

Private Attributes

EmitterCB emit_
 

Friends

template<template< typename... > class, class... >
class fkie_message_filters::Combiner
 

Detailed Description

template<class... IOs>
class fkie_message_filters::combiner_policies::PolicyBase< IOs >

Base class for combiner policies.

Definition at line 37 of file policy_base.h.

Member Typedef Documentation

◆ EmitterCB

template<class... IOs>
using fkie_message_filters::combiner_policies::PolicyBase< IOs >::EmitterCB = std::function<void(const OutgoingTuple&)>

Callback for assembled outputs.

Definition at line 46 of file policy_base.h.

◆ IncomingTuples

template<class... IOs>
using fkie_message_filters::combiner_policies::PolicyBase< IOs >::IncomingTuples = std::tuple<helpers::io_tuple_t<IOs>...>

Tuple type of incoming data tuples.

Definition at line 42 of file policy_base.h.

◆ MaybeOutgoingTuples

template<class... IOs>
using fkie_message_filters::combiner_policies::PolicyBase< IOs >::MaybeOutgoingTuples = std::tuple<boost::optional<helpers::io_tuple_t<IOs> >...>
protected

Tuple of outgoing tuple candidates.

This is basically a tuple of optionals, so elements can remain empty until a suitable data element has been found by the policy.

Definition at line 64 of file policy_base.h.

◆ OutgoingTuple

Combined tuple type for data output.

Definition at line 44 of file policy_base.h.

Constructor & Destructor Documentation

◆ ~PolicyBase()

template<class... IOs>
virtual fkie_message_filters::combiner_policies::PolicyBase< IOs >::~PolicyBase ( )
inlinevirtual

Definition at line 47 of file policy_base.h.

Member Function Documentation

◆ emit()

template<class... IOs>
void fkie_message_filters::combiner_policies::PolicyBase< IOs >::emit ( const OutgoingTuple out)
protected

Emit data.

This returns combined data back to the Combiner class.

Definition at line 38 of file policy_base_impl.h.

◆ reset()

template<class... IOs>
virtual void fkie_message_filters::combiner_policies::PolicyBase< IOs >::reset ( )
protectedpure virtualnoexcept

◆ set_emitter_callback()

template<class... IOs>
void fkie_message_filters::combiner_policies::PolicyBase< IOs >::set_emitter_callback ( const EmitterCB cb)
protectednoexcept

Set output function.

This function is called by the policy whenever it has output ready to be passed on.

Definition at line 32 of file policy_base_impl.h.

Friends And Related Function Documentation

◆ fkie_message_filters::Combiner

template<class... IOs>
template<template< typename... > class, class... >
friend class fkie_message_filters::Combiner
friend

Definition at line 40 of file policy_base.h.

Member Data Documentation

◆ emit_

template<class... IOs>
EmitterCB fkie_message_filters::combiner_policies::PolicyBase< IOs >::emit_
private

Definition at line 71 of file policy_base.h.


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


fkie_message_filters
Author(s): Timo Röhling
autogenerated on Mon Feb 28 2022 22:21:44