25 #ifndef CASADI_CALLBACK_INTERNAL_HPP
26 #define CASADI_CALLBACK_INTERNAL_HPP
28 #include "callback.hpp"
29 #include "function_internal.hpp"
34 friend class CallbackFunction;
50 std::string
class_name()
const override {
return "CallbackInternal";}
56 size_t get_n_in()
override;
57 size_t get_n_out()
override;
64 Sparsity get_sparsity_in(casadi_int i)
override;
65 Sparsity get_sparsity_out(casadi_int i)
override;
72 std::string get_name_in(casadi_int i)
override;
73 std::string get_name_out(casadi_int i)
override;
79 void init(
const Dict& opts)
override;
84 void finalize()
override;
90 std::vector<DM> eval_dm(
const std::vector<DM>& arg)
const override;
91 bool has_eval_dm()
const override {
return !has_eval_buffer_;}
97 virtual int eval(
const double** arg,
double** res,
98 casadi_int* iw,
double* w,
void* mem)
const override;
99 bool has_eval_buffer()
const;
104 bool uses_output()
const override;
109 Function factory(
const std::string& name,
110 const std::vector<std::string>& s_in,
111 const std::vector<std::string>& s_out,
113 const Dict& opts)
const override;
119 bool has_jacobian()
const override;
120 Function get_jacobian(
const std::string& name,
121 const std::vector<std::string>& inames,
122 const std::vector<std::string>& onames,
123 const Dict& opts)
const override;
130 bool has_jac_sparsity(casadi_int oind, casadi_int iind)
const override;
131 Sparsity get_jac_sparsity(casadi_int oind, casadi_int iind,
bool symmetric)
const override;
138 bool has_forward(casadi_int nfwd)
const override;
139 Function get_forward(casadi_int nfwd,
const std::string& name,
140 const std::vector<std::string>& inames,
141 const std::vector<std::string>& onames,
142 const Dict& opts)
const override;
149 bool has_reverse(casadi_int nadj)
const override;
150 Function get_reverse(casadi_int nadj,
const std::string& name,
151 const std::vector<std::string>& inames,
152 const std::vector<std::string>& onames,
153 const Dict& opts)
const override;
Callback * self_
Pointer to the public class.
std::vector< casadi_int > sizes_arg_
bool has_eval_dm() const override
Evaluate with DM matrices.
std::string class_name() const override
Get type name.
Callback function functionality.
Internal class for Function.
std::map< std::string, std::vector< std::string > > AuxOut
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.