limes
3.1.0
Composable Calculus Expressions for C++20
Loading...
Searching...
No Matches
concepts.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <concepts>
4
#include <functional>
5
#include "../algorithms/core/result.hpp"
6
7
namespace
limes::methods
{
8
10
template
<
typename
M,
typename
T>
11
concept
IntegrationMethod
=
requires
(M
const
& m, std::function<T(T)> f, T a, T b) {
12
{ m(f, a, b) } -> std::convertible_to<algorithms::integration_result<T>>;
13
};
14
16
template
<
typename
M>
17
struct
is_integration_method
: std::false_type {};
18
19
template
<
typename
M>
20
inline
constexpr
bool
is_integration_method_v
=
is_integration_method<M>::value
;
21
22
}
// namespace limes::methods
limes::methods::IntegrationMethod
A 1D integration method: callable with (function, lower, upper) returning integration_result.
Definition
concepts.hpp:11
limes::methods
Definition
fwd.hpp:8
limes::methods::is_integration_method_v
constexpr bool is_integration_method_v
Definition
concepts.hpp:20
limes::methods::is_integration_method
Type trait to tag types as integration methods (specialized per method struct)
Definition
concepts.hpp:17
include
limes
methods
concepts.hpp
Generated on Fri Jan 30 2026 11:36:49 for limes by
1.9.8