|
template<typename... TArgs> |
INLINE auto | makeTuple (TArgs &&... args) |
| Creates a tuple from a pack of values, utilizing type deduction. More...
|
|
template<typename... TArgs> |
INLINE Tuple< TArgs &... > | tieToTuple (TArgs &... args) |
| Creates a tuple of l-value references. Use IGNORE placeholder to omit one or more parameters. More...
|
|
template<typename... TArgs> |
INLINE Tuple< TArgs &&... > | forwardAsTuple (TArgs &&... args) |
|
template<typename... Ts1, typename... Ts2, std::size_t... TIdxs> |
constexpr INLINE Tuple< Ts1..., Ts2... > | Detail::appendImpl (const Tuple< Ts1... > &tuple, std::index_sequence< TIdxs... >, Ts2 &&... values) |
|
template<typename... Ts1, typename... Ts2, std::size_t... TIdxs> |
constexpr INLINE Tuple< Ts1..., Ts2... > | Detail::appendImpl (Tuple< Ts1... > &&tuple, std::index_sequence< TIdxs... >, Ts2 &&... values) |
|
template<typename... Ts1, typename... Ts2, std::size_t... TIdxs1, std::size_t... TIdxs2> |
constexpr INLINE Tuple< Ts1..., Ts2... > | Detail::appendImpl (const Tuple< Ts1... > &t1, const Tuple< Ts2... > &t2, std::index_sequence< TIdxs1... >, std::index_sequence< TIdxs2... >) |
|
template<typename... Ts1, typename... Ts2> |
constexpr INLINE Tuple< Ts1..., Ts2... > | append (const Tuple< Ts1... > &tuple, Ts2 &&... values) |
|
template<typename... Ts1, typename... Ts2> |
constexpr INLINE Tuple< Ts1..., Ts2... > | append (Tuple< Ts1... > &&tuple, Ts2 &&... values) |
| Creates a tuple by moving elements of existing tuple and appending pack of values. More...
|
|
template<typename... Ts1, typename... Ts2> |
constexpr INLINE Tuple< Ts1..., Ts2... > | append (const Tuple< Ts1... > &t1, const Tuple< Ts2... > &t2) |
| Creates elements of two tuples. More...
|
|
template<typename TFunctor , typename... TArgs> |
INLINE void | forEach (Tuple< TArgs... > &tuple, TFunctor &&functor) |
|
template<typename TFunctor , typename... TArgs> |
INLINE void | forEach (const Tuple< TArgs... > &tuple, TFunctor &&functor) |
| For loop to iterate over tuple, const version. More...
|
|
template<typename TFunctor , typename... TArgs> |
INLINE void | forEach (Tuple< TArgs... > &&tuple, TFunctor &&functor) |
| For loop to iterate over r-value reference of tuple. Values are moved into the functor. More...
|
|
template<template< class T > class TTrait, typename TFunctor , typename... TArgs> |
INLINE void | forEachIf (Tuple< TArgs... > &tuple, TFunctor &&functor) |
| Iterates over elements of the tuple and executes a functor if given type traits has value == true. More...
|
|
template<template< class T > class TTrait, typename TFunctor , typename... TArgs> |
INLINE void | forEachIf (const Tuple< TArgs... > &tuple, TFunctor &&functor) |
|
template<typename TFunctor , typename TTuple , std::size_t... TIndices> |
decltype(auto) INLINE | Detail::applyImpl (TTuple &&tuple, TFunctor &&functor, std::index_sequence< TIndices... >) |
|
template<typename TFunctor , typename... TArgs> |
decltype(auto) INLINE | apply (Tuple< TArgs... > &tuple, TFunctor &&functor) |
| Expands arguments stored in tuple into parameter pack of a functor. More...
|
|
template<typename TFunctor , typename... TArgs> |
decltype(auto) INLINE | apply (const Tuple< TArgs... > &tuple, TFunctor &&functor) |
| Expands arguments stored in tuple into parameter pack of a functor, const version. More...
|
|
template<typename TFunctor , typename... TArgs> |
decltype(auto) INLINE | apply (Tuple< TArgs... > &&tuple, TFunctor &&functor) |
| Expands arguments stored in r-value reference of tuple into parameter pack of a functor. More...
|
|
Re-implementation of std::tuple with some additional functionality.
- Author
- Pavel Sevecek (sevecek at sirrah.troja.mff.cuni.cz)
- Date
- 2016-2021
Definition in file Tuple.h.