parameter_set.h File Reference

CPP API: parameter_set.h File Reference
parameter_set.h File Reference
#include "memilio/io/io.h"
#include <tuple>
#include <utility>
#include <type_traits>
Include dependency graph for parameter_set.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mio::details::AllOf< Pred >
 
struct  mio::details::AllOf< Pred, Head, Tail... >
 
struct  mio::details::AnyOf< Pred >
 
struct  mio::details::AnyOf< Pred, Head, Tail... >
 
struct  mio::details::BindHead< F, Head >
 
struct  mio::details::BindTail< F, Tail >
 
struct  mio::details::has_get_default_member_function< X, class, Args >
 
struct  mio::details::has_get_default_member_function< T, std::void_t< decltype(T::get_default(std::declval< Args >()...))>, Args... >
 
struct  mio::NoDefaultInit
 A tag used for tag-dispatching the Constructor of ParameterSet, triggering default initialization of all parameters using the get_default member function. More...
 
class  mio::ParameterSet< Tags >
 a set of parameters defined at compile time More...
 
struct  mio::details::ParameterTag< 0, ParameterSet< Head, Tail... > >
 
struct  mio::details::ParameterTag< I, ParameterSet< Head, Tail... > >
 
struct  mio::ParameterTagTraits< Tag >
 the properties of a parameter More...
 
class  mio::details::TaggedParameter< TagT >
 
struct  mio::details::BindTail< F, Tail >::type< Head >
 
struct  mio::details::BindHead< F, Head >::type< Tail >
 

Namespaces

 mio
 A collection of classes to simplify handling of matrix shapes in meta programming.
 
 mio::details
 

Typedefs

template<class T , class... Args>
using mio::has_get_default_member_function = details::has_get_default_member_function< T, void, Args... >
 check whether a get_default function exists More...
 
template<typename T >
using mio::is_no_default_init_tag = std::is_same< NoDefaultInit, T >
 
template<size_t I, class ParamSet >
using mio::ParameterTag = details::ParameterTag< I, ParamSet >
 get the the tag of the I-th parameter in a set More...
 
template<size_t I, class ParamSet >
using mio::ParameterTagT = typename ParameterTag< I, ParamSet >::Type
 

Functions

template<class F , class... Tags>
void mio::foreach (const ParameterSet< Tags... > &p, F f)
 call f(p, t) for all parameters in a ParameterSet with p the value of the parameter t a default constructed parameter tag More...
 
template<class F , class... Tags>
void mio::foreach (ParameterSet< Tags... > &p, F f)
 
template<class... Tail, class Params , class F >
std::enable_if_t< sizeof...(Tail)==0, void > mio::details::foreach_impl (Params &&, F)
 
template<class Head , class... Tail, class Params , class F >
void mio::details::foreach_impl (Params &&p, F f)
 
template<class Params , class F >
void mio::foreach_tag (F f)
 call f(t) for all parameters in a ParameterSet with t a default constructed parameter tag More...
 
template<class Params , size_t Head, size_t... Tail, class F >
void mio::details::foreach_tag_impl (F f, std::index_sequence< Head, Tail... >)
 
template<class Params , size_t... Tail, class F >
std::enable_if_t< sizeof...(Tail)==0, void > mio::details::foreach_tag_impl (F, std::index_sequence< Tail... >)