26 #ifndef CASADI_IPQP_HPP 
   27 #define CASADI_IPQP_HPP 
   29 #include "casadi/core/conic_impl.hpp" 
   30 #include <casadi/solvers/casadi_conic_ipqp_export.h> 
   31 #include "casadi/core/linsol.hpp" 
   44   struct  IpqpMemory : 
public ConicMemory {
 
   45     const char* return_status;
 
   56   class  Ipqp : 
public Conic {
 
   59     explicit Ipqp(
const std::string& name,
 
   60                   const std::map<std::string, Sparsity> &st);
 
   63     static Conic* creator(
const std::string& name,
 
   64                           const std::map<std::string, Sparsity>& st) {
 
   65       return new Ipqp(name, st);
 
   72     const char* plugin_name()
 const override { 
return "ipqp";}
 
   75     std::string class_name()
 const override { 
return "Ipqp";}
 
   78     void* alloc_mem()
 const override { 
return new IpqpMemory();}
 
   81     int init_mem(
void* mem) 
const override;
 
   84     void free_mem(
void *mem)
 const override { 
delete static_cast<IpqpMemory*
>(mem);}
 
   88     static const Options options_;
 
   89     const Options& get_options()
 const override { 
return options_;}
 
   93     void init(
const Dict& opts) 
override;
 
   96     int solve(
const double** arg, 
double** res,
 
   97              casadi_int* iw, 
double* w, 
void* mem) 
const override;
 
  100     Dict get_stats(
void* mem) 
const override;
 
  103     static const std::string meta_doc;
 
  112     bool print_iter_, print_header_, print_info_;
 
  113     std::string linear_solver_;
 
  114     Dict linear_solver_options_;
 
  117     void serialize_body(SerializingStream &s) 
const override;
 
  120     static ProtoFunction* deserialize(DeserializingStream& s) { 
return new Ipqp(s); }
 
  124     explicit Ipqp(DeserializingStream& s);
 
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.