4.0.0
Freundlich's C++ toolkit
Namespaces | Classes | Typedefs
fcppt::mpl Namespace Reference

Namespaces

namespace  list
 
namespace  map
 
namespace  set
 

Classes

struct  lambda
 The lambda type. More...
 

Typedefs

template<fcppt::mpl::integral_concept T1, fcppt::mpl::integral_concept T2>
using add = typename fcppt::mpl::detail::add< T1, T2 >::type
 Adds two integral constants.Let T1 = std::integral_constant<T,V_1> and T2 = std::integral_constant<T,V_2>. Then the result is std::integral_constant<T,V_1 + V_2>. More...
 
template<fcppt::mpl::lambda_concept L, typename... Args>
using apply = typename fcppt::mpl::detail::apply< L, Args... >::type
 Calls a lambda. More...
 
template<std::size_t Arg>
using arg = typename fcppt::mpl::detail::arg< Arg - 1U >::type
 A lambda that returns an argument in a specific position. More...
 
template<fcppt::mpl::lambda_concept L, fcppt::mpl::lambda_concept ... Ls>
using bind = typename fcppt::mpl::detail::bind< L, Ls... >::type
 Function composition on multiple lambdas. More...
 
template<typename T >
using constant = typename fcppt::mpl::detail::constant< T >::type
 The constant lambda. More...
 
template<fcppt::mpl::integral_concept T>
using dec = typename fcppt::mpl::detail::dec< T >::type
 Subtracts one from an integral constant.Let T = std::integral_constant<U,V>. Then the result is std::integral_constant<U,V-->. More...
 
template<typename Function >
using function_args = typename fcppt::mpl::detail::function_args< Function >::type
 The argument types of a function as a list. More...
 
template<fcppt::mpl::integral_concept T1, fcppt::mpl::integral_concept T2>
using greater = typename fcppt::mpl::detail::greater< T1, T2 >::type
 Checks if one integral constant is greater than another.Let T1 = std::integral_constant<T,V_1> and T2 = std::integral_constant<T,V_2>. Then the result is std::bool_constant<(V1 > V2)>. More...
 
template<fcppt::mpl::bool_concept B, typename T , typename F >
using if_ = std::conditional_t< B::value, T, F >
 The if-then-else function.Similar to std::conditional_t but takes a bool_concept, i.e., a std::bool_constant<V> for any bool V instead of V directly. More...
 
template<typename F , fcppt::mpl::list::object_concept L>
using is_invocable = fcppt::mpl::list::apply< fcppt::mpl::lambda< std::is_invocable >, fcppt::mpl::list::push_front< L, F > >
 Checks if a function can be invoked with a given argument list.Checks if function F can be invoked with the types in L, i.e. if L = list::object<L_1,...,L_n>, then the result is. More...
 
template<typename T >
using is_lambda = typename fcppt::mpl::detail::is_lambda< T >::type
 Checks if a type is a lambda. More...
 
template<typename T >
using is_size_type = typename fcppt::mpl::detail::is_size_type< T >::type
 Checks if a type is a size_type.T is a size type if and only if it is of the form fcppt::mpl::size_type<N> for some std::size_t N. More...
 
template<fcppt::mpl::integral_concept T1, fcppt::mpl::integral_concept T2>
using less = typename fcppt::mpl::detail::less< T1, T2 >::type
 Checks if one integral constant is less than another.Let T1 = std::integral_constant<T,V_1> and T2 = std::integral_constant<T,V_2>. Then the result is std::bool_constant<(V1 < V2)>. More...
 
template<fcppt::mpl::integral_concept T1, fcppt::mpl::integral_concept T2>
using mul = typename fcppt::mpl::detail::mul< T1, T2 >::type
 Multiplies two integral constants.Let T1 = std::integral_constant<T,V_1> and T2 = std::integral_constant<T,V_2>. Then the result is std::integral_constant<T,V_1 * V_2>. More...
 
template<std::size_t I>
using size_type = std::integral_constant< std::size_t, I >
 The size type used by this library. More...