pRC
multi-purpose Tensor Train library for C++
Loading...
Searching...
No Matches
help.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-2-Clause
2
3#ifndef pRC_CORE_PARAMETER_HELP_H
4#define pRC_CORE_PARAMETER_HELP_H
5
10
11namespace pRC
12{
13 template<class... Ps>
14 static inline constexpr auto help(Ps &&...parameters)
15 {
16 Logging::log("Compile Time Parameters:");
17
18 auto const printCompileTime = [](auto const &parameter)
19 {
20 if constexpr(typename RemoveReference<
21 decltype(parameter)>::Context() ==
23 {
24 Logging::log(" ", parameter.name() + ":",
25 parameter.argument() + "=<" +
26 name<typename RemoveReference<
27 decltype(parameter)>::Type>() +
28 ">");
29 if(parameter.description().size())
30 {
31 Logging::log(" ", parameter.description());
32 }
33 }
34 };
36
37 Logging::log("");
38 Logging::log("Run Time Parameters:");
39
40 auto const printRunTime = [](auto const &parameter)
41 {
42 if constexpr(typename RemoveReference<
43 decltype(parameter)>::Context() ==
45 {
46 Logging::log(" ", parameter.name() + ":",
47 parameter.argument(),
48 "<" +
49 name<typename RemoveReference<
50 decltype(parameter)>::Type>() +
51 ">");
52 if(parameter.description().size())
53 {
54 Logging::log(" ", parameter.description());
55 }
56 }
57 };
59
60 Logging::log("");
61 }
62}
63#endif // pRC_CORE_PARAMETER_HELP_H
static void log(X &&arg, Xs &&...args)
Definition io.hpp:17
Definition cholesky.hpp:18
std::remove_reference_t< T > RemoveReference
Definition type_traits.hpp:56
static constexpr auto help(Ps &&...parameters)
Definition help.hpp:14
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