FKIE Message Filters
Improved filters for processing ROS messages
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 <fkie_message_filters/types.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.
 
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.
 
using Tuple = std::tuple< helpers::io_unwrap_t< Types >... >
 Tuple of the grouped data types.
 
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.
 

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:

Filter<Type1, Type2, Type3> flt;

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.


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