Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/meta/tuple-record-init.hpp"
Concrete specialisation to build a std::tuple from a sequence of GenNode elements, with run-time type compatibility check.
Record<GenNode>
as argument. The embedded template Access<i>
will be initialised with (a reference) to the source record, followed by an attempt to convert it to the individual member type at position i within the target tuple. error::Invalid | when the number of types within the target exceeds the number of children within the source record. LUMIERA_ERROR_INDEX_BOUNDS |
error::Invalid | when some source GenNode element can not be sensibly converted to the corresponding type in the target tuple. LUMIERA_ERROR_WRONG_TYPE |
Definition at line 195 of file tuple-record-init.hpp.
Public Types | |
template<size_t i> | |
using | TargetType = typename Pick< Types< TYPES... >, i >::Type |
Classes | |
struct | Access |
Definition at line 198 of file tuple-record-init.hpp.