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,
218 using SA =
decltype(
String(declval<A>()));
219 using SN =
decltype(
String(declval<N>()));
220 using SD =
decltype(
String(declval<D>()));
223 forward<A>(argument), forward<N>(
name), forward<D>(description),
227 template<
Context C,
class T,
class A,
class N,
class D,
235 using SA =
decltype(
String(declval<A>()));
236 using SN =
decltype(
String(declval<N>()));
237 using SD =
decltype(
String(declval<D>()));
240 forward<A>(argument), forward<N>(
name), forward<D>(description));
243 template<
Context C,
class T,
class A,
class N,
class D,
249 D &&description,
T (*
convert)(
char const *
const))
251 using SA =
decltype(
String(declval<A>()));
252 using SN =
decltype(
String(declval<N>()));
253 using SD =
decltype(
String(declval<D>()));
256 forward<A>(argument), forward<N>(
name), forward<D>(description),
260 template<
Context C,
class T,
class A,
class N,
class D,
268 using SA =
decltype(
String(declval<A>()));
269 using SN =
decltype(
String(declval<N>()));
270 using SD =
decltype(
String(declval<D>()));
273 forward<A>(argument), forward<N>(
name), forward<D>(description),
pRC::Size const D
Definition CalculatePThetaTests.cpp:9
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
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
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
pRC::Float<> T
Definition externs_nonTT.hpp:1
static void error(Xs &&...args)
Definition log.hpp:14
Definition cholesky.hpp:18
bool Bool
Definition type_traits.hpp:18
static constexpr auto makeConstantSequence()
Definition sequence.hpp:402
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
Constant< Bool, B > IsSatisfied
Definition type_traits.hpp:71
static constexpr auto name()
Definition type_name.hpp:11
Context
Definition context.hpp:9
std::integral_constant< T, V > Constant
Definition type_traits.hpp:34
static constexpr auto parameter(A &&argument, N &&name, D &&description, T const &defaultValue)
Definition parameter.hpp:215
String(char const &) -> String< 1 >
Definition type_traits.hpp:16