4.6.0
Freundlich's C++ toolkit
Loading...
Searching...
No Matches
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>.
 
template<fcppt::mpl::lambda_concept L, typename... Args>
using apply = typename fcppt::mpl::detail::apply<L,Args...>::type
 Calls a lambda.
 
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.
 
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.
 
template<typename T >
using constant = typename fcppt::mpl::detail::constant<T>::type
 The constant lambda.
 
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-->.
 
template<typename Function >
using function_args = typename fcppt::mpl::detail::function_args<Function>::type
 The argument types of a function as a list.
 
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)>.
 
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.
 
template<typename F , fcppt::mpl::list::object_concept L>
using is_invocable
 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.
 
template<typename T >
using is_lambda = typename fcppt::mpl::detail::is_lambda<T>::type
 Checks if a type is a lambda.
 
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.
 
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)>.
 
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>.
 
template<std::size_t I>
using size_type = std::integral_constant<std::size_t,I>
 The size type used by this library.
 

Variables

template<fcppt::mpl::lambda_concept L, typename... Args>
constexpr bool apply_v = fcppt::mpl::apply<L,Args...>::value
 Calls a lambda.
 
template<typename F , fcppt::mpl::list::object_concept L>
constexpr bool is_invocable_v = fcppt::mpl::is_invocable<F,L>::value
 Checks if a function can be invoked with a given argument list.