mpl
Header: <pressio/mpl.hpp>
Public namespace: pressio::mpl
Scope
Provides metaprogramming functionalities needed to
support generic programming, which is a fundamental
building block of the pressio library.
If you are familiar with the <type_traits> header from
the standard library, the pressio/mpl will look familiar too.
Some parts of pressio/mpl have been adapted from the tinympl project.
The tinympl project appears to be no longer maintained.
The following is a partial list only intended to provide a general idea of the supported features.
To find out all supported cases, browse the source.
pressio::mpl::all_of
template< template<class ... T> class F, class ... Args> struct all_of;
Determines whether every element in the sequence satisfies the given predicate. The predicate
Fmust be such thatF<T>::valuemust be convertible tobool. Provides the static member constantvaluethat is equal to true iff all the elements in the sequence satisfy the predicateF. Otherwise, value is false.Example:
namespace pmpl = pressio::mpl; static_assert(pmpl::all_of<std::is_floating_point, double, float>::value, "" );
pressio::mpl::any_of
template< template<class ... T> class F, class ... Args> struct any_of;
Determines whether any element in the sequence satisfies the given predicate. The predicate
Fmust be such thatF<T>::valuemust be convertible tobool. Provides the static member constantvaluethat is equal to true iff at least one element in the sequence satisfies the predicateF. Otherwise, value is equal to false.
pressio::mpl::none_of
template< template<class ... T> class F, class ... Args> struct none_of;
Determines whether none of the elements in the sequence satisfy the given predicate. The predicate
Fmust be such thatF<T>::valuemust be convertible tobool. Provides the static member constantvaluethat is equal to true iff none of the elements in the sequence satisfy the predicateF. Otherwise, value is equal to false.