|
| template<std::size_t I = 0UL, typename Callable , typename ... TypesT> |
| COMMON_PUBLIC std::enable_if_t< I==sizeof...(TypesT)> | visit (std::tuple< TypesT... > &, Callable) |
| | Visit every element in a tuple. More...
|
| |
| template<std::size_t I = 0UL, typename Callable , typename ... TypesT> |
| COMMON_PUBLIC std::enable_if_t< I==sizeof...(TypesT)> | visit (const std::tuple< TypesT... > &, Callable) |
| | Same as the previous specialization but for const tuple. More...
|
| |
| template<std::size_t I = 0UL, typename Callable , typename ... TypesT> |
| COMMON_PUBLIC std::enable_if_t< I !=sizeof...(TypesT)> | visit (std::tuple< TypesT... > &tuple, Callable callable) |
| | Visit every element in a tuple. More...
|
| |
| template<std::size_t I = 0UL, typename Callable , typename ... TypesT> |
| COMMON_PUBLIC std::enable_if_t< I !=sizeof...(TypesT)> | visit (const std::tuple< TypesT... > &tuple, Callable callable) |
| | Same as the previous specialization but for const tuple. More...
|
| |
template<std::size_t I = 0UL, typename Callable , typename ... TypesT>
| COMMON_PUBLIC std::enable_if_t<I != sizeof...(TypesT)> autoware::common::type_traits::visit |
( |
std::tuple< TypesT... > & |
tuple, |
|
|
Callable |
callable |
|
) |
| |
|
inline |
Visit every element in a tuple.
This specialization is used to apply the callable to an element of a tuple and recursively call this function on the next one.
- Parameters
-
| tuple | The tuple instance |
| [in] | callable | A callable, usually a lambda with one auto input parameter. |
- Template Parameters
-
| I | Current index. |
| Callable | Callable type, usually a lambda with one auto input parameter. |
| TypesT | Types in the tuple. |
- Returns
- Does not return anything. Capture variables in a lambda to return any values.