|  | 
| template<typename T > | 
| using | _t = typename T::type | 
|  | Type alias for T::type.
 | 
|  | 
| template<typename List , typename State , typename Fun > | 
| using | accumulate = fold< List, State, Fun > | 
|  | An alias for meta::fold.  More...
 | 
|  | 
| template<class T > | 
| using | alignof_ = meta::size_t< alignof(T)> | 
|  | An alias that computes the alignment required for any instance of the type T.  More...
 | 
|  | 
| template<typename List , typename F > | 
| using | all_of = empty< find_if< List, not_fn< F > >> | 
|  | A Boolean integral constant wrapper around trueifinvoke<F, A>::valueistruefor all elementsAinmeta::listList;false, otherwise.  More...
 | 
|  | 
| template<typename... Bools> | 
| using | and_ = _t< defer< detail::_and_< 0==sizeof...(Bools)>::template invoke, Bools... > > | 
|  | Logically and together all the integral constant-wrapped Boolean parameters, with short-circuiting. 
 | 
|  | 
| template<bool... Bools> | 
| using | and_c = std::is_same< integer_sequence< bool, Bools... >, integer_sequence< bool,(Bools||true)... > > | 
|  | Logically and together all the Boolean parameters. 
 | 
|  | 
| template<typename List , typename F > | 
| using | any_of = not_< empty< find_if< List, F > >> | 
|  | A Boolean integral constant wrapper around trueifinvoke<F, A>::valueistruefor any elementAinmeta::listList;false, otherwise.  More...
 | 
|  | 
| template<typename C , typename List > | 
| using | apply = _t< extension::apply< C, List > > | 
|  | Applies the Callable Cusing the types in the type listListas arguments.
 | 
|  | 
| template<typename Sequence > | 
| using | as_list = _t< detail::as_list_< Sequence > > | 
|  | Turn a type into an instance of meta::listin a way determined bymeta::invoke.
 | 
|  | 
| template<typename List , typename N > | 
| using | at = _t< detail::at_< List, N > > | 
|  | Return the Nth element in themeta::listList.  More...
 | 
|  | 
| template<typename List , std::size_t N> | 
| using | at_c = at< List, meta::size_t< N > > | 
|  | Return the Nth element in themeta::listList.  More...
 | 
|  | 
| template<typename List > | 
| using | back = _t< detail::back_< List > > | 
|  | Return the last element in meta::listList.  More...
 | 
|  | 
| template<typename T , typename U > | 
| using | bit_and = std::integral_constant< decltype(T::type::value &U::type::value), T::type::value &U::type::value > | 
|  | An integral constant wrapper around the result of bitwise-and'ing the two wrapped integers T::type::valueandU::type::value.
 | 
|  | 
| template<typename T > | 
| using | bit_not = std::integral_constant< decltype(~T::type::value), ~T::type::value > | 
|  | An integral constant wrapper around the result of bitwise-complementing the wrapped integer T::type::value.
 | 
|  | 
| template<typename T , typename U > | 
| using | bit_or = std::integral_constant< decltype(T::type::value|U::type::value), T::type::value|U::type::value > | 
|  | An integral constant wrapper around the result of bitwise-or'ing the two wrapped integers T::type::valueandU::type::value.
 | 
|  | 
| template<typename T , typename U > | 
| using | bit_xor = std::integral_constant< decltype(T::type::value ^ U::type::value), T::type::value ^ U::type::value > | 
|  | An integral constant wrapper around the result of bitwise-exclusive-or'ing the two wrapped integers T::type::valueandU::type::value.
 | 
|  | 
| template<bool B> | 
| using | bool_ = std::integral_constant< bool, B > | 
|  | An integral constant wrapper for bool.
 | 
|  | 
| template<typename ListOfLists > | 
| using | cartesian_product = reverse_fold< ListOfLists, list< list<> >, quote_trait< detail::cartesian_product_fn > > | 
|  | Given a list of lists ListOfLists, return a new list of lists that is the Cartesian Product. Like thesequencefunction from the Haskell Prelude.  More...
 | 
|  | 
| template<char Ch> | 
| using | char_ = std::integral_constant< char, Ch > | 
|  | An integral constant wrapper for char.
 | 
|  | 
| template<typename... Lists> | 
| using | concat = _t< detail::concat_< Lists... > > | 
|  | Concatenates several lists into a single list.  More... 
 | 
|  | 
| template<typename List , typename T > | 
| using | count = _t< detail::count_< List, T > > | 
|  | Count the number of times a type Tappears in the listList.  More...
 | 
|  | 
| template<typename List , typename Fn > | 
| using | count_if = _t< detail::count_if_< List, Fn > > | 
|  | Count the number of times the predicate Fnevaluates to true for all the elements in the listList.  More...
 | 
|  | 
| template<typename F , typename Q  = quote<list>> | 
| using | curry = compose< F, Q > | 
|  | A Callable that takes a bunch of arguments, bundles them into a type list, and then calls the Callable Fwith the type listQ.
 | 
|  | 
| template<typename T > | 
| using | dec = std::integral_constant< decltype(T::type::value - 1), T::type::value - 1 > | 
|  | An integral constant wrapper around the result of decrementing the wrapped integer T::type::value.
 | 
|  | 
| template<template< typename... > class C, typename... Ts> | 
| using | defer_trait = defer< detail::_t_t, detail::defer_< C, Ts... > > | 
|  | A wrapper that defers the instantiation of a trait Cwith type parametersTsin alambdaorletexpression.  More...
 | 
|  | 
| template<typename T , template< T... > class C, T... Is> | 
| using | defer_trait_i = defer< detail::_t_t, detail::defer_i_< T, C, Is... > > | 
|  | A wrapper that defers the instantiation of a trait Cwith integral constant parametersIsin alambdaorletexpression.  More...
 | 
|  | 
| template<typename T , typename U > | 
| using | divides = std::integral_constant< decltype(T::type::value/U::type::value), T::type::value/U::type::value > | 
|  | An integral constant wrapper around the result of dividing the two wrapped integers T::type::valueandU::type::value.
 | 
|  | 
| template<typename List , typename N > | 
| using | drop = _t< detail::drop_< List, N > > | 
|  | Return a new meta::listby removing the firstNelements fromList.  More...
 | 
|  | 
| template<typename List , std::size_t N> | 
| using | drop_c = _t< detail::drop_< List, meta::size_t< N > >> | 
|  | Return a new meta::listby removing the firstNelements fromList.  More...
 | 
|  | 
| template<typename List > | 
| using | empty = bool_< 0==size< List >::type::value > | 
|  | An Boolean integral constant wrapper around trueifListis an empty type list;false, otherwise.  More...
 | 
|  | 
| template<typename T , typename U > | 
| using | equal_to = bool_< T::type::value==U::type::value > | 
|  | A Boolean integral constant wrapper around the result of comparing T::type::valueandU::type::valuefor equality.
 | 
|  | 
| template<typename List , typename Pred > | 
| using | filter = join< transform< List, detail::filter_< Pred > >> | 
|  | Returns a new meta::list where only those elements of Listthat satisfy the CallablePredsuch thatinvoke<Pred,A>::valueistrueare present. That is, those elements that don't satisfy thePredare "removed".  More...
 | 
|  | 
| template<typename List , typename T > | 
| using | find = drop< List, min< find_index< List, T >, size< List > >> | 
|  | Return the tail of the list Liststarting at the first occurrence ofT, if any such element exists; the empty list, otherwise.  More...
 | 
|  | 
| template<typename List , typename Fun > | 
| using | find_if = _t< detail::find_if_< List, Fun > > | 
|  | Return the tail of the list Liststarting at the first elementAsuch thatinvoke<Fun, A>::valueistrue, if any such element exists; the empty list, otherwise.  More...
 | 
|  | 
| template<typename List , typename T > | 
| using | find_index = _t< detail::find_index_< List, T > > | 
|  | Finds the index of the first occurrence of the type Twithin the listList. Returnsmeta::nposif the typeTwas not found.  More...
 | 
|  | 
| template<typename Pair > | 
| using | first = front< Pair > | 
|  | Retrieve the first element of the pairPair.
 | 
|  | 
| template<typename List , typename State , typename Fun > | 
| using | fold = _t< detail::fold_< List, id< State >, Fun > > | 
|  | Return a new meta::listconstructed by doing a left fold of the listListusing binary CallableFunand initial stateState. That is, theState_Nfor the list elementA_Nis computed byFun(State_N-1, A_N) -> State_N.  More...
 | 
|  | 
| template<typename List > | 
| using | front = _t< detail::front_< List > > | 
|  | Return the first element in meta::listList.  More...
 | 
|  | 
| template<typename T , typename U > | 
| using | greater = bool_<(T::type::value > U::type::value)> | 
|  | A Boolean integral constant wrapper around trueifT::type::valueis greater thanU::type::value;false, otherwise.
 | 
|  | 
| template<typename T , typename U > | 
| using | greater_equal = bool_<(T::type::value >=U::type::value)> | 
|  | A Boolean integral constant wrapper around trueifT::type::valueis greater than or equal toU::type::value;false, otherwise.
 | 
|  | 
| template<typename T > | 
| using | id_t = _t< id< T > > | 
|  | An alias for type T. Useful in non-deduced contexts.
 | 
|  | 
| template<typename... Args> | 
| using | if_ = _t< detail::_if_< list< Args... > >> | 
|  | Select one type or another depending on a compile-time Boolean. 
 | 
|  | 
| template<bool If, typename... Args> | 
| using | if_c = _t< detail::_if_< list< bool_< If >, Args... > >> | 
|  | Select one type or another depending on a compile-time Boolean. 
 | 
|  | 
| template<typename List , typename T > | 
| using | in = not_< empty< find< List, T > >> | 
|  | A Boolean integral constant wrapper around trueif there is at least one occurrence ofTinList.  More...
 | 
|  | 
| template<typename T > | 
| using | inc = std::integral_constant< decltype(T::type::value+1), T::type::value+1 > | 
|  | An integral constant wrapper around the result of incrementing the wrapped integer T::type::value.
 | 
|  | 
| template<std::size_t... Is> | 
| using | index_sequence = integer_sequence< std::size_t, Is... > | 
|  | A container for a sequence of compile-time integer constants of type std::size_t.
 | 
|  | 
| template<typename List > | 
| using | inherit = meta::_t< detail::inherit_< List > > | 
|  | A type that inherits from all the types in the list.  More... 
 | 
|  | 
| template<int I> | 
| using | int_ = std::integral_constant< int, I > | 
|  | An integral constant wrapper for int.
 | 
|  | 
| template<class T , T From, T To> | 
| using | integer_range = _t< detail::coerce_indices_< T, From, make_index_sequence< detail::range_distance_(From, To)> >> | 
|  | Makes the integer sequence [From, To).  More...
 | 
|  | 
| template<typename F , typename... Args> | 
| using | invoke = typename F::template invoke< Args... > | 
|  | Evaluate the Callable Fwith the argumentsArgs.
 | 
|  | 
| template<typename T , template< typename... > class C> | 
| using | is = _t< detail::is_< T, C > > | 
|  | is  More... 
 | 
|  | 
| template<typename T > | 
| using | is_callable = _t< detail::is_callable_< T > > | 
|  | An alias for std::true_typeifT::invokeexists and names a class template or alias template; otherwise, it's an alias forstd::false_type.
 | 
|  | 
| template<typename T > | 
| using | is_trait = _t< detail::is_trait_< T > > | 
|  | An alias for std::true_typeifT::typeexists and names a type; otherwise, it's an alias forstd::false_type.
 | 
|  | 
| template<typename T > | 
| using | is_valid = detail::is_valid_< T > | 
|  | For testing whether a deferred computation will succeed in a letor alambda.
 | 
|  | 
| template<typename ListOfLists > | 
| using | join = apply< quote< concat >, ListOfLists > | 
|  | Joins a list of lists into a single list.  More... 
 | 
|  | 
| template<typename... Ts> | 
| using | lambda = if_c<(sizeof...(Ts) > 0), detail::lambda_< list< Ts... > >> | 
|  | For creating anonymous Callables.  More... 
 | 
|  | 
| template<typename T , typename U > | 
| using | less = bool_<(T::type::value< U::type::value)> | 
|  | A Boolean integral constant wrapper around trueifT::type::valueis less thanU::type::value;false, otherwise.
 | 
|  | 
| template<typename T , typename U > | 
| using | less_equal = bool_<(T::type::value<=U::type::value)> | 
|  | A Boolean integral constant wrapper around trueifT::type::valueis less than or equal toU::type::value;false, otherwise.
 | 
|  | 
| template<typename... As> | 
| using | let = _t< _t< detail::let_< As... > >> | 
|  | A lexically scoped expression with local variables.  More... 
 | 
|  | 
| template<std::size_t N> | 
| using | make_index_sequence = _t< detail::make_indices_< N, index_sequence< 0 >, detail::strategy_(1, N)> > | 
|  | Generate index_sequencecontaining integer constants [0,1,2,...,N-1].  More...
 | 
|  | 
| template<typename T , T N> | 
| using | make_integer_sequence = _t< detail::coerce_indices_< T, 0, make_index_sequence< static_cast< std::size_t >(N)> >> | 
|  | Generate integer_sequencecontaining integer constants [0,1,2,...,N-1].  More...
 | 
|  | 
| template<typename... Ts> | 
| using | max = fold< pop_front< list< Ts... > >, front< list< Ts... > >, quote< detail::max_ > > | 
|  | An integral constant wrapper around the maximum of Ts::type::value...
 | 
|  | 
| template<typename... Ts> | 
| using | min = fold< pop_front< list< Ts... > >, front< list< Ts... > >, quote< detail::min_ > > | 
|  | An integral constant wrapper around the minimum of Ts::type::value...
 | 
|  | 
| template<typename T , typename U > | 
| using | minus = std::integral_constant< decltype(T::type::value - U::type::value), T::type::value - U::type::value > | 
|  | An integral constant wrapper around the result of subtracting the two wrapped integers T::type::valueandU::type::value.
 | 
|  | 
| template<typename T , typename U > | 
| using | modulus = std::integral_constant< decltype(T::type::value % U::type::value), T::type::value % U::type::value > | 
|  | An integral constant wrapper around the remainder of dividing the two wrapped integers T::type::valueandU::type::value.
 | 
|  | 
| template<typename T , typename U > | 
| using | multiplies = std::integral_constant< decltype(T::type::value *U::type::value), T::type::value *U::type::value > | 
|  | An integral constant wrapper around the result of multiplying the two wrapped integers T::type::valueandU::type::value.
 | 
|  | 
| template<typename T > | 
| using | negate = std::integral_constant< decltype(-T::type::value), -T::type::value > | 
|  | An integral constant wrapper around the result of negating the wrapped integer T::type::value.
 | 
|  | 
| template<typename List , typename F > | 
| using | none_of = empty< find_if< List, F > > | 
|  | A Boolean integral constant wrapper around trueifinvoke<F, A>::valueisfalsefor all elementsAinmeta::listList;false, otherwise.  More...
 | 
|  | 
| template<typename Bool_ > | 
| using | not_ = not_c< Bool_::type::value > | 
|  | Logically negate the integral constant-wrapped Boolean parameter. 
 | 
|  | 
| template<bool Bool_> | 
| using | not_c = bool_<!Bool_ > | 
|  | Logically negate the Boolean parameter. 
 | 
|  | 
| template<typename T , typename U > | 
| using | not_equal_to = bool_< T::type::value !=U::type::value > | 
|  | A Boolean integral constant wrapper around the result of comparing T::type::valueandU::type::valuefor inequality.
 | 
|  | 
| template<typename F > | 
| using | not_fn = compose< quote< not_ >, F > | 
|  | Logically negate the result of Callable F.
 | 
|  | 
| using | 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... Fs> | 
| using | on = detail::on_< Fs... > | 
|  | Use as on<F, Gs...>. Creates an Callable that applies CallableFto the result of applying Callablecompose<Gs...>to all the arguments.
 | 
|  | 
| template<typename... Bools> | 
| using | or_ = _t< defer< detail::_or_< 0==sizeof...(Bools)>::template invoke, Bools... > > | 
|  | Logically or together all the integral constant-wrapped Boolean parameters, with short-circuiting. 
 | 
|  | 
| template<bool... Bools> | 
| using | or_c = not_< std::is_same< integer_sequence< bool, Bools... >, integer_sequence< bool,(Bools &&false)... > >> | 
|  | Logically or together all the Boolean parameters. 
 | 
|  | 
| template<typename F , typename S > | 
| using | pair = list< F, S > | 
|  | A list with exactly two elements. 
 | 
|  | 
| template<typename List , typename Pred > | 
| using | partition = fold< List, pair< list<>, list<> >, detail::partition_< Pred > > | 
|  | Returns a pair of lists, where the elements of Listthat satisfy the CallablePredsuch thatinvoke<Pred,A>::valueistrueare present in the first list and the rest are in the second.  More...
 | 
|  | 
| template<typename T , typename U > | 
| using | plus = std::integral_constant< decltype(T::type::value+U::type::value), T::type::value+U::type::value > | 
|  | An integral constant wrapper around the result of adding the two wrapped integers T::type::valueandU::type::value.
 | 
|  | 
| template<typename List > | 
| using | pop_front = _t< detail::pop_front_< List > > | 
|  | Return a new meta::listby removing the first element from the front ofList.  More...
 | 
|  | 
| template<typename T > | 
| using | protect = detail::protect_< T > | 
|  | For preventing the evaluation of a nested defered computation in aletorlambdaexpression.
 | 
|  | 
| template<typename List , typename T > | 
| using | push_back = _t< detail::push_back_< List, T > > | 
|  | Return a new meta::listby adding the elementTto the back ofList.  More...
 | 
|  | 
| template<typename List , typename T > | 
| using | push_front = _t< detail::push_front_< List, T > > | 
|  | Return a new meta::listby adding the elementTto the front ofList.  More...
 | 
|  | 
| template<template< typename... > class C> | 
| using | quote_trait = compose< quote< _t >, quote< C > > | 
|  | Turn a trait template Cinto a Callable.  More...
 | 
|  | 
| template<typename T , template< T... > class C> | 
| using | quote_trait_i = compose< quote< _t >, quote_i< T, C > > | 
|  | Turn a trait Ctaking literals of typeTinto a Callable.  More...
 | 
|  | 
| template<typename N , typename T  = void> | 
| using | repeat_n = repeat_n_c< N::type::value, T > | 
|  | Generate list<T,T,T...T>of sizeNarguments.  More...
 | 
|  | 
| template<std::size_t N, typename T  = void> | 
| using | repeat_n_c = _t< detail::repeat_n_c_< T, make_index_sequence< N > >> | 
|  | Generate list<T,T,T...T>of sizeNarguments.  More...
 | 
|  | 
| template<typename List , typename T , typename U > | 
| using | replace = _t< detail::replace_< List, T, U > > | 
|  | Return a new meta::listwhere all instances of typeThave been replaced withU.  More...
 | 
|  | 
| template<typename List , typename C , typename U > | 
| using | replace_if = _t< detail::replace_if_< List, C, U > > | 
|  | Return a new meta::listwhere all elementsAof the listListfor whichinvoke<C,A>::valueistruehave been replaced withU.  More...
 | 
|  | 
| template<typename List > | 
| using | reverse = _t< detail::reverse_< List > > | 
|  | Return a new meta::listby reversing the elements in the listList.  More...
 | 
|  | 
| template<typename List , typename T > | 
| using | reverse_find = drop< List, min< reverse_find_index< List, T >, size< List > >> | 
|  | Return the tail of the list Liststarting at the last occurrence ofT, if any such element exists; the empty list, otherwise.  More...
 | 
|  | 
| template<typename List , typename Fun > | 
| using | reverse_find_if = _t< detail::reverse_find_if_< List, Fun > > | 
|  | Return the tail of the list Liststarting at the last elementAsuch thatinvoke<Fun, A>::valueistrue, if any such element exists; the empty list, otherwise.  More...
 | 
|  | 
| template<typename List , typename T > | 
| using | reverse_find_index = _t< detail::reverse_find_index_< List, T > > | 
|  | Finds the index of the last occurrence of the type Twithin the listList. Returnsmeta::nposif the typeTwas not found.  More...
 | 
|  | 
| template<typename List , typename State , typename Fun > | 
| using | reverse_fold = _t< detail::reverse_fold_< List, State, Fun > > | 
|  | Return a new meta::listconstructed by doing a right fold of the listListusing binary CallableFunand initial stateState. That is, theState_Nfor the list elementA_Nis computed byFun(A_N, State_N+1) -> State_N.  More...
 | 
|  | 
| template<typename Pair > | 
| using | second = front< pop_front< Pair > > | 
|  | Retrieve the first element of the pairPair.
 | 
|  | 
| template<typename List > | 
| using | size = meta::size_t< List::size()> | 
|  | An integral constant wrapper that is the size of the meta::listList.
 | 
|  | 
| template<std::size_t N> | 
| using | size_t = std::integral_constant< std::size_t, N > | 
|  | An integral constant wrapper for std::size_t.
 | 
|  | 
| template<class T > | 
| using | sizeof_ = meta::size_t< sizeof(T)> | 
|  | An alias that computes the size of the type T.  More...
 | 
|  | 
| template<typename List , typename Pred > | 
| using | sort = _t< detail::sort_< List, Pred > > | 
|  | Return a new meta::listthat is sorted according to Callable predicatePred.  More...
 | 
|  | 
| template<typename... Bools> | 
| using | strict_and = and_c< Bools::type::value... > | 
|  | Logically and together all the integral constant-wrapped Boolean parameters, without doing short-circuiting. 
 | 
|  | 
| template<typename... Bools> | 
| using | strict_or = or_c< Bools::type::value... > | 
|  | Logically or together all the integral constant-wrapped Boolean parameters, without doing short-circuiting. 
 | 
|  | 
| template<typename... Args> | 
| using | transform = _t< detail::transform_< list< Args... > >> | 
|  | Return a new meta::listconstructed by transforming all the elements inListwith the unary CallableFun.transformcan also be called with two lists of the same length and a binary Callable, in which case it returns a new list constructed with the results of callingFunwith each element in the lists, pairwise.  More...
 | 
|  | 
| template<typename ListOfLists > | 
| using | transpose = fold< ListOfLists, repeat_n< size< front< ListOfLists > >, list<> >, bind_back< quote< transform >, quote< push_back > >> | 
|  | Given a list of lists of types ListOfLists, transpose the elements from the lists.  More...
 | 
|  | 
| template<typename F > | 
| using | uncurry = bind_front< quote< apply >, F > | 
|  | A Callable that takes a type list, unpacks the types, and then calls the Callable Fwith the types.
 | 
|  | 
| template<typename List > | 
| using | unique = fold< List, list<>, quote_trait< detail::insert_back_ > > | 
|  | Return a new meta::listwhere all duplicate elements have been removed.  More...
 | 
|  | 
| template<typename T > | 
| using | vararg = detail::vararg_< T > | 
|  | For defining variadic placeholders. 
 | 
|  | 
| template<typename... > | 
| using | void_ = void | 
|  | An alias for void.
 | 
|  | 
| template<typename ListOfLists > | 
| using | zip = transpose< ListOfLists > | 
|  | Given a list of lists of types ListOfLists, construct a new list by grouping the elements from the lists pairwise intometa::lists.  More...
 | 
|  | 
| template<typename Fun , typename ListOfLists > | 
| using | zip_with = transform< transpose< ListOfLists >, uncurry< Fun > > | 
|  | Given a list of lists of types ListOfListsand a CallableFun, construct a new list by callingFunwith the elements from the lists pairwise.  More...
 | 
|  |