numerical-collection-cpp
0.10.0
A collection of algorithms in numerical analysis implemented in C++
Loading...
Searching...
No Matches
function_iteration_parameter_value.h
Go to the documentation of this file.
1
/*
2
* Copyright 2022 MusicScience37 (Kenta Kabashima)
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
20
#pragma once
21
22
// IWYU pragma: no_include <functional>
23
24
#include <type_traits>
// IWYU pragma: keep
25
26
#include "
num_collect/logging/concepts/formattable_iteration_parameter_value.h
"
27
#include "
num_collect/logging/concepts/getter_of.h
"
28
29
namespace
num_collect::logging::iterations
{
30
43
template
<
typename
Algorithm,
44
concepts::formattable_iteration_parameter_value
Value,
45
concepts::getter_of<Value>
Function>
46
class
function_iteration_parameter_value
{
47
public
:
49
using
return_type
= std::invoke_result_t<Function>;
50
56
explicit
function_iteration_parameter_value
(Function function)
57
:
function_
(
std
::move(function)) {}
58
64
[[nodiscard]]
auto
get
() const ->
return_type
{
return
function_
(); }
65
71
[[nodiscard]]
auto
get
(
const
Algorithm*
/*algorithm*/
)
const
72
->
return_type
{
73
return
get
();
74
}
75
76
private
:
78
Function
function_
;
79
};
80
81
}
// namespace num_collect::logging::iterations
num_collect::logging::iterations::function_iteration_parameter_value::get
auto get(const Algorithm *) const -> return_type
Get the current value.
Definition
function_iteration_parameter_value.h:71
num_collect::logging::iterations::function_iteration_parameter_value::get
auto get() const -> return_type
Get the current value.
Definition
function_iteration_parameter_value.h:64
num_collect::logging::iterations::function_iteration_parameter_value::return_type
std::invoke_result_t< Function > return_type
Type returned by the function.
Definition
function_iteration_parameter_value.h:49
num_collect::logging::iterations::function_iteration_parameter_value::function_
Function function_
Function.
Definition
function_iteration_parameter_value.h:78
num_collect::logging::iterations::function_iteration_parameter_value::function_iteration_parameter_value
function_iteration_parameter_value(Function function)
Constructor.
Definition
function_iteration_parameter_value.h:56
num_collect::logging::concepts::formattable_iteration_parameter_value
Concept of formattable parameter values in iterations.
Definition
formattable_iteration_parameter_value.h:35
num_collect::logging::concepts::getter_of
Concept of getter functions.
Definition
getter_of.h:35
formattable_iteration_parameter_value.h
Definition of formattable_iteration_parameter_value concept.
getter_of.h
Definition of getter_of class.
num_collect::logging::iterations
Namespace of iteration logs.
Definition
function_iteration_parameter_value.h:29
std
STL namespace.
include
num_collect
logging
iterations
function_iteration_parameter_value.h
Generated on Fri Feb 28 2025 06:27:37 for numerical-collection-cpp by
1.13.2