Public Types | List of all members
fkie_message_filters::IO< Types > Class Template Reference

Group multiple data types as filter input or output. More...

#include <io.h>

Public Types

template<template< typename... > class Outer>
using Rewrap = Outer< helpers::io_unwrap_t< Types >... >
 Rewrap the grouped data types in a different wrapper template type. More...
 
template<std::size_t... Is>
using Select = IO< typename std::tuple_element< Is, std::tuple< helpers::io_unwrap_t< Types >... > >::type... >
 Subset of the grouped data types. More...
 
using Tuple = std::tuple< helpers::io_unwrap_t< Types >... >
 Tuple of the grouped data types. More...
 
template<std::size_t N>
using Type = typename std::tuple_element< N, std::tuple< helpers::io_unwrap_t< Types >... > >::type
 Nth data type of an IO tuple. More...
 

Detailed Description

template<typename... Types>
class fkie_message_filters::IO< Types >

Group multiple data types as filter input or output.

This is a helper class to disambiguate filter definitions with N-ary inputs and outputs. Consider the following hypothetical example:

It is unclear which types refer to inputs and which refer to outputs. In contrast, consider:

Filter<IO<Type1>, IO<Type2, Type3>> flt1;
Filter<IO<Type1, Type2>, IO<Type3>> flt2;

This declaration makes it clear that the first filter accepts Type1 as input and will pass Type2 and Type3 as output, while the second filter will take Type1 and Type2 as input and pass Type3 as output.

Definition at line 27 of file io.h.

Member Typedef Documentation

◆ Rewrap

template<typename... Types>
template<template< typename... > class Outer>
using fkie_message_filters::IO< Types >::Rewrap = Outer<helpers::io_unwrap_t<Types>...>

Rewrap the grouped data types in a different wrapper template type.

Definition at line 62 of file types.h.

◆ Select

template<typename... Types>
template<std::size_t... Is>
using fkie_message_filters::IO< Types >::Select = IO<typename std::tuple_element<Is, std::tuple<helpers::io_unwrap_t<Types>...> >::type...>

Subset of the grouped data types.

Definition at line 59 of file types.h.

◆ Tuple

template<typename... Types>
using fkie_message_filters::IO< Types >::Tuple = std::tuple<helpers::io_unwrap_t<Types>...>

Tuple of the grouped data types.

Definition at line 53 of file types.h.

◆ Type

template<typename... Types>
template<std::size_t N>
using fkie_message_filters::IO< Types >::Type = typename std::tuple_element<N, std::tuple<helpers::io_unwrap_t<Types>...> >::type

Nth data type of an IO tuple.

Definition at line 56 of file types.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