3#ifndef pRC_CORE_PARAMETER_PARAMETER_H
4#define pRC_CORE_PARAMETER_PARAMETER_H
15 template<Context C,
class T, Size SA, Size SN, Size SD>
18 template<
class T, Size SA, Size SN, Size SD>
26 template<
class A,
class N,
class D,
31 : mArgument(forward<
A>(argument))
32 , mName(forward<N>(
name))
33 , mDescription(forward<
D>(description))
43 constexpr auto &
name()
const
63 constexpr operator T()
const
75 template<
class T, Size SA, Size SN, Size SD>
83 template<
class A,
class N,
class D,
88 : mArgument(forward<
A>(argument))
89 , mName(forward<N>(
name))
90 , mDescription(forward<
D>(description))
94 template<
class A,
class N,
class D,
100 : mArgument(forward<
A>(argument))
101 , mName(forward<N>(
name))
102 , mDescription(forward<
D>(description))
108 template<
class A,
class N,
class D,
114 : mArgument(forward<
A>(argument))
115 , mName(forward<N>(
name))
116 , mDescription(forward<
D>(description))
121 template<
class A,
class N,
class D,
127 : mArgument(forward<
A>(argument))
128 , mName(forward<N>(
name))
129 , mDescription(forward<
D>(description))
167 mValue = mConvert(value);
176 constexpr operator T()
const
189 (
char const *
const) = [](
char const *
const value) ->
T {
192 return std::atof(value);
196 return std::atoll(value);
200 return std::strcmp(value,
"true") == 0;
209 template<
Context C,
class T,
class A,
class N,
class D,
227 template<
Context C,
class T,
class A,
class N,
class D,
243 template<
Context C,
class T,
class A,
class N,
class D,
249 D &&description,
T (*
convert)(
char const *
const))
260 template<
Context C,
class T,
class A,
class N,
class D,
Constant< pRC::Context, pRC::Context::CompileTime > Context
Definition parameter.hpp:22
constexpr auto & name() const
Definition parameter.hpp:43
constexpr auto & description() const
Definition parameter.hpp:48
Parameter(A &&argument, N &&name, D &&description, T const &value)
Definition parameter.hpp:30
T Type
Definition parameter.hpp:23
constexpr auto & argument() const
Definition parameter.hpp:38
constexpr auto operator()() const
Definition parameter.hpp:58
constexpr auto & value() const
Definition parameter.hpp:53
Parameter(A &&argument, N &&name, D &&description, T const &defaultValue)
Definition parameter.hpp:98
constexpr auto & isSet() const
Definition parameter.hpp:160
constexpr auto & name() const
Definition parameter.hpp:141
constexpr auto & value() const
Definition parameter.hpp:151
Constant< pRC::Context, pRC::Context::RunTime > Context
Definition parameter.hpp:79
constexpr auto & description() const
Definition parameter.hpp:146
T Type
Definition parameter.hpp:80
constexpr auto operator()() const
Definition parameter.hpp:171
Parameter(A &&argument, N &&name, D &&description, T(*convert)(char const *const), T const &defaultValue)
Definition parameter.hpp:125
constexpr auto parseValue(char const *const value)
Definition parameter.hpp:165
Parameter(A &&argument, N &&name, D &&description)
Definition parameter.hpp:87
Parameter(A &&argument, N &&name, D &&description, T(*convert)(char const *const))
Definition parameter.hpp:112
constexpr auto & argument() const
Definition parameter.hpp:136
Definition parameter.hpp:16
static void error(Xs &&...args)
Definition log.hpp:14
Definition cholesky.hpp:18
bool Bool
Definition type_traits.hpp:18
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
std::integral_constant< T, V > Constant
Definition type_traits.hpp:34
Constant< Bool, B > IsSatisfied
Definition type_traits.hpp:71
static constexpr Conditional< IsSatisfied< C >, RemoveConstReference< X >, X > copy(X &&a)
Definition copy.hpp:13
static constexpr auto name()
Definition type_name.hpp:11
Context
Definition context.hpp:9
static constexpr auto parameter(A &&argument, N &&name, D &&description, T const &defaultValue)
Definition parameter.hpp:215
Definition type_traits.hpp:16