Trait composition.
Modules | |
lazy | |
Classes | |
struct | meta::bind_back< F, Us > |
A Callable that partially applies the Callable F by binding the arguments Us to the back of F . More... | |
struct | meta::bind_front< F, Ts > |
A Callable that partially applies the Callable F by binding the arguments Ts to the front of F . More... | |
struct | meta::compose< Fs > |
Compose the Callables Fs in the parameter pack Ts . More... | |
struct | meta::flip< F > |
A Callable that reverses the order of the first two arguments. More... | |
struct | meta::quote< C > |
Turn a class template or alias template C into a Callable. More... | |
struct | meta::quote_i< T, C > |
Turn a class template or alias template C taking literals of type T into a Callable. More... | |
Typedefs | |
template<typename F , typename Q = quote<list>> | |
using | meta::curry = compose< F, Q > |
A Callable that takes a bunch of arguments, bundles them into a type list, and then calls the Callable F with the type list Q . | |
template<typename... Fs> | |
using | meta::on = detail::on_< Fs... > |
Use as on<F, Gs...> . Creates an Callable that applies Callable F to the result of applying Callable compose<Gs...> to all the arguments. | |
template<template< typename... > class C> | |
using | meta::quote_trait = compose< quote< _t >, quote< C > > |
Turn a trait template C into a Callable. More... | |
template<typename T , template< T... > class C> | |
using | meta::quote_trait_i = compose< quote< _t >, quote_i< T, C > > |
Turn a trait C taking literals of type T into a Callable. More... | |
template<typename F > | |
using | meta::uncurry = bind_front< quote< apply >, F > |
A Callable that takes a type list, unpacks the types, and then calls the Callable F with the types. | |
using meta::quote_trait = typedef compose<quote<_t>, quote<C> > |
using meta::quote_trait_i = typedef compose<quote<_t>, quote_i<T, C> > |
#include <meta/meta.hpp>
Turn a trait C
taking literals of type T
into a Callable.