#include <alpaqa/util/type-erasure.hpp>
Definition at line 131 of file type-erasure.hpp.
Collaboration diagram for Launderer< Class, ExtraArgs >:Static Public Member Functions | |
| 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. | |
Static Private Member Functions | |
| 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...)) |
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 163 of file type-erasure.hpp.