Horizon
Loading...
Searching...
No Matches
Integer sequence

Equivalent to C++14's std::integer_sequence. More...

Classes

struct  meta::integer_sequence< T, Is >
 A container for a sequence of compile-time integer constants. More...

Typedefs

template<std::size_t N>
using meta::size_t = std::integral_constant<std::size_t, N>
 An integral constant wrapper for std::size_t.
template<bool B>
using meta::bool_ = std::integral_constant<bool, B>
 An integral constant wrapper for bool.
template<int I>
using meta::int_ = std::integral_constant<int, I>
 An integral constant wrapper for int.
template<char Ch>
using meta::char_ = std::integral_constant<char, Ch>
 An integral constant wrapper for char.
template<std::size_t... Is>
using meta::index_sequence = integer_sequence<std::size_t, Is...>
 A container for a sequence of compile-time integer constants of type std::size_t.
template<std::size_t N>
using meta::make_index_sequence
 Generate index_sequence containing integer constants [0,1,2,...,N-1].
template<typename T, T N>
using meta::make_integer_sequence
 Generate integer_sequence containing integer constants [0,1,2,...,N-1].
template<typename T, T From, T To>
using meta::integer_range
 Makes the integer sequence [From, To).

Functions

template<char... Chs>
constexpr fold< list< char_< Chs >... >, meta::size_t< 0 >, quote< detail::atoi_ > > meta::operator""_z ()
 A user-defined literal that generates objects of type meta::size_t.

Detailed Description

Equivalent to C++14's std::integer_sequence.

Typedef Documentation

◆ integer_range

template<typename T, T From, T To>
using meta::integer_range
Initial value:
_t<detail::coerce_indices_<T, From,
make_index_sequence<detail::range_distance_(From, To)>>>
_t< detail::make_indices_< N, index_sequence< 0 >, detail::strategy_(1, N)> > make_index_sequence
Generate index_sequence containing integer constants [0,1,2,...,N-1].
Definition meta.hpp:472
typename T::type _t
Type alias for T::type.
Definition meta.hpp:141

Makes the integer sequence [From, To).

Complexity
O(log(To - From)).

◆ make_index_sequence

template<std::size_t N>
using meta::make_index_sequence
Initial value:

Generate index_sequence containing integer constants [0,1,2,...,N-1].

Complexity
O(log(N)).

◆ make_integer_sequence

template<typename T, T N>
using meta::make_integer_sequence
Initial value:

Generate integer_sequence containing integer constants [0,1,2,...,N-1].

Complexity
O(log(N)).