![]() |
Lumiera 0.pre.04
»edit your freedom«
|
#include "lib/meta/tuple-helper.hpp"
Extensible Adapter to construct a distinct tuple from some arbitrary source type.
This includes the possibility to re-map elements or element positions.
| TYPES | sequence of types to use for the tuple |
| _ElmMapper_ | a template to extract each constructor argument from the source value. On invocation, we'll pick up the source type from the actual ctor argument, and then invoke this helper template iteratively for each component of the tuple, passing as template arguments
|
_ElmMapper_ template. Required is that the concrete instance is constructible from the source type and convertible to the individual member type of the target tuple it is invoked for. Source data must be taken by-value, from the ctor argument. Definition at line 395 of file tuple-helper.hpp.
Public Types | |
| using | SequenceIterator = BuildIdxIter< TYPES >::Ascending |
| meta-sequence to drive instantiation of the ElmMapper | |
Static Public Member Functions | |
| template<size_t idx, class SRC > | |
| static auto | mapElm (SRC &&init) |
Public Member Functions | |
| template<class SRC > | |
| TupleConstructor (SRC &&values) | |
Protected Member Functions | |
| template<class SRC , size_t... idx> | |
| TupleConstructor (SRC &&initVals, IndexSeq< idx... >) | |
|
inlineprotected |
Definition at line 413 of file tuple-helper.hpp.
|
inline |
Definition at line 420 of file tuple-helper.hpp.
| using SequenceIterator = BuildIdxIter<TYPES>::Ascending |
meta-sequence to drive instantiation of the ElmMapper
Definition at line 399 of file tuple-helper.hpp.
| init | initialise an instance of the element-mapper |
Definition at line 403 of file tuple-helper.hpp.
Inheritance diagram for TupleConstructor< TYPES, _ElmMapper_ >:
Collaboration diagram for TupleConstructor< TYPES, _ElmMapper_ >: