Lumiera  0.pre.03
»edit your freedom«
BuildIndexSeq< n > Struct Template Reference

#include "lib/meta/variadic-helper.hpp"

Description

template<size_t n>
struct lib::meta::BuildIndexSeq< n >

build regular sequences of index number e.g.

IndexSeq<0, 1, 2, ..., n-1>

Definition at line 169 of file variadic-helper.hpp.

Public Types

template<size_t c>
using After = typename BuildIndexSeq<(n >c)? n-c :0 >::template OffsetBy< c >
 
using Ascending = typename BuildIndexSeq< n-1 >::Ascending::template AppendElm< n-1 >
 
using Descending = typename BuildIndexSeq< n-1 >::Descending::template PrependElm< n-1 >
 
template<size_t x>
using FilledWith = typename BuildIndexSeq< n-1 >::template FilledWith< x >::template AppendElm< x >
 
template<size_t c>
using First = typename BuildIndexSeq< min(c, n)>::Ascending
 
template<size_t d>
using OffsetBy = typename BuildIndexSeq< n-1 >::template OffsetBy< d >::template AppendElm< n-1+d >
 

Member Typedef Documentation

◆ Ascending

using Ascending = typename BuildIndexSeq<n-1>::Ascending::template AppendElm<n-1>

Definition at line 171 of file variadic-helper.hpp.

◆ Descending

using Descending = typename BuildIndexSeq<n-1>::Descending::template PrependElm<n-1>

Definition at line 172 of file variadic-helper.hpp.

◆ OffsetBy

using OffsetBy = typename BuildIndexSeq<n-1>::template OffsetBy<d>::template AppendElm<n-1+d>

Definition at line 175 of file variadic-helper.hpp.

◆ FilledWith

using FilledWith = typename BuildIndexSeq<n-1>::template FilledWith<x>::template AppendElm<x>

Definition at line 178 of file variadic-helper.hpp.

◆ First

using First = typename BuildIndexSeq<min(c,n)>::Ascending

Definition at line 181 of file variadic-helper.hpp.

◆ After

using After = typename BuildIndexSeq< (n>c)? n-c : 0>::template OffsetBy<c>

Definition at line 184 of file variadic-helper.hpp.

+ Collaboration diagram for BuildIndexSeq< n >:

The documentation for this struct was generated from the following file: