pRC
multi-purpose Tensor Train library for C++
Loading...
Searching...
No Matches
report.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-2-Clause
2
3#ifndef pRC_CORE_PARAMETER_REPORT_H
4#define pRC_CORE_PARAMETER_REPORT_H
5
9
10namespace pRC
11{
12 template<class... Ps>
13 static inline constexpr auto report(Ps &&...parameters)
14 {
15 auto const print = [](auto const &parameter)
16 {
17 Logging::log(" ", parameter.name() + ":", parameter.value());
18 };
19
20 Logging::log("Compile Time Parameters:");
21
22 auto const printCompileTime = [&print](auto const &parameter)
23 {
24 if constexpr(typename RemoveReference<
25 decltype(parameter)>::Context() ==
27 {
29 }
30 };
32
33 Logging::log("");
34 Logging::log("Run Time Parameters:");
35
36 auto const printRunTime = [&print](auto const &parameter)
37 {
38 if constexpr(typename RemoveReference<
39 decltype(parameter)>::Context() ==
41 {
43 }
44 };
46
47 Logging::log("");
48 }
49}
50#endif // pRC_CORE_PARAMETER_REPORT_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 auto print(String< N > const &string, std::FILE *stream)
Definition print.hpp:18
static constexpr auto report(Ps &&...parameters)
Definition report.hpp:13
static constexpr Conditional< IsSatisfied< C >, RemoveConstReference< X >, X > copy(X &&a)
Definition copy.hpp:13
Context
Definition context.hpp:9
static constexpr auto parameter(A &&argument, N &&name, D &&description, T const &defaultValue)
Definition parameter.hpp:215