#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: