alpaqa guanaqo
Nonconvex constrained optimization
Loading...
Searching...
No Matches
ExtraFuncs Class Reference

#include <alpaqa/dl/dl-problem.hpp>

Detailed Description

Definition at line 29 of file dl-problem.hpp.

Collaboration diagram for ExtraFuncs:

Classes

struct  FuncTag

Public Member Functions

 ExtraFuncs ()=default
 ExtraFuncs (std::shared_ptr< function_dict_t > &&extra_funcs)
template<class Signature>
requires std::is_function_v<Signature>
const std::function< Signature > & extra_func (const std::string &name) const
template<class Ret, class... FArgs, class... Args>
decltype(auto) call_extra_func_helper (const void *instance, FuncTag< Ret(const instance_t *, FArgs...)>, const std::string &name, Args &&...args) const
template<class Ret, class... FArgs, class... Args>
decltype(auto) call_extra_func_helper (void *instance, FuncTag< Ret(instance_t *, FArgs...)>, const std::string &name, Args &&...args)
template<class Ret, class... FArgs, class... Args>
decltype(auto) call_extra_func_helper (const void *, FuncTag< Ret(FArgs...)>, const std::string &name, Args &&...args) const

Public Attributes

std::shared_ptr< function_dict_textra_functions
 An associative array of additional functions exposed by the problem.

Class Documentation

◆ alpaqa::dl::ExtraFuncs::FuncTag

struct alpaqa::dl::ExtraFuncs::FuncTag
Collaboration diagram for ExtraFuncs::FuncTag< Func >:

Constructor & Destructor Documentation

◆ ExtraFuncs() [1/2]

ExtraFuncs ( )
default

◆ ExtraFuncs() [2/2]

ExtraFuncs ( std::shared_ptr< function_dict_t > && extra_funcs)
inline

Definition at line 35 of file dl-problem.hpp.

Member Function Documentation

◆ extra_func()

template<class Signature>
requires std::is_function_v<Signature>
const std::function< Signature > & extra_func ( const std::string & name) const
inline

Definition at line 43 of file dl-problem.hpp.

Here is the caller graph for this function:

◆ call_extra_func_helper() [1/3]

template<class Ret, class... FArgs, class... Args>
decltype(auto) call_extra_func_helper ( const void * instance,
FuncTag< Ret(const instance_t *, FArgs...)> ,
const std::string & name,
Args &&... args ) const
inline

Definition at line 66 of file dl-problem.hpp.

Here is the call graph for this function:

◆ call_extra_func_helper() [2/3]

template<class Ret, class... FArgs, class... Args>
decltype(auto) call_extra_func_helper ( void * instance,
FuncTag< Ret(instance_t *, FArgs...)> ,
const std::string & name,
Args &&... args )
inline

Definition at line 75 of file dl-problem.hpp.

Here is the call graph for this function:

◆ call_extra_func_helper() [3/3]

template<class Ret, class... FArgs, class... Args>
decltype(auto) call_extra_func_helper ( const void * ,
FuncTag< Ret(FArgs...)> ,
const std::string & name,
Args &&... args ) const
inline

Definition at line 82 of file dl-problem.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ extra_functions

std::shared_ptr<function_dict_t> extra_functions

An associative array of additional functions exposed by the problem.

Definition at line 39 of file dl-problem.hpp.


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