Range-v3
Range algorithms, views, and actions for the Standard Library
 
Loading...
Searching...
No Matches
list_like

Topics

 lazy
 
 

Classes

struct  meta::list< Ts >
 A list of types. More...
 

Typedefs

template<typename Sequence >
using meta::as_list = _t<detail::as_list_<detail::uncvref_t<Sequence>>>
 Turn a type into an instance of meta::list in a way determined by meta::apply.
 
template<list_like L, integral N>
using meta::at = at_c<L, N::type::value>
 Return the N th element in the meta::list L.
 
template<list_like L, std::size_t N>
using meta::at_c = _t<detail::at_<L, N>>
 Return the N th element in the meta::list L.
 
template<list_like L>
using meta::back = _t<detail::back_<L>>
 Return the last element in meta::list L.
 
template<list_like L>
using meta::empty = bool_<0 == size<L>::type::value>
 An Boolean integral constant wrapper around true if L is an empty type list; false, otherwise.
 
template<typename Pair >
using meta::first = front<Pair>
 Retrieve the first element of the pair Pair.
 
template<list_like L>
using meta::front = _t<detail::front_<L>>
 Return the first element in meta::list L.
 
using meta::npos = meta::size_t<std::size_t(-1)>
 A special value used to indicate no matches. It equals the maximum value representable by std::size_t.
 
template<typename F , typename S >
using meta::pair = list<F, S>
 A list with exactly two elements.
 
template<integral N, typename T = void>
using meta::repeat_n = repeat_n_c<N::type::value, T>
 Generate list<T,T,T...T> of size N arguments.
 
template<std::size_t N, typename T = void>
using meta::repeat_n_c = _t<detail::repeat_n_c_<T, make_index_sequence<N>>>
 Generate list<T,T,T...T> of size N arguments.
 
template<typename Pair >
using meta::second = front<pop_front<Pair>>
 Retrieve the first element of the pair Pair.
 
template<list_like L>
using meta::size = meta::size_t<L::size()>
 An integral constant wrapper that is the size of the meta::list L.
 

Detailed Description

Typedef Documentation

◆ at

template<list_like L, integral N>
using meta::at = at_c<L, N::type::value>

#include <meta/meta.hpp>

Return the N th element in the meta::list L.

Complexity
Amortized O(1).

◆ at_c

template<list_like L, std::size_t N>
using meta::at_c = _t<detail::at_<L, N>>

#include <meta/meta.hpp>

Return the N th element in the meta::list L.

Complexity
Amortized O(1).

◆ back

template<list_like L>
using meta::back = _t<detail::back_<L>>

#include <meta/meta.hpp>

Return the last element in meta::list L.

Complexity
Amortized O(1).

◆ empty

template<list_like L>
using meta::empty = bool_<0 == size<L>::type::value>

#include <meta/meta.hpp>

An Boolean integral constant wrapper around true if L is an empty type list; false, otherwise.

Complexity
O(1).

◆ front

template<list_like L>
using meta::front = _t<detail::front_<L>>

#include <meta/meta.hpp>

Return the first element in meta::list L.

Complexity
O(1).

◆ repeat_n

template<integral N, typename T = void>
using meta::repeat_n = repeat_n_c<N::type::value, T>
related

#include <meta/meta.hpp>

Generate list<T,T,T...T> of size N arguments.

Complexity
O(log N).

◆ repeat_n_c

template<std::size_t N, typename T = void>
using meta::repeat_n_c = _t<detail::repeat_n_c_<T, make_index_sequence<N>>>

#include <meta/meta.hpp>

Generate list<T,T,T...T> of size N arguments.

Complexity
O(log N).