Range-v3
Range algorithms, views, and actions for the Standard Library
List

Description

Modules

 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<typename List , typename N >
using meta::at = at_c< List, N::type::value >
 Return the N th element in the meta::list List. More...
 
template<typename List , std::size_t N>
using meta::at_c = _t< detail::at_< List, N > >
 Return the N th element in the meta::list List. More...
 
template<typename List >
using meta::back = _t< detail::back_< List > >
 Return the last element in meta::list List. More...
 
template<typename List >
using meta::empty = bool_< 0==size< List >::type::value >
 An Boolean integral constant wrapper around true if List is an empty type list; false, otherwise. More...
 
template<typename Pair >
using meta::first = front< Pair >
 Retrieve the first element of the pair Pair.
 
template<typename List >
using meta::front = _t< detail::front_< List > >
 Return the first element in meta::list List. More...
 
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<typename 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. More...
 
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. More...
 
template<typename Pair >
using meta::second = front< pop_front< Pair > >
 Retrieve the first element of the pair Pair.
 
template<typename List >
using meta::size = meta::size_t< List::size()>
 An integral constant wrapper that is the size of the meta::list List.
 

Typedef Documentation

◆ at

template<typename List , typename N >
using meta::at = typedef at_c<List, N::type::value>

#include <meta/meta.hpp>

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

Complexity
Amortized $ O(1) $.

◆ at_c

template<typename List , std::size_t N>
using meta::at_c = typedef _t<detail::at_<List, N> >

#include <meta/meta.hpp>

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

Complexity
Amortized $ O(1) $.

◆ back

template<typename List >
using meta::back = typedef _t<detail::back_<List> >

#include <meta/meta.hpp>

Return the last element in meta::list List.

Complexity
Amortized $ O(1) $.

◆ empty

template<typename List >
using meta::empty = typedef bool_<0 == size<List>::type::value>

#include <meta/meta.hpp>

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

Complexity
$ O(1) $.

◆ front

template<typename List >
using meta::front = typedef _t<detail::front_<List> >

#include <meta/meta.hpp>

Return the first element in meta::list List.

Complexity
$ O(1) $.

◆ repeat_n

template<typename N , typename T = void>
using meta::repeat_n = typedef 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 = typedef _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) $.