#include <guanaqo/type-erasure.hpp>
template<class Class, class... ExtraArgs>
struct guanaqo::detail::Launderer< Class, ExtraArgs >
Definition at line 164 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> |
| static constexpr auto | invoker_ovl (R(T::*)(Args...) const) |
| template<auto M, class T, class R, class... Args> |
| static constexpr auto | invoker_ovl (R(T::*)(Args...)) |
◆ do_invoke()
template<class Class, class... ExtraArgs>
template<auto M, class V, class C, class R, class... Args>
|
|
inlinestaticconstexprprivate |
◆ invoker_ovl() [1/2]
template<class Class, class... ExtraArgs>
template<auto M, class T, class R, class... Args>
|
|
inlinestaticconstexprprivate |
◆ invoker_ovl() [2/2]
template<class Class, class... ExtraArgs>
template<auto M, class T, class R, class... Args>
|
|
inlinestaticconstexprprivate |
◆ invoker()
template<class Class, class... ExtraArgs>
template<auto Method>
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 196 of file type-erasure.hpp.
The documentation for this struct was generated from the following file: