alpaqa 1.0.0a10
Nonconvex constrained optimization
Loading...
Searching...
No Matches
Static Public Member Functions | Static Private Member Functions | List of all members
Launderer< Class, ExtraArgs > Struct Template Reference

#include <alpaqa/util/type-erasure.hpp>

Detailed Description

template<class Class, class... ExtraArgs>
struct alpaqa::util::detail::Launderer< Class, ExtraArgs >

Definition at line 124 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...))
 

Member Function Documentation

◆ do_invoke()

static constexpr auto do_invoke ( V *  self,
Args...  args,
ExtraArgs...   
) -> R
inlinestaticconstexprprivate

Definition at line 128 of file type-erasure.hpp.

+ Here is the caller graph for this function:

◆ invoker_ovl() [1/2]

static constexpr auto invoker_ovl ( R(T::*)(Args...) const  )
inlinestaticconstexprprivate

Definition at line 134 of file type-erasure.hpp.

+ Here is the call graph for this function:

◆ invoker_ovl() [2/2]

static constexpr auto invoker_ovl ( R(T::*)(Args...)  )
inlinestaticconstexprprivate

Definition at line 141 of file type-erasure.hpp.

+ Here is the call graph for this function:

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