|
FKIE Message Filters
Improved filters for processing ROS messages
|
Group multiple data types as filter input or output. More...
#include <fkie_message_filters/types.hpp>
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. | |
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:
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.