#include <alpaqa/include/alpaqa/util/type-erasure.hpp>
template<class Class, class... ExtraArgs>
struct alpaqa::util::detail::Launderer< Class, ExtraArgs >
Definition at line 124 of file type-erasure.hpp.
|
template<auto Method> |
static constexpr auto | invoker () |
| Returns a function that accepts a void pointer, casts it to the class type of the member function Method , launders it, and then invokes Method with it, passing on the arguments to Method .
|
|
|
template<auto M, class V , class C , class R , class... Args> |
static constexpr auto | do_invoke (V *self, Args... args, ExtraArgs...) -> R |
|
template<auto M, class T , class R , class... Args>
requires std::is_base_of_v<T, Class> |
static constexpr auto | invoker_ovl (R(T::*)(Args...) const) |
|
template<auto M, class T , class R , class... Args>
requires std::is_base_of_v<T, Class> |
static constexpr auto | invoker_ovl (R(T::*)(Args...)) |
|
◆ do_invoke()
static constexpr auto do_invoke |
( |
V * |
self, |
|
|
Args... |
args, |
|
|
ExtraArgs... |
|
|
) |
| -> R |
|
inlinestaticconstexprprivate |
◆ invoker_ovl() [1/2]
static constexpr auto invoker_ovl |
( |
R(T::*)(Args...) const |
| ) |
|
|
inlinestaticconstexprprivate |
◆ invoker_ovl() [2/2]
static constexpr auto invoker_ovl |
( |
R(T::*)(Args...) |
| ) |
|
|
inlinestaticconstexprprivate |
◆ invoker()
static constexpr auto invoker |
( |
| ) |
|
|
inlinestaticconstexpr |
Returns a function that accepts a void pointer, casts it to the class type of the member function Method
, launders it, and then invokes Method
with it, passing on the arguments to Method
.
The function can also accept additional arguments at the end, of type ExtraArgs
.
Definition at line 151 of file type-erasure.hpp.
The documentation for this struct was generated from the following file: