SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
A reduce operation for tuples of typenames. More...
#include <TupleTraits.h>
Public Types | |
using | type = typename std::conditional< std::tuple_size< Tuple >::value==0, Start, typename detail::tuple_reduce_ii< std::tuple_size< Tuple >::value, Start, Reducer, Tuple >::type >::type |
A reduce operation for tuples of typenames.
Each type in the Tuple is passed to the Reducer as its first argument. The second argument to the Reducer is initially the Start type but in subsequent calls to the Reducer, it is the type generated by the Reducer invocation from the prior Tuple entry.
For example, given
the Reduced
type is the result of
If the Tuple is empty, then Start is passed as the result.