25 #ifndef CASADI_CALLBACK_HPP
26 #define CASADI_CALLBACK_HPP
28 #include "function.hpp"
32 class CallbackInternal;
78 void construct(
const std::string& name,
const Dict& opts=
Dict());
106 virtual std::vector<DM> eval(
const std::vector<DM>& arg)
const;
116 virtual int eval_buffer(
const double **arg,
const std::vector<casadi_int>& sizes_arg,
117 double **res,
const std::vector<casadi_int>& sizes_res)
const;
122 virtual bool has_eval_buffer()
const;
129 virtual casadi_int get_n_in();
136 virtual casadi_int get_n_out();
143 virtual Sparsity get_sparsity_in(casadi_int i);
150 virtual Sparsity get_sparsity_out(casadi_int i);
157 virtual std::string get_name_in(casadi_int i);
164 virtual std::string get_name_out(casadi_int i);
169 virtual bool uses_output()
const;
175 virtual bool has_jacobian()
const;
176 virtual Function get_jacobian(
const std::string& name,
177 const std::vector<std::string>& inames,
178 const std::vector<std::string>& onames,
179 const Dict& opts)
const;
190 virtual bool has_forward(casadi_int nfwd)
const;
191 virtual Function get_forward(casadi_int nfwd,
const std::string& name,
192 const std::vector<std::string>& inames,
193 const std::vector<std::string>& onames,
194 const Dict& opts)
const;
205 virtual bool has_reverse(casadi_int nadj)
const;
206 virtual Function get_reverse(casadi_int nadj,
const std::string& name,
207 const std::vector<std::string>& inames,
208 const std::vector<std::string>& onames,
209 const Dict& opts)
const;
Callback function functionality.
virtual void finalize()
Finalize the object.
virtual void init()
Initialize the object.
virtual bool has_jac_sparsity(casadi_int oind, casadi_int iind) const
Return sparsity of Jacobian of all input elements.
static std::string type_name()
Get type name.
virtual Sparsity get_jac_sparsity(casadi_int oind, casadi_int iind, bool symmetric) const
Return sparsity of Jacobian of all input elements.
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.