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

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

Detailed Description

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

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

+ Collaboration diagram for Launderer< 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 T , 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...))
 

Member Function Documentation

◆ do_invoke()

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

Definition at line 133 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 138 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 144 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 154 of file type-erasure.hpp.


The documentation for this struct was generated from the following file: