fennec
Loading...
Searching...
No Matches
Metasequences

This header is part of the metaprogramming library. It defines structures for metasequences of values, used during compile time.

Syntax

Description


metasequence<ValueT, Values...>

Stores a sequence of values of type ValueT as a template pack. You can access the parameter pack in another template function, i.e.

template<typename TypeT, TypeT...Values>
constexpr TypeT summation(metasequence<TypeT, Values...>)
{
return (Values + ...);
}
Template Parameters
ValueTtype of the values
Valuessequence values

integer_metasequence<IntT, Values...>
typename make_integer_metasequence<IntT, N>::type
make_integer_metasequence_t<IntT, N>

A fennec::metasequence specialized integer types.

Template Parameters
IntTtype of the values, must satisfy fennec::is_integral<T>
Valuessequence values

index_metasequence<Indices...>
typename make_index_metasequence<N>::type
make_index_metasequence_t<N>

A fennec::integer_metasequence specialized for sequences of size_t indices.

Template Parameters
Indicessequence values

typename concat_metasequence<metasequenceT0, metasequenceT1>::type
concat_metasequence_t<metasequenceT0, metasequenceT1>

A tool for concatenating two fennec::metasequence types.

Template Parameters
SequenceT0lhs
SequenceT1rhs