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;
110 bool has_jacobian()
const override;
111 Function get_jacobian(
const std::string& name,
112 const std::vector<std::string>& inames,
113 const std::vector<std::string>& onames,
114 const Dict& opts)
const override;
121 bool has_jac_sparsity(casadi_int oind, casadi_int iind)
const override;
122 Sparsity get_jac_sparsity(casadi_int oind, casadi_int iind,
bool symmetric)
const override;
129 bool has_forward(casadi_int nfwd)
const override;
130 Function get_forward(casadi_int nfwd,
const std::string& name,
131 const std::vector<std::string>& inames,
132 const std::vector<std::string>& onames,
133 const Dict& opts)
const override;
140 bool has_reverse(casadi_int nadj)
const override;
141 Function get_reverse(casadi_int nadj,
const std::string& name,
142 const std::vector<std::string>& inames,
143 const std::vector<std::string>& onames,
144 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.
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.