Iros
 
Loading...
Searching...
No Matches
named_arguments.h File Reference
#include "di/meta/algorithm.h"
#include "di/meta/constexpr.h"
#include "di/meta/core.h"
#include "di/meta/function.h"
#include "di/meta/language.h"
#include "di/meta/list.h"
#include "di/meta/operations.h"
#include "di/meta/util.h"
#include "di/types/in_place.h"
#include "di/util/get.h"
#include "di/vocab/tuple/tuple.h"

Go to the source code of this file.

Classes

class  di::util::NamedArgument< Tag_, T >
 A helper class to simulate a single named argument. More...
 
class  di::util::NamedArguments< Args >
 A helper class for simulation named arguments in c++. More...
 
struct  di::util::detail::GetNamedArgumentFunction< Tag >
 
struct  di::util::detail::GetNamedArgumentOrFunction< Tag >
 
struct  di::util::detail::GetNamedArgumentOrFunction< Tag >
 
struct  di::concepts::detail::ContainsF
 
class  di::NamedArgument< Tag_, T >
 A helper class to simulate a single named argument. More...
 
class  di::NamedArguments< Args >
 A helper class for simulation named arguments in c++. More...
 

Namespaces

namespace  di
 
namespace  di::util
 
namespace  di::util::detail
 
namespace  di::meta
 
namespace  di::concepts
 
namespace  di::concepts::detail
 

Concepts

concept  di::concepts::HasNamedArgument
 A concept to check if a named argument is present.
 
concept  di::concepts::ValidNamedArguments
 A concept to check if a list of named arguments is valid.
 

Typedefs

template<typename Args, typename Tag>
using di::meta::NamedArgument = decltype(util::get_named_argument<Tag>(declval<Args>()))
 A metafunction to the type of a named argument.
 
template<typename Args, typename Tag>
using di::meta::NamedArgumentValue = meta::Decay<NamedArgument<Args, Tag>>
 A metafunction to get the value type of a named argument.
 
template<typename Args, typename Tag, typename Fallback>
using di::meta::NamedArgumentOr = decltype(util::get_named_argument_or<Tag>(declval<Args>(), declval<Fallback>()))
 A metafunction to get the type of a named argument with fallback.
 
template<typename Args, typename Tag, typename Fallback>
using di::meta::NamedArgumentValueOr = meta::Decay<NamedArgumentOr<Args, Tag, Fallback>>
 A metafunction to get the value type of a named argument with fallback.
 

Functions

template<typename... Args>
 di::util::NamedArguments (Args &&...) -> NamedArguments< Args &&... >
 

Variables

template<typename Arg>
constexpr auto di::util::get_named_argument = detail::GetNamedArgumentFunction<Arg> {}
 A helper function to access a named argument.
 
template<typename Arg>
constexpr auto di::util::get_named_argument_or = detail::GetNamedArgumentOrFunction<Arg> {}
 A helper function to access a named argument or a fallback value.
 
template<typename Arg>
constexpr auto di::get_named_argument
 A helper function to access a named argument.
 
template<typename Arg>
constexpr auto di::get_named_argument_or
 A helper function to access a named argument or a fallback value.