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;
174 virtual Function get_factory(
const std::string& name,
175 const std::vector<std::string>& s_in,
176 const std::vector<std::string>& s_out,
178 const Dict& opts)
const;
184 virtual bool has_jacobian()
const;
185 virtual Function get_jacobian(
const std::string& name,
186 const std::vector<std::string>& inames,
187 const std::vector<std::string>& onames,
188 const Dict& opts)
const;
199 virtual bool has_forward(casadi_int nfwd)
const;
200 virtual Function get_forward(casadi_int nfwd,
const std::string& name,
201 const std::vector<std::string>& inames,
202 const std::vector<std::string>& onames,
203 const Dict& opts)
const;
214 virtual bool has_reverse(casadi_int nadj)
const;
215 virtual Function get_reverse(casadi_int nadj,
const std::string& name,
216 const std::vector<std::string>& inames,
217 const std::vector<std::string>& onames,
218 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.
std::map< std::string, std::vector< std::string > > AuxOut
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.