packages feed

casadi-bindings-core-2.4.1.0: cbits/autogen/casadi_wrap_classes.cpp

#include <casadi/casadi.hpp>
#include <casadi/core/casadi_interrupt.hpp>
#include <cmath>
#include <stdexcept>
#include "../marshal.hpp"

// ================== delete UserType (Namespace ["casadi"]) (Name "Callback")===============
// classType: UserType (Namespace ["casadi"]) (Name "Callback")
extern "C"
void delete_casadi__Callback(casadi::Callback* obj);
void delete_casadi__Callback(casadi::Callback* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback"
// cWrapperName: "casadi__Callback__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, casadi::IterationCallback* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Callback")
// cWrapperRetType: "casadi::Callback*"
// proto: "casadi::Callback*\n    casadi__Callback__CONSTRUCTOR__0(std::string ** err_msg, casadi::IterationCallback* x0)"
// call: "casadi::Callback(x0_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "IterationCallback"))]
extern "C"
casadi::Callback*
    casadi__Callback__CONSTRUCTOR__0(std::string ** err_msg, casadi::IterationCallback* x0);
casadi::Callback*
    casadi__Callback__CONSTRUCTOR__0(std::string ** err_msg, casadi::IterationCallback* x0){
    try {
        casadi::IterationCallback& x0_ = Marshaling<casadi::IterationCallback&,casadi::IterationCallback*>::marshal(x0);

        return new casadi::Callback(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback"
// cWrapperName: "casadi__Callback__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Callback")
// cWrapperRetType: "casadi::Callback*"
// proto: "casadi::Callback*\n    casadi__Callback__CONSTRUCTOR__1(std::string ** err_msg)"
// call: "casadi::Callback()"
// params: []
extern "C"
casadi::Callback*
    casadi__Callback__CONSTRUCTOR__1(std::string ** err_msg);
casadi::Callback*
    casadi__Callback__CONSTRUCTOR__1(std::string ** err_msg){
    try {

        return new casadi::Callback();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Callback2")===============
// classType: UserType (Namespace ["casadi"]) (Name "Callback2")
extern "C"
void delete_casadi__Callback2(casadi::Callback2* obj);
void delete_casadi__Callback2(casadi::Callback2* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Callback2"
// cppName: "casadi::Callback2"
// cWrapperName: "casadi__Callback2__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Callback2")
// cWrapperRetType: "casadi::Callback2*"
// proto: "casadi::Callback2*\n    casadi__Callback2__CONSTRUCTOR(std::string ** err_msg)"
// call: "casadi::Callback2()"
// params: []
extern "C"
casadi::Callback2*
    casadi__Callback2__CONSTRUCTOR(std::string ** err_msg);
casadi::Callback2*
    casadi__Callback2__CONSTRUCTOR(std::string ** err_msg){
    try {

        return new casadi::Callback2();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "create" ===============
// class: "casadi::Callback2"
// cppName: "casadi::Callback2::create"
// cWrapperName: "casadi__Callback2__create"
// protoArgs: "(std::string ** err_msg, casadi::Callback2* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Callback2__create(std::string ** err_msg, casadi::Callback2* obj)"
// call: "obj->create()"
// params: []
extern "C"
casadi::Function*
    casadi__Callback2__create(std::string ** err_msg, casadi::Callback2* obj);
casadi::Function*
    casadi__Callback2__create(std::string ** err_msg, casadi::Callback2* obj){
    try {

        casadi::Function ret = obj->create();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputShape" ===============
// class: "casadi::Callback2"
// cppName: "casadi::Callback2::inputShape"
// cWrapperName: "casadi__Callback2__inputShape"
// protoArgs: "(std::string ** err_msg, casadi::Callback2* obj, int x0)"
// args: "(x0_)"
// rettype: StdPair CInt CInt
// cWrapperRetType: "std::pair< int, int >*"
// proto: "std::pair< int, int >*\n    casadi__Callback2__inputShape(std::string ** err_msg, casadi::Callback2* obj, int x0)"
// call: "obj->inputShape(x0_)"
// params: [CInt]
extern "C"
std::pair< int, int >*
    casadi__Callback2__inputShape(std::string ** err_msg, casadi::Callback2* obj, int x0);
std::pair< int, int >*
    casadi__Callback2__inputShape(std::string ** err_msg, casadi::Callback2* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        std::pair< int, int > ret = obj->inputShape(x0_);
        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputSparsity" ===============
// class: "casadi::Callback2"
// cppName: "casadi::Callback2::inputSparsity"
// cWrapperName: "casadi__Callback2__inputSparsity"
// protoArgs: "(std::string ** err_msg, casadi::Callback2* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Callback2__inputSparsity(std::string ** err_msg, casadi::Callback2* obj, int x0)"
// call: "obj->inputSparsity(x0_)"
// params: [CInt]
extern "C"
casadi::Sparsity*
    casadi__Callback2__inputSparsity(std::string ** err_msg, casadi::Callback2* obj, int x0);
casadi::Sparsity*
    casadi__Callback2__inputSparsity(std::string ** err_msg, casadi::Callback2* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Sparsity ret = obj->inputSparsity(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nIn" ===============
// class: "casadi::Callback2"
// cppName: "casadi::Callback2::nIn"
// cWrapperName: "casadi__Callback2__nIn"
// protoArgs: "(std::string ** err_msg, casadi::Callback2* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Callback2__nIn(std::string ** err_msg, casadi::Callback2* obj)"
// call: "obj->nIn()"
// params: []
extern "C"
int
    casadi__Callback2__nIn(std::string ** err_msg, casadi::Callback2* obj);
int
    casadi__Callback2__nIn(std::string ** err_msg, casadi::Callback2* obj){
    try {

        int ret = obj->nIn();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nOut" ===============
// class: "casadi::Callback2"
// cppName: "casadi::Callback2::nOut"
// cWrapperName: "casadi__Callback2__nOut"
// protoArgs: "(std::string ** err_msg, casadi::Callback2* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Callback2__nOut(std::string ** err_msg, casadi::Callback2* obj)"
// call: "obj->nOut()"
// params: []
extern "C"
int
    casadi__Callback2__nOut(std::string ** err_msg, casadi::Callback2* obj);
int
    casadi__Callback2__nOut(std::string ** err_msg, casadi::Callback2* obj){
    try {

        int ret = obj->nOut();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "name" ===============
// class: "casadi::Callback2"
// cppName: "casadi::Callback2::name"
// cWrapperName: "casadi__Callback2__name"
// protoArgs: "(std::string ** err_msg, casadi::Callback2* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Callback2__name(std::string ** err_msg, casadi::Callback2* obj)"
// call: "obj->name()"
// params: []
extern "C"
std::string*
    casadi__Callback2__name(std::string ** err_msg, casadi::Callback2* obj);
std::string*
    casadi__Callback2__name(std::string ** err_msg, casadi::Callback2* obj){
    try {

        std::string ret = obj->name();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Callback2"
// cppName: "casadi::Callback2::operator ()"
// cWrapperName: "casadi__Callback2__operator_call"
// protoArgs: "(std::string ** err_msg, casadi::Callback2* obj, std::vector< casadi::DMatrix* >* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
// proto: "std::vector< casadi::DMatrix* >*\n    casadi__Callback2__operator_call(std::string ** err_msg, casadi::Callback2* obj, std::vector< casadi::DMatrix* >* x0)"
// call: "obj->operator ()(x0_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
extern "C"
std::vector< casadi::DMatrix* >*
    casadi__Callback2__operator_call(std::string ** err_msg, casadi::Callback2* obj, std::vector< casadi::DMatrix* >* x0);
std::vector< casadi::DMatrix* >*
    casadi__Callback2__operator_call(std::string ** err_msg, casadi::Callback2* obj, std::vector< casadi::DMatrix* >* x0){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);

        std::vector< casadi::DMatrix > ret = obj->operator ()(x0_);
        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "options" ===============
// class: "casadi::Callback2"
// cppName: "casadi::Callback2::options"
// cWrapperName: "casadi__Callback2__options"
// protoArgs: "(std::string ** err_msg, casadi::Callback2* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Callback2__options(std::string ** err_msg, casadi::Callback2* obj)"
// call: "obj->options()"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__Callback2__options(std::string ** err_msg, casadi::Callback2* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__Callback2__options(std::string ** err_msg, casadi::Callback2* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->options();
        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputShape" ===============
// class: "casadi::Callback2"
// cppName: "casadi::Callback2::outputShape"
// cWrapperName: "casadi__Callback2__outputShape"
// protoArgs: "(std::string ** err_msg, casadi::Callback2* obj, int x0)"
// args: "(x0_)"
// rettype: StdPair CInt CInt
// cWrapperRetType: "std::pair< int, int >*"
// proto: "std::pair< int, int >*\n    casadi__Callback2__outputShape(std::string ** err_msg, casadi::Callback2* obj, int x0)"
// call: "obj->outputShape(x0_)"
// params: [CInt]
extern "C"
std::pair< int, int >*
    casadi__Callback2__outputShape(std::string ** err_msg, casadi::Callback2* obj, int x0);
std::pair< int, int >*
    casadi__Callback2__outputShape(std::string ** err_msg, casadi::Callback2* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        std::pair< int, int > ret = obj->outputShape(x0_);
        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputSparsity" ===============
// class: "casadi::Callback2"
// cppName: "casadi::Callback2::outputSparsity"
// cWrapperName: "casadi__Callback2__outputSparsity"
// protoArgs: "(std::string ** err_msg, casadi::Callback2* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Callback2__outputSparsity(std::string ** err_msg, casadi::Callback2* obj, int x0)"
// call: "obj->outputSparsity(x0_)"
// params: [CInt]
extern "C"
casadi::Sparsity*
    casadi__Callback2__outputSparsity(std::string ** err_msg, casadi::Callback2* obj, int x0);
casadi::Sparsity*
    casadi__Callback2__outputSparsity(std::string ** err_msg, casadi::Callback2* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Sparsity ret = obj->outputSparsity(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "CasadiMeta")===============
// classType: UserType (Namespace ["casadi"]) (Name "CasadiMeta")
extern "C"
void delete_casadi__CasadiMeta(casadi::CasadiMeta* obj);
void delete_casadi__CasadiMeta(casadi::CasadiMeta* obj){
    delete obj;
}

// ================== Static method: "getBuildType" ===============
// class: "casadi::CasadiMeta"
// cppName: "casadi::CasadiMeta::getBuildType"
// cWrapperName: "casadi__CasadiMeta__getBuildType"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CasadiMeta__getBuildType(std::string ** err_msg)"
// call: "casadi::CasadiMeta::getBuildType()"
// params: []
extern "C"
std::string*
    casadi__CasadiMeta__getBuildType(std::string ** err_msg);
std::string*
    casadi__CasadiMeta__getBuildType(std::string ** err_msg){
    try {

        std::string ret = casadi::CasadiMeta::getBuildType();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getCompiler" ===============
// class: "casadi::CasadiMeta"
// cppName: "casadi::CasadiMeta::getCompiler"
// cWrapperName: "casadi__CasadiMeta__getCompiler"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CasadiMeta__getCompiler(std::string ** err_msg)"
// call: "casadi::CasadiMeta::getCompiler()"
// params: []
extern "C"
std::string*
    casadi__CasadiMeta__getCompiler(std::string ** err_msg);
std::string*
    casadi__CasadiMeta__getCompiler(std::string ** err_msg){
    try {

        std::string ret = casadi::CasadiMeta::getCompiler();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getCompilerFlags" ===============
// class: "casadi::CasadiMeta"
// cppName: "casadi::CasadiMeta::getCompilerFlags"
// cWrapperName: "casadi__CasadiMeta__getCompilerFlags"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CasadiMeta__getCompilerFlags(std::string ** err_msg)"
// call: "casadi::CasadiMeta::getCompilerFlags()"
// params: []
extern "C"
std::string*
    casadi__CasadiMeta__getCompilerFlags(std::string ** err_msg);
std::string*
    casadi__CasadiMeta__getCompilerFlags(std::string ** err_msg){
    try {

        std::string ret = casadi::CasadiMeta::getCompilerFlags();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getCompilerId" ===============
// class: "casadi::CasadiMeta"
// cppName: "casadi::CasadiMeta::getCompilerId"
// cWrapperName: "casadi__CasadiMeta__getCompilerId"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CasadiMeta__getCompilerId(std::string ** err_msg)"
// call: "casadi::CasadiMeta::getCompilerId()"
// params: []
extern "C"
std::string*
    casadi__CasadiMeta__getCompilerId(std::string ** err_msg);
std::string*
    casadi__CasadiMeta__getCompilerId(std::string ** err_msg){
    try {

        std::string ret = casadi::CasadiMeta::getCompilerId();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getFeatureList" ===============
// class: "casadi::CasadiMeta"
// cppName: "casadi::CasadiMeta::getFeatureList"
// cWrapperName: "casadi__CasadiMeta__getFeatureList"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CasadiMeta__getFeatureList(std::string ** err_msg)"
// call: "casadi::CasadiMeta::getFeatureList()"
// params: []
extern "C"
std::string*
    casadi__CasadiMeta__getFeatureList(std::string ** err_msg);
std::string*
    casadi__CasadiMeta__getFeatureList(std::string ** err_msg){
    try {

        std::string ret = casadi::CasadiMeta::getFeatureList();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getGitDescribe" ===============
// class: "casadi::CasadiMeta"
// cppName: "casadi::CasadiMeta::getGitDescribe"
// cWrapperName: "casadi__CasadiMeta__getGitDescribe"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CasadiMeta__getGitDescribe(std::string ** err_msg)"
// call: "casadi::CasadiMeta::getGitDescribe()"
// params: []
extern "C"
std::string*
    casadi__CasadiMeta__getGitDescribe(std::string ** err_msg);
std::string*
    casadi__CasadiMeta__getGitDescribe(std::string ** err_msg){
    try {

        std::string ret = casadi::CasadiMeta::getGitDescribe();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getGitRevision" ===============
// class: "casadi::CasadiMeta"
// cppName: "casadi::CasadiMeta::getGitRevision"
// cWrapperName: "casadi__CasadiMeta__getGitRevision"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CasadiMeta__getGitRevision(std::string ** err_msg)"
// call: "casadi::CasadiMeta::getGitRevision()"
// params: []
extern "C"
std::string*
    casadi__CasadiMeta__getGitRevision(std::string ** err_msg);
std::string*
    casadi__CasadiMeta__getGitRevision(std::string ** err_msg){
    try {

        std::string ret = casadi::CasadiMeta::getGitRevision();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getInstallPrefix" ===============
// class: "casadi::CasadiMeta"
// cppName: "casadi::CasadiMeta::getInstallPrefix"
// cWrapperName: "casadi__CasadiMeta__getInstallPrefix"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CasadiMeta__getInstallPrefix(std::string ** err_msg)"
// call: "casadi::CasadiMeta::getInstallPrefix()"
// params: []
extern "C"
std::string*
    casadi__CasadiMeta__getInstallPrefix(std::string ** err_msg);
std::string*
    casadi__CasadiMeta__getInstallPrefix(std::string ** err_msg){
    try {

        std::string ret = casadi::CasadiMeta::getInstallPrefix();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getModules" ===============
// class: "casadi::CasadiMeta"
// cppName: "casadi::CasadiMeta::getModules"
// cWrapperName: "casadi__CasadiMeta__getModules"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CasadiMeta__getModules(std::string ** err_msg)"
// call: "casadi::CasadiMeta::getModules()"
// params: []
extern "C"
std::string*
    casadi__CasadiMeta__getModules(std::string ** err_msg);
std::string*
    casadi__CasadiMeta__getModules(std::string ** err_msg){
    try {

        std::string ret = casadi::CasadiMeta::getModules();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getPlugins" ===============
// class: "casadi::CasadiMeta"
// cppName: "casadi::CasadiMeta::getPlugins"
// cWrapperName: "casadi__CasadiMeta__getPlugins"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CasadiMeta__getPlugins(std::string ** err_msg)"
// call: "casadi::CasadiMeta::getPlugins()"
// params: []
extern "C"
std::string*
    casadi__CasadiMeta__getPlugins(std::string ** err_msg);
std::string*
    casadi__CasadiMeta__getPlugins(std::string ** err_msg){
    try {

        std::string ret = casadi::CasadiMeta::getPlugins();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getVersion" ===============
// class: "casadi::CasadiMeta"
// cppName: "casadi::CasadiMeta::getVersion"
// cWrapperName: "casadi__CasadiMeta__getVersion"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CasadiMeta__getVersion(std::string ** err_msg)"
// call: "casadi::CasadiMeta::getVersion()"
// params: []
extern "C"
std::string*
    casadi__CasadiMeta__getVersion(std::string ** err_msg);
std::string*
    casadi__CasadiMeta__getVersion(std::string ** err_msg){
    try {

        std::string ret = casadi::CasadiMeta::getVersion();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "CasadiOptions")===============
// classType: UserType (Namespace ["casadi"]) (Name "CasadiOptions")
extern "C"
void delete_casadi__CasadiOptions(casadi::CasadiOptions* obj);
void delete_casadi__CasadiOptions(casadi::CasadiOptions* obj){
    delete obj;
}

// ================== Static method: "getAllowedInternalAPI" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::getAllowedInternalAPI"
// cWrapperName: "casadi__CasadiOptions__getAllowedInternalAPI"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__CasadiOptions__getAllowedInternalAPI(std::string ** err_msg)"
// call: "casadi::CasadiOptions::getAllowedInternalAPI()"
// params: []
extern "C"
int
    casadi__CasadiOptions__getAllowedInternalAPI(std::string ** err_msg);
int
    casadi__CasadiOptions__getAllowedInternalAPI(std::string ** err_msg){
    try {

        bool ret = casadi::CasadiOptions::getAllowedInternalAPI();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getCasadiPath" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::getCasadiPath"
// cWrapperName: "casadi__CasadiOptions__getCasadiPath"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CasadiOptions__getCasadiPath(std::string ** err_msg)"
// call: "casadi::CasadiOptions::getCasadiPath()"
// params: []
extern "C"
std::string*
    casadi__CasadiOptions__getCasadiPath(std::string ** err_msg);
std::string*
    casadi__CasadiOptions__getCasadiPath(std::string ** err_msg){
    try {

        std::string ret = casadi::CasadiOptions::getCasadiPath();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getCatchErrorsSwig" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::getCatchErrorsSwig"
// cWrapperName: "casadi__CasadiOptions__getCatchErrorsSwig"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__CasadiOptions__getCatchErrorsSwig(std::string ** err_msg)"
// call: "casadi::CasadiOptions::getCatchErrorsSwig()"
// params: []
extern "C"
int
    casadi__CasadiOptions__getCatchErrorsSwig(std::string ** err_msg);
int
    casadi__CasadiOptions__getCatchErrorsSwig(std::string ** err_msg){
    try {

        bool ret = casadi::CasadiOptions::getCatchErrorsSwig();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getProfilingBinary" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::getProfilingBinary"
// cWrapperName: "casadi__CasadiOptions__getProfilingBinary"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__CasadiOptions__getProfilingBinary(std::string ** err_msg)"
// call: "casadi::CasadiOptions::getProfilingBinary()"
// params: []
extern "C"
int
    casadi__CasadiOptions__getProfilingBinary(std::string ** err_msg);
int
    casadi__CasadiOptions__getProfilingBinary(std::string ** err_msg){
    try {

        bool ret = casadi::CasadiOptions::getProfilingBinary();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getSimplificationOnTheFly" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::getSimplificationOnTheFly"
// cWrapperName: "casadi__CasadiOptions__getSimplificationOnTheFly"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__CasadiOptions__getSimplificationOnTheFly(std::string ** err_msg)"
// call: "casadi::CasadiOptions::getSimplificationOnTheFly()"
// params: []
extern "C"
int
    casadi__CasadiOptions__getSimplificationOnTheFly(std::string ** err_msg);
int
    casadi__CasadiOptions__getSimplificationOnTheFly(std::string ** err_msg){
    try {

        bool ret = casadi::CasadiOptions::getSimplificationOnTheFly();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "setAllowedInternalAPI" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::setAllowedInternalAPI"
// cWrapperName: "casadi__CasadiOptions__setAllowedInternalAPI"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CasadiOptions__setAllowedInternalAPI(std::string ** err_msg, int x0)"
// call: "casadi::CasadiOptions::setAllowedInternalAPI(x0_)"
// params: [CBool]
extern "C"
void
    casadi__CasadiOptions__setAllowedInternalAPI(std::string ** err_msg, int x0);
void
    casadi__CasadiOptions__setAllowedInternalAPI(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::CasadiOptions::setAllowedInternalAPI(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setCasadiPath" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::setCasadiPath"
// cWrapperName: "casadi__CasadiOptions__setCasadiPath"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CasadiOptions__setCasadiPath(std::string ** err_msg, std::string* x0)"
// call: "casadi::CasadiOptions::setCasadiPath(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__CasadiOptions__setCasadiPath(std::string ** err_msg, std::string* x0);
void
    casadi__CasadiOptions__setCasadiPath(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::CasadiOptions::setCasadiPath(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setCatchErrorsSwig" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::setCatchErrorsSwig"
// cWrapperName: "casadi__CasadiOptions__setCatchErrorsSwig"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CasadiOptions__setCatchErrorsSwig(std::string ** err_msg, int x0)"
// call: "casadi::CasadiOptions::setCatchErrorsSwig(x0_)"
// params: [CBool]
extern "C"
void
    casadi__CasadiOptions__setCatchErrorsSwig(std::string ** err_msg, int x0);
void
    casadi__CasadiOptions__setCatchErrorsSwig(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::CasadiOptions::setCatchErrorsSwig(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setProfilingBinary" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::setProfilingBinary"
// cWrapperName: "casadi__CasadiOptions__setProfilingBinary"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CasadiOptions__setProfilingBinary(std::string ** err_msg, int x0)"
// call: "casadi::CasadiOptions::setProfilingBinary(x0_)"
// params: [CBool]
extern "C"
void
    casadi__CasadiOptions__setProfilingBinary(std::string ** err_msg, int x0);
void
    casadi__CasadiOptions__setProfilingBinary(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::CasadiOptions::setProfilingBinary(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setPurgeSeeds" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::setPurgeSeeds"
// cWrapperName: "casadi__CasadiOptions__setPurgeSeeds__0"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__CasadiOptions__setPurgeSeeds__0(std::string ** err_msg)"
// call: "casadi::CasadiOptions::setPurgeSeeds()"
// params: []
extern "C"
int
    casadi__CasadiOptions__setPurgeSeeds__0(std::string ** err_msg);
int
    casadi__CasadiOptions__setPurgeSeeds__0(std::string ** err_msg){
    try {

        bool ret = casadi::CasadiOptions::setPurgeSeeds();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "setPurgeSeeds" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::setPurgeSeeds"
// cWrapperName: "casadi__CasadiOptions__setPurgeSeeds__1"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CasadiOptions__setPurgeSeeds__1(std::string ** err_msg, int x0)"
// call: "casadi::CasadiOptions::setPurgeSeeds(x0_)"
// params: [CBool]
extern "C"
void
    casadi__CasadiOptions__setPurgeSeeds__1(std::string ** err_msg, int x0);
void
    casadi__CasadiOptions__setPurgeSeeds__1(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::CasadiOptions::setPurgeSeeds(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setSimplificationOnTheFly" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::setSimplificationOnTheFly"
// cWrapperName: "casadi__CasadiOptions__setSimplificationOnTheFly"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CasadiOptions__setSimplificationOnTheFly(std::string ** err_msg, int x0)"
// call: "casadi::CasadiOptions::setSimplificationOnTheFly(x0_)"
// params: [CBool]
extern "C"
void
    casadi__CasadiOptions__setSimplificationOnTheFly(std::string ** err_msg, int x0);
void
    casadi__CasadiOptions__setSimplificationOnTheFly(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::CasadiOptions::setSimplificationOnTheFly(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "startProfiling" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::startProfiling"
// cWrapperName: "casadi__CasadiOptions__startProfiling"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CasadiOptions__startProfiling(std::string ** err_msg, std::string* x0)"
// call: "casadi::CasadiOptions::startProfiling(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__CasadiOptions__startProfiling(std::string ** err_msg, std::string* x0);
void
    casadi__CasadiOptions__startProfiling(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::CasadiOptions::startProfiling(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "stopProfiling" ===============
// class: "casadi::CasadiOptions"
// cppName: "casadi::CasadiOptions::stopProfiling"
// cWrapperName: "casadi__CasadiOptions__stopProfiling"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CasadiOptions__stopProfiling(std::string ** err_msg)"
// call: "casadi::CasadiOptions::stopProfiling()"
// params: []
extern "C"
void
    casadi__CasadiOptions__stopProfiling(std::string ** err_msg);
void
    casadi__CasadiOptions__stopProfiling(std::string ** err_msg){
    try {

        casadi::CasadiOptions::stopProfiling();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "CleSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "CleSolver")
extern "C"
void delete_casadi__CleSolver(casadi::CleSolver* obj);
void delete_casadi__CleSolver(casadi::CleSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CleSolver"
// cppName: "casadi::CleSolver"
// cWrapperName: "casadi__CleSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "CleSolver")
// cWrapperRetType: "casadi::CleSolver*"
// proto: "casadi::CleSolver*\n    casadi__CleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// call: "casadi::CleSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::CleSolver*
    casadi__CleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
casadi::CleSolver*
    casadi__CleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);

        return new casadi::CleSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CleSolver"
// cppName: "casadi::CleSolver"
// cWrapperName: "casadi__CleSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "CleSolver")
// cWrapperRetType: "casadi::CleSolver*"
// proto: "casadi::CleSolver*\n    casadi__CleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::CleSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::CleSolver*
    casadi__CleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::CleSolver*
    casadi__CleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::CleSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CleSolver"
// cppName: "casadi::CleSolver"
// cWrapperName: "casadi__CleSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "CleSolver")
// cWrapperRetType: "casadi::CleSolver*"
// proto: "casadi::CleSolver*\n    casadi__CleSolver__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::CleSolver()"
// params: []
extern "C"
casadi::CleSolver*
    casadi__CleSolver__CONSTRUCTOR__2(std::string ** err_msg);
casadi::CleSolver*
    casadi__CleSolver__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::CleSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "clone" ===============
// class: "casadi::CleSolver"
// cppName: "casadi::CleSolver::clone"
// cWrapperName: "casadi__CleSolver__clone"
// protoArgs: "(std::string ** err_msg, casadi::CleSolver* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "CleSolver")
// cWrapperRetType: "casadi::CleSolver*"
// proto: "casadi::CleSolver*\n    casadi__CleSolver__clone(std::string ** err_msg, casadi::CleSolver* obj)"
// call: "obj->clone()"
// params: []
extern "C"
casadi::CleSolver*
    casadi__CleSolver__clone(std::string ** err_msg, casadi::CleSolver* obj);
casadi::CleSolver*
    casadi__CleSolver__clone(std::string ** err_msg, casadi::CleSolver* obj){
    try {

        casadi::CleSolver ret = obj->clone();
        return WrapReturn< casadi::CleSolver*, casadi::CleSolver >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::CleSolver"
// cppName: "casadi::CleSolver::doc"
// cWrapperName: "casadi__CleSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CleSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::CleSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__CleSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__CleSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::CleSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::CleSolver"
// cppName: "casadi::CleSolver::hasPlugin"
// cWrapperName: "casadi__CleSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__CleSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::CleSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__CleSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__CleSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::CleSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::CleSolver"
// cppName: "casadi::CleSolver::loadPlugin"
// cWrapperName: "casadi__CleSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CleSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::CleSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__CleSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__CleSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::CleSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printStats" ===============
// class: "casadi::CleSolver"
// cppName: "casadi::CleSolver::printStats"
// cWrapperName: "casadi__CleSolver__printStats"
// protoArgs: "(std::string ** err_msg, casadi::CleSolver* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CleSolver__printStats(std::string ** err_msg, casadi::CleSolver* obj)"
// call: "obj->printStats()"
// params: []
extern "C"
void
    casadi__CleSolver__printStats(std::string ** err_msg, casadi::CleSolver* obj);
void
    casadi__CleSolver__printStats(std::string ** err_msg, casadi::CleSolver* obj){
    try {

        obj->printStats();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "CodeGenerator")===============
// classType: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
extern "C"
void delete_casadi__CodeGenerator(casadi::CodeGenerator* obj);
void delete_casadi__CodeGenerator(casadi::CodeGenerator* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator"
// cWrapperName: "casadi__CodeGenerator__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
// cWrapperRetType: "casadi::CodeGenerator*"
// proto: "casadi::CodeGenerator*\n    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg)"
// call: "casadi::CodeGenerator()"
// params: []
extern "C"
casadi::CodeGenerator*
    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg);
casadi::CodeGenerator*
    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg){
    try {

        return new casadi::CodeGenerator();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator"
// cWrapperName: "casadi__CodeGenerator__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
// cWrapperRetType: "casadi::CodeGenerator*"
// proto: "casadi::CodeGenerator*\n    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// call: "casadi::CodeGenerator(x0_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::CodeGenerator*
    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
casadi::CodeGenerator*
    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0){
    try {
        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);

        return new casadi::CodeGenerator(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::add"
// cWrapperName: "casadi__CodeGenerator__add__0"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CodeGenerator__add__0(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0, std::string* x1)"
// call: "obj->add(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const StdString)]
extern "C"
void
    casadi__CodeGenerator__add__0(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0, std::string* x1);
void
    casadi__CodeGenerator__add__0(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0, std::string* x1){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->add(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::add"
// cWrapperName: "casadi__CodeGenerator__add__1"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CodeGenerator__add__1(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0)"
// call: "obj->add(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Function")))]
extern "C"
void
    casadi__CodeGenerator__add__1(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0);
void
    casadi__CodeGenerator__add__1(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        obj->add(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "addInclude" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::addInclude"
// cWrapperName: "casadi__CodeGenerator__addInclude__0"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CodeGenerator__addInclude__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
// call: "obj->addInclude(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__CodeGenerator__addInclude__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0);
void
    casadi__CodeGenerator__addInclude__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->addInclude(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "addInclude" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::addInclude"
// cWrapperName: "casadi__CodeGenerator__addInclude__1"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CodeGenerator__addInclude__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1)"
// call: "obj->addInclude(x0_, x1_)"
// params: [Ref (Const StdString),CBool]
extern "C"
void
    casadi__CodeGenerator__addInclude__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1);
void
    casadi__CodeGenerator__addInclude__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->addInclude(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "addInclude" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::addInclude"
// cWrapperName: "casadi__CodeGenerator__addInclude__2"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CodeGenerator__addInclude__2(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2)"
// call: "obj->addInclude(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CBool,Ref (Const StdString)]
extern "C"
void
    casadi__CodeGenerator__addInclude__2(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2);
void
    casadi__CodeGenerator__addInclude__2(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        obj->addInclude(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "compile" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::compile"
// cWrapperName: "casadi__CodeGenerator__compile__0"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CodeGenerator__compile__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
// call: "obj->compile(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__CodeGenerator__compile__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0);
std::string*
    casadi__CodeGenerator__compile__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = obj->compile(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "compile" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::compile"
// cWrapperName: "casadi__CodeGenerator__compile__1"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CodeGenerator__compile__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, std::string* x1)"
// call: "obj->compile(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
std::string*
    casadi__CodeGenerator__compile__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, std::string* x1);
std::string*
    casadi__CodeGenerator__compile__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        std::string ret = obj->compile(x0_, x1_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generate" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::generate"
// cWrapperName: "casadi__CodeGenerator__generate__0"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CodeGenerator__generate__0(std::string ** err_msg, casadi::CodeGenerator* obj)"
// call: "obj->generate()"
// params: []
extern "C"
std::string*
    casadi__CodeGenerator__generate__0(std::string ** err_msg, casadi::CodeGenerator* obj);
std::string*
    casadi__CodeGenerator__generate__0(std::string ** err_msg, casadi::CodeGenerator* obj){
    try {

        std::string ret = obj->generate();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generate" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::generate"
// cWrapperName: "casadi__CodeGenerator__generate__1"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
// call: "obj->generate(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0);
void
    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->generate(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Compiler")===============
// classType: UserType (Namespace ["casadi"]) (Name "Compiler")
extern "C"
void delete_casadi__Compiler(casadi::Compiler* obj);
void delete_casadi__Compiler(casadi::Compiler* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Compiler"
// cppName: "casadi::Compiler"
// cWrapperName: "casadi__Compiler__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Compiler")
// cWrapperRetType: "casadi::Compiler*"
// proto: "casadi::Compiler*\n    casadi__Compiler__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1)"
// call: "casadi::Compiler(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::Compiler*
    casadi__Compiler__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1);
casadi::Compiler*
    casadi__Compiler__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        return new casadi::Compiler(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Compiler"
// cppName: "casadi::Compiler"
// cWrapperName: "casadi__Compiler__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Compiler")
// cWrapperRetType: "casadi::Compiler*"
// proto: "casadi::Compiler*\n    casadi__Compiler__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// call: "casadi::Compiler(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::Compiler*
    casadi__Compiler__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::Compiler*
    casadi__Compiler__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);

        return new casadi::Compiler(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Compiler"
// cppName: "casadi::Compiler"
// cWrapperName: "casadi__Compiler__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Compiler")
// cWrapperRetType: "casadi::Compiler*"
// proto: "casadi::Compiler*\n    casadi__Compiler__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::Compiler()"
// params: []
extern "C"
casadi::Compiler*
    casadi__Compiler__CONSTRUCTOR__2(std::string ** err_msg);
casadi::Compiler*
    casadi__Compiler__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::Compiler();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::Compiler"
// cppName: "casadi::Compiler::doc"
// cWrapperName: "casadi__Compiler__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Compiler__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::Compiler::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__Compiler__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__Compiler__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::Compiler::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::Compiler"
// cppName: "casadi::Compiler::hasPlugin"
// cWrapperName: "casadi__Compiler__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Compiler__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::Compiler::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__Compiler__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__Compiler__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::Compiler::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::Compiler"
// cppName: "casadi::Compiler::loadPlugin"
// cWrapperName: "casadi__Compiler__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Compiler__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::Compiler::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__Compiler__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__Compiler__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Compiler::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "plugin_name" ===============
// class: "casadi::Compiler"
// cppName: "casadi::Compiler::plugin_name"
// cWrapperName: "casadi__Compiler__plugin_name"
// protoArgs: "(std::string ** err_msg, casadi::Compiler* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Compiler__plugin_name(std::string ** err_msg, casadi::Compiler* obj)"
// call: "obj->plugin_name()"
// params: []
extern "C"
std::string*
    casadi__Compiler__plugin_name(std::string ** err_msg, casadi::Compiler* obj);
std::string*
    casadi__Compiler__plugin_name(std::string ** err_msg, casadi::Compiler* obj){
    try {

        std::string ret = obj->plugin_name();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "ControlSimulator")===============
// classType: UserType (Namespace ["casadi"]) (Name "ControlSimulator")
extern "C"
void delete_casadi__ControlSimulator(casadi::ControlSimulator* obj);
void delete_casadi__ControlSimulator(casadi::ControlSimulator* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ControlSimulator"
// cppName: "casadi::ControlSimulator"
// cWrapperName: "casadi__ControlSimulator__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::DMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "ControlSimulator")
// cWrapperRetType: "casadi::ControlSimulator*"
// proto: "casadi::ControlSimulator*\n    casadi__ControlSimulator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::DMatrix* x2)"
// call: "casadi::ControlSimulator(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::ControlSimulator*
    casadi__ControlSimulator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::DMatrix* x2);
casadi::ControlSimulator*
    casadi__ControlSimulator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::DMatrix* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        casadi::DMatrix& x2_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x2);

        return new casadi::ControlSimulator(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ControlSimulator"
// cppName: "casadi::ControlSimulator"
// cWrapperName: "casadi__ControlSimulator__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::DMatrix* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "ControlSimulator")
// cWrapperRetType: "casadi::ControlSimulator*"
// proto: "casadi::ControlSimulator*\n    casadi__ControlSimulator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::DMatrix* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::ControlSimulator(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::ControlSimulator*
    casadi__ControlSimulator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::DMatrix* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::ControlSimulator*
    casadi__ControlSimulator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::DMatrix* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        casadi::DMatrix& x2_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::ControlSimulator(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ControlSimulator"
// cppName: "casadi::ControlSimulator"
// cWrapperName: "casadi__ControlSimulator__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, casadi::DMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "ControlSimulator")
// cWrapperRetType: "casadi::ControlSimulator*"
// proto: "casadi::ControlSimulator*\n    casadi__ControlSimulator__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, casadi::DMatrix* x3)"
// call: "casadi::ControlSimulator(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::ControlSimulator*
    casadi__ControlSimulator__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, casadi::DMatrix* x3);
casadi::ControlSimulator*
    casadi__ControlSimulator__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, casadi::DMatrix* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
        casadi::DMatrix& x3_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x3);

        return new casadi::ControlSimulator(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ControlSimulator"
// cppName: "casadi::ControlSimulator"
// cWrapperName: "casadi__ControlSimulator__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, casadi::DMatrix* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "ControlSimulator")
// cWrapperRetType: "casadi::ControlSimulator*"
// proto: "casadi::ControlSimulator*\n    casadi__ControlSimulator__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, casadi::DMatrix* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "casadi::ControlSimulator(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::ControlSimulator*
    casadi__ControlSimulator__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, casadi::DMatrix* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::ControlSimulator*
    casadi__ControlSimulator__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, casadi::DMatrix* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
        casadi::DMatrix& x3_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        return new casadi::ControlSimulator(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ControlSimulator"
// cppName: "casadi::ControlSimulator"
// cWrapperName: "casadi__ControlSimulator__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "ControlSimulator")
// cWrapperRetType: "casadi::ControlSimulator*"
// proto: "casadi::ControlSimulator*\n    casadi__ControlSimulator__CONSTRUCTOR__4(std::string ** err_msg)"
// call: "casadi::ControlSimulator()"
// params: []
extern "C"
casadi::ControlSimulator*
    casadi__ControlSimulator__CONSTRUCTOR__4(std::string ** err_msg);
casadi::ControlSimulator*
    casadi__ControlSimulator__CONSTRUCTOR__4(std::string ** err_msg){
    try {

        return new casadi::ControlSimulator();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getMajorIndex" ===============
// class: "casadi::ControlSimulator"
// cppName: "casadi::ControlSimulator::getMajorIndex"
// cWrapperName: "casadi__ControlSimulator__getMajorIndex"
// protoArgs: "(std::string ** err_msg, casadi::ControlSimulator* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__ControlSimulator__getMajorIndex(std::string ** err_msg, casadi::ControlSimulator* obj)"
// call: "obj->getMajorIndex()"
// params: []
extern "C"
std::vector< int >*
    casadi__ControlSimulator__getMajorIndex(std::string ** err_msg, casadi::ControlSimulator* obj);
std::vector< int >*
    casadi__ControlSimulator__getMajorIndex(std::string ** err_msg, casadi::ControlSimulator* obj){
    try {

        std::vector< int > ret = obj->getMajorIndex();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getMinorT" ===============
// class: "casadi::ControlSimulator"
// cppName: "casadi::ControlSimulator::getMinorT"
// cWrapperName: "casadi__ControlSimulator__getMinorT"
// protoArgs: "(std::string ** err_msg, casadi::ControlSimulator* obj)"
// args: "()"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__ControlSimulator__getMinorT(std::string ** err_msg, casadi::ControlSimulator* obj)"
// call: "obj->getMinorT()"
// params: []
extern "C"
std::vector< double >*
    casadi__ControlSimulator__getMinorT(std::string ** err_msg, casadi::ControlSimulator* obj);
std::vector< double >*
    casadi__ControlSimulator__getMinorT(std::string ** err_msg, casadi::ControlSimulator* obj){
    try {

        std::vector< double > ret = obj->getMinorT();
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getMinorU" ===============
// class: "casadi::ControlSimulator"
// cppName: "casadi::ControlSimulator::getMinorU"
// cWrapperName: "casadi__ControlSimulator__getMinorU"
// protoArgs: "(std::string ** err_msg, casadi::ControlSimulator* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__ControlSimulator__getMinorU(std::string ** err_msg, casadi::ControlSimulator* obj)"
// call: "obj->getMinorU()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__ControlSimulator__getMinorU(std::string ** err_msg, casadi::ControlSimulator* obj);
casadi::DMatrix*
    casadi__ControlSimulator__getMinorU(std::string ** err_msg, casadi::ControlSimulator* obj){
    try {

        casadi::DMatrix ret = obj->getMinorU();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "CustomEvaluate")===============
// classType: UserType (Namespace ["casadi"]) (Name "CustomEvaluate")
extern "C"
void delete_casadi__CustomEvaluate(casadi::CustomEvaluate* obj);
void delete_casadi__CustomEvaluate(casadi::CustomEvaluate* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CustomEvaluate"
// cppName: "casadi::CustomEvaluate"
// cWrapperName: "casadi__CustomEvaluate__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "CustomEvaluate")
// cWrapperRetType: "casadi::CustomEvaluate*"
// proto: "casadi::CustomEvaluate*\n    casadi__CustomEvaluate__CONSTRUCTOR(std::string ** err_msg)"
// call: "casadi::CustomEvaluate()"
// params: []
extern "C"
casadi::CustomEvaluate*
    casadi__CustomEvaluate__CONSTRUCTOR(std::string ** err_msg);
casadi::CustomEvaluate*
    casadi__CustomEvaluate__CONSTRUCTOR(std::string ** err_msg){
    try {

        return new casadi::CustomEvaluate();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "CustomFunction")===============
// classType: UserType (Namespace ["casadi"]) (Name "CustomFunction")
extern "C"
void delete_casadi__CustomFunction(casadi::CustomFunction* obj);
void delete_casadi__CustomFunction(casadi::CustomFunction* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CustomFunction"
// cppName: "casadi::CustomFunction"
// cWrapperName: "casadi__CustomFunction__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "CustomFunction")
// cWrapperRetType: "casadi::CustomFunction*"
// proto: "casadi::CustomFunction*\n    casadi__CustomFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3)"
// call: "casadi::CustomFunction(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "CustomEvaluate"))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))) (StdVec StdString))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))) (StdVec StdString)))]
extern "C"
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3);
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::CustomEvaluate& x1_ = Marshaling<casadi::CustomEvaluate&,casadi::CustomEvaluate*>::marshal(x1);
        std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > > x2_ = Marshaling<std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >*>::marshal(x2);
        std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > > x3_ = Marshaling<std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >*>::marshal(x3);

        return new casadi::CustomFunction(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CustomFunction"
// cppName: "casadi::CustomFunction"
// cWrapperName: "casadi__CustomFunction__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "CustomFunction")
// cWrapperRetType: "casadi::CustomFunction*"
// proto: "casadi::CustomFunction*\n    casadi__CustomFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "casadi::CustomFunction(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "CustomEvaluate"))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))) (StdVec StdString))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))) (StdVec StdString))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::CustomEvaluate& x1_ = Marshaling<casadi::CustomEvaluate&,casadi::CustomEvaluate*>::marshal(x1);
        std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > > x2_ = Marshaling<std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >*>::marshal(x2);
        std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > > x3_ = Marshaling<std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        return new casadi::CustomFunction(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CustomFunction"
// cppName: "casadi::CustomFunction"
// cWrapperName: "casadi__CustomFunction__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "CustomFunction")
// cWrapperRetType: "casadi::CustomFunction*"
// proto: "casadi::CustomFunction*\n    casadi__CustomFunction__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3)"
// call: "casadi::CustomFunction(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "CustomEvaluate"))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))) (StdVec StdString)))]
extern "C"
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3);
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::CustomEvaluate& x1_ = Marshaling<casadi::CustomEvaluate&,casadi::CustomEvaluate*>::marshal(x1);
        std::vector< casadi::Sparsity > x2_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x2);
        std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > > x3_ = Marshaling<std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >*>::marshal(x3);

        return new casadi::CustomFunction(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CustomFunction"
// cppName: "casadi::CustomFunction"
// cWrapperName: "casadi__CustomFunction__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "CustomFunction")
// cWrapperRetType: "casadi::CustomFunction*"
// proto: "casadi::CustomFunction*\n    casadi__CustomFunction__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "casadi::CustomFunction(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "CustomEvaluate"))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))) (StdVec StdString))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::CustomEvaluate& x1_ = Marshaling<casadi::CustomEvaluate&,casadi::CustomEvaluate*>::marshal(x1);
        std::vector< casadi::Sparsity > x2_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x2);
        std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > > x3_ = Marshaling<std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        return new casadi::CustomFunction(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CustomFunction"
// cppName: "casadi::CustomFunction"
// cWrapperName: "casadi__CustomFunction__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::vector< casadi::Sparsity* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "CustomFunction")
// cWrapperRetType: "casadi::CustomFunction*"
// proto: "casadi::CustomFunction*\n    casadi__CustomFunction__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::vector< casadi::Sparsity* >* x3)"
// call: "casadi::CustomFunction(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "CustomEvaluate"))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))) (StdVec StdString))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::vector< casadi::Sparsity* >* x3);
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::vector< casadi::Sparsity* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::CustomEvaluate& x1_ = Marshaling<casadi::CustomEvaluate&,casadi::CustomEvaluate*>::marshal(x1);
        std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > > x2_ = Marshaling<std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >*>::marshal(x2);
        std::vector< casadi::Sparsity > x3_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x3);

        return new casadi::CustomFunction(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CustomFunction"
// cppName: "casadi::CustomFunction"
// cWrapperName: "casadi__CustomFunction__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::vector< casadi::Sparsity* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "CustomFunction")
// cWrapperRetType: "casadi::CustomFunction*"
// proto: "casadi::CustomFunction*\n    casadi__CustomFunction__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::vector< casadi::Sparsity* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "casadi::CustomFunction(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "CustomEvaluate"))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))) (StdVec StdString))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::vector< casadi::Sparsity* >* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >* x2, std::vector< casadi::Sparsity* >* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::CustomEvaluate& x1_ = Marshaling<casadi::CustomEvaluate&,casadi::CustomEvaluate*>::marshal(x1);
        std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > > x2_ = Marshaling<std::pair< std::map< std::string, casadi::Sparsity >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::Sparsity* >*, std::vector< std::string* >* >*>::marshal(x2);
        std::vector< casadi::Sparsity > x3_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        return new casadi::CustomFunction(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CustomFunction"
// cppName: "casadi::CustomFunction"
// cWrapperName: "casadi__CustomFunction__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::vector< casadi::Sparsity* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "CustomFunction")
// cWrapperRetType: "casadi::CustomFunction*"
// proto: "casadi::CustomFunction*\n    casadi__CustomFunction__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::vector< casadi::Sparsity* >* x3)"
// call: "casadi::CustomFunction(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "CustomEvaluate"))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::vector< casadi::Sparsity* >* x3);
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::vector< casadi::Sparsity* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::CustomEvaluate& x1_ = Marshaling<casadi::CustomEvaluate&,casadi::CustomEvaluate*>::marshal(x1);
        std::vector< casadi::Sparsity > x2_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x2);
        std::vector< casadi::Sparsity > x3_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x3);

        return new casadi::CustomFunction(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CustomFunction"
// cppName: "casadi::CustomFunction"
// cWrapperName: "casadi__CustomFunction__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::vector< casadi::Sparsity* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "CustomFunction")
// cWrapperRetType: "casadi::CustomFunction*"
// proto: "casadi::CustomFunction*\n    casadi__CustomFunction__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::vector< casadi::Sparsity* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "casadi::CustomFunction(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "CustomEvaluate"))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::vector< casadi::Sparsity* >* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, casadi::CustomEvaluate* x1, std::vector< casadi::Sparsity* >* x2, std::vector< casadi::Sparsity* >* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::CustomEvaluate& x1_ = Marshaling<casadi::CustomEvaluate&,casadi::CustomEvaluate*>::marshal(x1);
        std::vector< casadi::Sparsity > x2_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x2);
        std::vector< casadi::Sparsity > x3_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        return new casadi::CustomFunction(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CustomFunction"
// cppName: "casadi::CustomFunction"
// cWrapperName: "casadi__CustomFunction__CONSTRUCTOR__8"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "CustomFunction")
// cWrapperRetType: "casadi::CustomFunction*"
// proto: "casadi::CustomFunction*\n    casadi__CustomFunction__CONSTRUCTOR__8(std::string ** err_msg)"
// call: "casadi::CustomFunction()"
// params: []
extern "C"
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__8(std::string ** err_msg);
casadi::CustomFunction*
    casadi__CustomFunction__CONSTRUCTOR__8(std::string ** err_msg){
    try {

        return new casadi::CustomFunction();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "DMatrix")===============
// classType: UserType (Namespace ["casadi"]) (Name "DMatrix")
extern "C"
void delete_casadi__DMatrix(casadi::DMatrix* obj);
void delete_casadi__DMatrix(casadi::DMatrix* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix"
// cWrapperName: "casadi__DMatrix__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__CONSTRUCTOR__0(std::string ** err_msg, std::vector< int >* x0)"
// call: "casadi::DMatrix(x0_)"
// params: [Ref (Const (StdVec CInt))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__0(std::string ** err_msg, std::vector< int >* x0);
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__0(std::string ** err_msg, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        return new casadi::DMatrix(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix"
// cWrapperName: "casadi__DMatrix__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__CONSTRUCTOR__1(std::string ** err_msg, casadi::IMatrix* x0)"
// call: "casadi::DMatrix(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__1(std::string ** err_msg, casadi::IMatrix* x0);
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__1(std::string ** err_msg, casadi::IMatrix* x0){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);

        return new casadi::DMatrix(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix"
// cWrapperName: "casadi__DMatrix__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__CONSTRUCTOR__2(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// call: "casadi::DMatrix(x0_)"
// params: [Ref (Const (StdVec (StdVec CDouble)))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__2(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__2(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
    try {
        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);

        return new casadi::DMatrix(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix"
// cWrapperName: "casadi__DMatrix__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, double x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__CONSTRUCTOR__3(std::string ** err_msg, double x0)"
// call: "casadi::DMatrix(x0_)"
// params: [CDouble]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__3(std::string ** err_msg, double x0);
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__3(std::string ** err_msg, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        return new casadi::DMatrix(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix"
// cWrapperName: "casadi__DMatrix__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::DMatrix* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::DMatrix* x1)"
// call: "casadi::DMatrix(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::DMatrix* x1);
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::DMatrix* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::DMatrix& x1_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x1);

        return new casadi::DMatrix(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix"
// cWrapperName: "casadi__DMatrix__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::DMatrix(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0);
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        return new casadi::DMatrix(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix"
// cWrapperName: "casadi__DMatrix__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__CONSTRUCTOR__6(std::string ** err_msg, int x0, int x1)"
// call: "casadi::DMatrix(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__6(std::string ** err_msg, int x0, int x1);
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__6(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        return new casadi::DMatrix(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix"
// cWrapperName: "casadi__DMatrix__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__CONSTRUCTOR__7(std::string ** err_msg, casadi::DMatrix* x0)"
// call: "casadi::DMatrix(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__7(std::string ** err_msg, casadi::DMatrix* x0);
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__7(std::string ** err_msg, casadi::DMatrix* x0){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);

        return new casadi::DMatrix(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix"
// cWrapperName: "casadi__DMatrix__CONSTRUCTOR__8"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__CONSTRUCTOR__8(std::string ** err_msg)"
// call: "casadi::DMatrix()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__8(std::string ** err_msg);
casadi::DMatrix*
    casadi__DMatrix__CONSTRUCTOR__8(std::string ** err_msg){
    try {

        return new casadi::DMatrix();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "T" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::T"
// cWrapperName: "casadi__DMatrix__T"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__T(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->T()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__DMatrix__T(std::string ** err_msg, casadi::DMatrix* obj);
casadi::DMatrix*
    casadi__DMatrix__T(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        casadi::DMatrix ret = obj->T();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "__nonzero__" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::__nonzero__"
// cWrapperName: "casadi__DMatrix____nonzero__"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix____nonzero__(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->__nonzero__()"
// params: []
extern "C"
int
    casadi__DMatrix____nonzero__(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix____nonzero__(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->__nonzero__();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "append" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::append"
// cWrapperName: "casadi__DMatrix__append"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__append(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0)"
// call: "obj->append(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
void
    casadi__DMatrix__append(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0);
void
    casadi__DMatrix__append(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);

        obj->append(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "appendColumns" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::appendColumns"
// cWrapperName: "casadi__DMatrix__appendColumns"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__appendColumns(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0)"
// call: "obj->appendColumns(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
void
    casadi__DMatrix__appendColumns(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0);
void
    casadi__DMatrix__appendColumns(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);

        obj->appendColumns(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "binary" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::binary"
// cWrapperName: "casadi__DMatrix__binary"
// protoArgs: "(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__binary(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2)"
// call: "casadi::DMatrix::binary(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__binary(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2);
casadi::DMatrix*
    casadi__DMatrix__binary(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::DMatrix& x1_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x1);
        casadi::DMatrix& x2_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x2);

        casadi::DMatrix ret = casadi::DMatrix::binary(x0_, x1_, x2_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "className" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::className"
// cWrapperName: "casadi__DMatrix__className"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DMatrix__className(std::string ** err_msg)"
// call: "casadi::DMatrix::className()"
// params: []
extern "C"
std::string*
    casadi__DMatrix__className(std::string ** err_msg);
std::string*
    casadi__DMatrix__className(std::string ** err_msg){
    try {

        std::string ret = casadi::DMatrix::className();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "clear" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::clear"
// cWrapperName: "casadi__DMatrix__clear"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__clear(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->clear()"
// params: []
extern "C"
void
    casadi__DMatrix__clear(std::string ** err_msg, casadi::DMatrix* obj);
void
    casadi__DMatrix__clear(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        obj->clear();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "colind" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::colind"
// cWrapperName: "casadi__DMatrix__colind"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__colind(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// call: "obj->colind(x0_)"
// params: [CInt]
extern "C"
int
    casadi__DMatrix__colind(std::string ** err_msg, casadi::DMatrix* obj, int x0);
int
    casadi__DMatrix__colind(std::string ** err_msg, casadi::DMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->colind(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dimString" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::dimString"
// cWrapperName: "casadi__DMatrix__dimString"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DMatrix__dimString(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->dimString()"
// params: []
extern "C"
std::string*
    casadi__DMatrix__dimString(std::string ** err_msg, casadi::DMatrix* obj);
std::string*
    casadi__DMatrix__dimString(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        std::string ret = obj->dimString();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::enlarge"
// cWrapperName: "casadi__DMatrix__enlarge__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__enlarge__0(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// call: "obj->enlarge(x0_, x1_, x2_, x3_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__DMatrix__enlarge__0(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
void
    casadi__DMatrix__enlarge__0(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);

        obj->enlarge(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::enlarge"
// cWrapperName: "casadi__DMatrix__enlarge__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__enlarge__1(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
// call: "obj->enlarge(x0_, x1_, x2_, x3_, x4_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__DMatrix__enlarge__1(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4);
void
    casadi__DMatrix__enlarge__1(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::erase"
// cWrapperName: "casadi__DMatrix__erase__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__erase__0(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0)"
// call: "obj->erase(x0_)"
// params: [Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__DMatrix__erase__0(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0);
void
    casadi__DMatrix__erase__0(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        obj->erase(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::erase"
// cWrapperName: "casadi__DMatrix__erase__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__erase__1(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, int x1)"
// call: "obj->erase(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__DMatrix__erase__1(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, int x1);
void
    casadi__DMatrix__erase__1(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, int x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->erase(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::erase"
// cWrapperName: "casadi__DMatrix__erase__2"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__erase__2(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, std::vector< int >* x1)"
// call: "obj->erase(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__DMatrix__erase__2(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, std::vector< int >* x1);
void
    casadi__DMatrix__erase__2(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, std::vector< int >* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        obj->erase(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::erase"
// cWrapperName: "casadi__DMatrix__erase__3"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__erase__3(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
// call: "obj->erase(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__DMatrix__erase__3(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, std::vector< int >* x1, int x2);
void
    casadi__DMatrix__erase__3(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, std::vector< int >* x1, int x2){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->erase(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "eye" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::eye"
// cWrapperName: "casadi__DMatrix__eye"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__eye(std::string ** err_msg, int x0)"
// call: "casadi::DMatrix::eye(x0_)"
// params: [CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__eye(std::string ** err_msg, int x0);
casadi::DMatrix*
    casadi__DMatrix__eye(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::eye(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "find" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::find"
// cWrapperName: "casadi__DMatrix__find__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__DMatrix__find__0(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->find()"
// params: []
extern "C"
std::vector< int >*
    casadi__DMatrix__find__0(std::string ** err_msg, casadi::DMatrix* obj);
std::vector< int >*
    casadi__DMatrix__find__0(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        std::vector< int > ret = obj->find();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "find" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::find"
// cWrapperName: "casadi__DMatrix__find__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__DMatrix__find__1(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// call: "obj->find(x0_)"
// params: [CBool]
extern "C"
std::vector< int >*
    casadi__DMatrix__find__1(std::string ** err_msg, casadi::DMatrix* obj, int x0);
std::vector< int >*
    casadi__DMatrix__find__1(std::string ** err_msg, casadi::DMatrix* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::vector< int > ret = obj->find(x0_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::get"
// cWrapperName: "casadi__DMatrix__get__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__get__0(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "DMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__DMatrix__get__0(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3);
void
    casadi__DMatrix__get__0(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::get"
// cWrapperName: "casadi__DMatrix__get__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__get__1(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "DMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__DMatrix__get__1(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3);
void
    casadi__DMatrix__get__1(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::get"
// cWrapperName: "casadi__DMatrix__get__2"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__get__2(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "DMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__DMatrix__get__2(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3);
void
    casadi__DMatrix__get__2(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::get"
// cWrapperName: "casadi__DMatrix__get__3"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__get__3(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "DMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__DMatrix__get__3(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__DMatrix__get__3(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::get"
// cWrapperName: "casadi__DMatrix__get__4"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__get__4(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Sparsity* x2)"
// call: "obj->get(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "DMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
void
    casadi__DMatrix__get__4(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Sparsity* x2);
void
    casadi__DMatrix__get__4(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::get"
// cWrapperName: "casadi__DMatrix__get__5"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__get__5(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->get(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "DMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__DMatrix__get__5(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2);
void
    casadi__DMatrix__get__5(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::get"
// cWrapperName: "casadi__DMatrix__get__6"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__get__6(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2)"
// call: "obj->get(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "DMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__DMatrix__get__6(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2);
void
    casadi__DMatrix__get__6(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::get"
// cWrapperName: "casadi__DMatrix__get__7"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__get__7(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0)"
// call: "obj->get(x0_)"
// params: [Ref (StdVec CDouble)]
extern "C"
void
    casadi__DMatrix__get__7(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0);
void
    casadi__DMatrix__get__7(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->get(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getColind" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getColind"
// cWrapperName: "casadi__DMatrix__getColind"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__DMatrix__getColind(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->getColind()"
// params: []
extern "C"
std::vector< int >*
    casadi__DMatrix__getColind(std::string ** err_msg, casadi::DMatrix* obj);
std::vector< int >*
    casadi__DMatrix__getColind(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        std::vector< int > ret = obj->getColind();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDep" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getDep"
// cWrapperName: "casadi__DMatrix__getDep__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__getDep__0(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->getDep()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__DMatrix__getDep__0(std::string ** err_msg, casadi::DMatrix* obj);
casadi::DMatrix*
    casadi__DMatrix__getDep__0(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        casadi::DMatrix ret = obj->getDep();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDep" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getDep"
// cWrapperName: "casadi__DMatrix__getDep__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__getDep__1(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// call: "obj->getDep(x0_)"
// params: [CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__getDep__1(std::string ** err_msg, casadi::DMatrix* obj, int x0);
casadi::DMatrix*
    casadi__DMatrix__getDep__1(std::string ** err_msg, casadi::DMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::DMatrix ret = obj->getDep(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getElementHash" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getElementHash"
// cWrapperName: "casadi__DMatrix__getElementHash"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__DMatrix__getElementHash(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->getElementHash()"
// params: []
extern "C"
size_t
    casadi__DMatrix__getElementHash(std::string ** err_msg, casadi::DMatrix* obj);
size_t
    casadi__DMatrix__getElementHash(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        size_t ret = obj->getElementHash();
        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getEqualityCheckingDepth" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getEqualityCheckingDepth"
// cWrapperName: "casadi__DMatrix__getEqualityCheckingDepth"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__getEqualityCheckingDepth(std::string ** err_msg)"
// call: "casadi::DMatrix::getEqualityCheckingDepth()"
// params: []
extern "C"
int
    casadi__DMatrix__getEqualityCheckingDepth(std::string ** err_msg);
int
    casadi__DMatrix__getEqualityCheckingDepth(std::string ** err_msg){
    try {

        int ret = casadi::DMatrix::getEqualityCheckingDepth();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getIntValue" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getIntValue"
// cWrapperName: "casadi__DMatrix__getIntValue"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__getIntValue(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->getIntValue()"
// params: []
extern "C"
int
    casadi__DMatrix__getIntValue(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__getIntValue(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        int ret = obj->getIntValue();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getNZ"
// cWrapperName: "casadi__DMatrix__getNZ__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__getNZ__0(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->getNZ(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "DMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__DMatrix__getNZ__0(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2);
void
    casadi__DMatrix__getNZ__0(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->getNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getNZ"
// cWrapperName: "casadi__DMatrix__getNZ__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__getNZ__1(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2)"
// call: "obj->getNZ(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "DMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__DMatrix__getNZ__1(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2);
void
    casadi__DMatrix__getNZ__1(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->getNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getNZ"
// cWrapperName: "casadi__DMatrix__getNZ__2"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__getNZ__2(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0)"
// call: "obj->getNZ(x0_)"
// params: [Ref (StdVec CDouble)]
extern "C"
void
    casadi__DMatrix__getNZ__2(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0);
void
    casadi__DMatrix__getNZ__2(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->getNZ(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getName" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getName"
// cWrapperName: "casadi__DMatrix__getName"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DMatrix__getName(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->getName()"
// params: []
extern "C"
std::string*
    casadi__DMatrix__getName(std::string ** err_msg, casadi::DMatrix* obj);
std::string*
    casadi__DMatrix__getName(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        std::string ret = obj->getName();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getNdeps" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getNdeps"
// cWrapperName: "casadi__DMatrix__getNdeps"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__getNdeps(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->getNdeps()"
// params: []
extern "C"
int
    casadi__DMatrix__getNdeps(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__getNdeps(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        int ret = obj->getNdeps();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getRow" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getRow"
// cWrapperName: "casadi__DMatrix__getRow"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__DMatrix__getRow(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->getRow()"
// params: []
extern "C"
std::vector< int >*
    casadi__DMatrix__getRow(std::string ** err_msg, casadi::DMatrix* obj);
std::vector< int >*
    casadi__DMatrix__getRow(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        std::vector< int > ret = obj->getRow();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getSparsity" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getSparsity"
// cWrapperName: "casadi__DMatrix__getSparsity"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__DMatrix__getSparsity(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->getSparsity()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__DMatrix__getSparsity(std::string ** err_msg, casadi::DMatrix* obj);
casadi::Sparsity*
    casadi__DMatrix__getSparsity(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        casadi::Sparsity ret = obj->getSparsity();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getSym" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getSym"
// cWrapperName: "casadi__DMatrix__getSym"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__getSym(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0)"
// call: "obj->getSym(x0_)"
// params: [Ref (StdVec CDouble)]
extern "C"
void
    casadi__DMatrix__getSym(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0);
void
    casadi__DMatrix__getSym(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->getSym(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getValue" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getValue"
// cWrapperName: "casadi__DMatrix__getValue__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DMatrix__getValue__0(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// call: "obj->getValue(x0_)"
// params: [CInt]
extern "C"
double
    casadi__DMatrix__getValue__0(std::string ** err_msg, casadi::DMatrix* obj, int x0);
double
    casadi__DMatrix__getValue__0(std::string ** err_msg, casadi::DMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        double ret = obj->getValue(x0_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getValue" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getValue"
// cWrapperName: "casadi__DMatrix__getValue__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DMatrix__getValue__1(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->getValue()"
// params: []
extern "C"
double
    casadi__DMatrix__getValue__1(std::string ** err_msg, casadi::DMatrix* obj);
double
    casadi__DMatrix__getValue__1(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        double ret = obj->getValue();
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hasDuplicates" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::hasDuplicates"
// cWrapperName: "casadi__DMatrix__hasDuplicates"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__hasDuplicates(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->hasDuplicates()"
// params: []
extern "C"
int
    casadi__DMatrix__hasDuplicates(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__hasDuplicates(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->hasDuplicates();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hasNZ" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::hasNZ"
// cWrapperName: "casadi__DMatrix__hasNZ"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__hasNZ(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1)"
// call: "obj->hasNZ(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
int
    casadi__DMatrix__hasNZ(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1);
int
    casadi__DMatrix__hasNZ(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        bool ret = obj->hasNZ(x0_, x1_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hasNonStructuralZeros" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::hasNonStructuralZeros"
// cWrapperName: "casadi__DMatrix__hasNonStructuralZeros"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__hasNonStructuralZeros(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->hasNonStructuralZeros()"
// params: []
extern "C"
int
    casadi__DMatrix__hasNonStructuralZeros(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__hasNonStructuralZeros(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->hasNonStructuralZeros();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::inf"
// cWrapperName: "casadi__DMatrix__inf__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__inf__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::DMatrix::inf(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__inf__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::DMatrix*
    casadi__DMatrix__inf__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::inf(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::inf"
// cWrapperName: "casadi__DMatrix__inf__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__inf__1(std::string ** err_msg)"
// call: "casadi::DMatrix::inf()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__DMatrix__inf__1(std::string ** err_msg);
casadi::DMatrix*
    casadi__DMatrix__inf__1(std::string ** err_msg){
    try {

        casadi::DMatrix ret = casadi::DMatrix::inf();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::inf"
// cWrapperName: "casadi__DMatrix__inf__2"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__inf__2(std::string ** err_msg, int x0)"
// call: "casadi::DMatrix::inf(x0_)"
// params: [CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__inf__2(std::string ** err_msg, int x0);
casadi::DMatrix*
    casadi__DMatrix__inf__2(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::inf(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::inf"
// cWrapperName: "casadi__DMatrix__inf__3"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__inf__3(std::string ** err_msg, int x0, int x1)"
// call: "casadi::DMatrix::inf(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__inf__3(std::string ** err_msg, int x0, int x1);
casadi::DMatrix*
    casadi__DMatrix__inf__3(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::DMatrix ret = casadi::DMatrix::inf(x0_, x1_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::inf"
// cWrapperName: "casadi__DMatrix__inf__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::DMatrix::inf(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::DMatrix*
    casadi__DMatrix__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::inf(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isCommutative" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isCommutative"
// cWrapperName: "casadi__DMatrix__isCommutative"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isCommutative(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isCommutative()"
// params: []
extern "C"
int
    casadi__DMatrix__isCommutative(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isCommutative(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isCommutative();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isConstant" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isConstant"
// cWrapperName: "casadi__DMatrix__isConstant"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isConstant(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isConstant()"
// params: []
extern "C"
int
    casadi__DMatrix__isConstant(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isConstant(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isConstant();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isIdentity" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isIdentity"
// cWrapperName: "casadi__DMatrix__isIdentity"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isIdentity(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isIdentity()"
// params: []
extern "C"
int
    casadi__DMatrix__isIdentity(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isIdentity(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isIdentity();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isInteger" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isInteger"
// cWrapperName: "casadi__DMatrix__isInteger"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isInteger(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isInteger()"
// params: []
extern "C"
int
    casadi__DMatrix__isInteger(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isInteger(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isInteger();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isLeaf" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isLeaf"
// cWrapperName: "casadi__DMatrix__isLeaf"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isLeaf(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isLeaf()"
// params: []
extern "C"
int
    casadi__DMatrix__isLeaf(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isLeaf(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isLeaf();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isMinusOne" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isMinusOne"
// cWrapperName: "casadi__DMatrix__isMinusOne"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isMinusOne(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isMinusOne()"
// params: []
extern "C"
int
    casadi__DMatrix__isMinusOne(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isMinusOne(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isMinusOne();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isOne" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isOne"
// cWrapperName: "casadi__DMatrix__isOne"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isOne(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isOne()"
// params: []
extern "C"
int
    casadi__DMatrix__isOne(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isOne(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isOne();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isRegular" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isRegular"
// cWrapperName: "casadi__DMatrix__isRegular"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isRegular(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isRegular()"
// params: []
extern "C"
int
    casadi__DMatrix__isRegular(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isRegular(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isRegular();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isSlice" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isSlice"
// cWrapperName: "casadi__DMatrix__isSlice__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isSlice__0(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isSlice()"
// params: []
extern "C"
int
    casadi__DMatrix__isSlice__0(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isSlice__0(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isSlice();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isSlice" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isSlice"
// cWrapperName: "casadi__DMatrix__isSlice__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isSlice__1(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// call: "obj->isSlice(x0_)"
// params: [CBool]
extern "C"
int
    casadi__DMatrix__isSlice__1(std::string ** err_msg, casadi::DMatrix* obj, int x0);
int
    casadi__DMatrix__isSlice__1(std::string ** err_msg, casadi::DMatrix* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->isSlice(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isSmooth" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isSmooth"
// cWrapperName: "casadi__DMatrix__isSmooth"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isSmooth(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isSmooth()"
// params: []
extern "C"
int
    casadi__DMatrix__isSmooth(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isSmooth(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isSmooth();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isSymbolic" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isSymbolic"
// cWrapperName: "casadi__DMatrix__isSymbolic"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isSymbolic(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isSymbolic()"
// params: []
extern "C"
int
    casadi__DMatrix__isSymbolic(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isSymbolic(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isSymbolic();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isValidInput" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isValidInput"
// cWrapperName: "casadi__DMatrix__isValidInput"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isValidInput(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isValidInput()"
// params: []
extern "C"
int
    casadi__DMatrix__isValidInput(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isValidInput(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isValidInput();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isZero" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isZero"
// cWrapperName: "casadi__DMatrix__isZero"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isZero(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isZero()"
// params: []
extern "C"
int
    casadi__DMatrix__isZero(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isZero(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isZero();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "iscolumn" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::iscolumn"
// cWrapperName: "casadi__DMatrix__iscolumn"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__iscolumn(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->iscolumn()"
// params: []
extern "C"
int
    casadi__DMatrix__iscolumn(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__iscolumn(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->iscolumn();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isdense" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isdense"
// cWrapperName: "casadi__DMatrix__isdense"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isdense(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isdense()"
// params: []
extern "C"
int
    casadi__DMatrix__isdense(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isdense(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isdense();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isempty" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isempty"
// cWrapperName: "casadi__DMatrix__isempty__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isempty__0(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isempty()"
// params: []
extern "C"
int
    casadi__DMatrix__isempty__0(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isempty__0(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isempty();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isempty" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isempty"
// cWrapperName: "casadi__DMatrix__isempty__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isempty__1(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// call: "obj->isempty(x0_)"
// params: [CBool]
extern "C"
int
    casadi__DMatrix__isempty__1(std::string ** err_msg, casadi::DMatrix* obj, int x0);
int
    casadi__DMatrix__isempty__1(std::string ** err_msg, casadi::DMatrix* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->isempty(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isrow" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isrow"
// cWrapperName: "casadi__DMatrix__isrow"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isrow(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isrow()"
// params: []
extern "C"
int
    casadi__DMatrix__isrow(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isrow(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isrow();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isscalar" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isscalar"
// cWrapperName: "casadi__DMatrix__isscalar__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isscalar__0(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isscalar()"
// params: []
extern "C"
int
    casadi__DMatrix__isscalar__0(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isscalar__0(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isscalar();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isscalar" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isscalar"
// cWrapperName: "casadi__DMatrix__isscalar__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isscalar__1(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// call: "obj->isscalar(x0_)"
// params: [CBool]
extern "C"
int
    casadi__DMatrix__isscalar__1(std::string ** err_msg, casadi::DMatrix* obj, int x0);
int
    casadi__DMatrix__isscalar__1(std::string ** err_msg, casadi::DMatrix* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->isscalar(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "issquare" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::issquare"
// cWrapperName: "casadi__DMatrix__issquare"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__issquare(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->issquare()"
// params: []
extern "C"
int
    casadi__DMatrix__issquare(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__issquare(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->issquare();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "istril" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::istril"
// cWrapperName: "casadi__DMatrix__istril"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__istril(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->istril()"
// params: []
extern "C"
int
    casadi__DMatrix__istril(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__istril(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->istril();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "istriu" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::istriu"
// cWrapperName: "casadi__DMatrix__istriu"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__istriu(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->istriu()"
// params: []
extern "C"
int
    casadi__DMatrix__istriu(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__istriu(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->istriu();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isvector" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::isvector"
// cWrapperName: "casadi__DMatrix__isvector"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__isvector(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->isvector()"
// params: []
extern "C"
int
    casadi__DMatrix__isvector(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__isvector(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        bool ret = obj->isvector();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "makeSparse" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::makeSparse"
// cWrapperName: "casadi__DMatrix__makeSparse__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__makeSparse__0(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->makeSparse()"
// params: []
extern "C"
void
    casadi__DMatrix__makeSparse__0(std::string ** err_msg, casadi::DMatrix* obj);
void
    casadi__DMatrix__makeSparse__0(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        obj->makeSparse();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "makeSparse" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::makeSparse"
// cWrapperName: "casadi__DMatrix__makeSparse__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__makeSparse__1(std::string ** err_msg, casadi::DMatrix* obj, double x0)"
// call: "obj->makeSparse(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__DMatrix__makeSparse__1(std::string ** err_msg, casadi::DMatrix* obj, double x0);
void
    casadi__DMatrix__makeSparse__1(std::string ** err_msg, casadi::DMatrix* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->makeSparse(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "matrix_matrix" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::matrix_matrix"
// cWrapperName: "casadi__DMatrix__matrix_matrix"
// protoArgs: "(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__matrix_matrix(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2)"
// call: "casadi::DMatrix::matrix_matrix(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__matrix_matrix(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2);
casadi::DMatrix*
    casadi__DMatrix__matrix_matrix(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::DMatrix& x1_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x1);
        casadi::DMatrix& x2_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x2);

        casadi::DMatrix ret = casadi::DMatrix::matrix_matrix(x0_, x1_, x2_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "matrix_scalar" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::matrix_scalar"
// cWrapperName: "casadi__DMatrix__matrix_scalar"
// protoArgs: "(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__matrix_scalar(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2)"
// call: "casadi::DMatrix::matrix_scalar(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__matrix_scalar(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2);
casadi::DMatrix*
    casadi__DMatrix__matrix_scalar(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::DMatrix& x1_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x1);
        casadi::DMatrix& x2_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x2);

        casadi::DMatrix ret = casadi::DMatrix::matrix_scalar(x0_, x1_, x2_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::nan"
// cWrapperName: "casadi__DMatrix__nan__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__nan__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::DMatrix::nan(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__nan__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::DMatrix*
    casadi__DMatrix__nan__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::nan(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::nan"
// cWrapperName: "casadi__DMatrix__nan__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__nan__1(std::string ** err_msg)"
// call: "casadi::DMatrix::nan()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__DMatrix__nan__1(std::string ** err_msg);
casadi::DMatrix*
    casadi__DMatrix__nan__1(std::string ** err_msg){
    try {

        casadi::DMatrix ret = casadi::DMatrix::nan();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::nan"
// cWrapperName: "casadi__DMatrix__nan__2"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__nan__2(std::string ** err_msg, int x0)"
// call: "casadi::DMatrix::nan(x0_)"
// params: [CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__nan__2(std::string ** err_msg, int x0);
casadi::DMatrix*
    casadi__DMatrix__nan__2(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::nan(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::nan"
// cWrapperName: "casadi__DMatrix__nan__3"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__nan__3(std::string ** err_msg, int x0, int x1)"
// call: "casadi::DMatrix::nan(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__nan__3(std::string ** err_msg, int x0, int x1);
casadi::DMatrix*
    casadi__DMatrix__nan__3(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::DMatrix ret = casadi::DMatrix::nan(x0_, x1_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::nan"
// cWrapperName: "casadi__DMatrix__nan__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::DMatrix::nan(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::DMatrix*
    casadi__DMatrix__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::nan(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::nnz"
// cWrapperName: "casadi__DMatrix__nnz"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__nnz(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->nnz()"
// params: []
extern "C"
int
    casadi__DMatrix__nnz(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__nnz(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        int ret = obj->nnz();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nonzeros" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::nonzeros"
// cWrapperName: "casadi__DMatrix__nonzeros"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DMatrix__nonzeros(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->nonzeros()"
// params: []
extern "C"
std::vector< double >*
    casadi__DMatrix__nonzeros(std::string ** err_msg, casadi::DMatrix* obj);
std::vector< double >*
    casadi__DMatrix__nonzeros(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        std::vector< double > ret = obj->nonzeros();
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nonzeros_int" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::nonzeros_int"
// cWrapperName: "casadi__DMatrix__nonzeros_int"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__DMatrix__nonzeros_int(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->nonzeros_int()"
// params: []
extern "C"
std::vector< int >*
    casadi__DMatrix__nonzeros_int(std::string ** err_msg, casadi::DMatrix* obj);
std::vector< int >*
    casadi__DMatrix__nonzeros_int(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        std::vector< int > ret = obj->nonzeros_int();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::numel"
// cWrapperName: "casadi__DMatrix__numel__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__numel__0(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// call: "obj->numel(x0_)"
// params: [CInt]
extern "C"
int
    casadi__DMatrix__numel__0(std::string ** err_msg, casadi::DMatrix* obj, int x0);
int
    casadi__DMatrix__numel__0(std::string ** err_msg, casadi::DMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->numel(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::numel"
// cWrapperName: "casadi__DMatrix__numel__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__numel__1(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->numel()"
// params: []
extern "C"
int
    casadi__DMatrix__numel__1(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__numel__1(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        int ret = obj->numel();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::ones"
// cWrapperName: "casadi__DMatrix__ones__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__ones__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::DMatrix::ones(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__ones__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::DMatrix*
    casadi__DMatrix__ones__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::ones(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::ones"
// cWrapperName: "casadi__DMatrix__ones__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::DMatrix::ones(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::DMatrix*
    casadi__DMatrix__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::ones(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::ones"
// cWrapperName: "casadi__DMatrix__ones__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__ones__2(std::string ** err_msg)"
// call: "casadi::DMatrix::ones()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__DMatrix__ones__2(std::string ** err_msg);
casadi::DMatrix*
    casadi__DMatrix__ones__2(std::string ** err_msg){
    try {

        casadi::DMatrix ret = casadi::DMatrix::ones();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::ones"
// cWrapperName: "casadi__DMatrix__ones__3"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__ones__3(std::string ** err_msg, int x0)"
// call: "casadi::DMatrix::ones(x0_)"
// params: [CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__ones__3(std::string ** err_msg, int x0);
casadi::DMatrix*
    casadi__DMatrix__ones__3(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::ones(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::ones"
// cWrapperName: "casadi__DMatrix__ones__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__ones__4(std::string ** err_msg, int x0, int x1)"
// call: "casadi::DMatrix::ones(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__ones__4(std::string ** err_msg, int x0, int x1);
casadi::DMatrix*
    casadi__DMatrix__ones__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::DMatrix ret = casadi::DMatrix::ones(x0_, x1_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator +" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::operator +"
// cWrapperName: "casadi__DMatrix__operator_plus"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__operator_plus(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->operator +()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__DMatrix__operator_plus(std::string ** err_msg, casadi::DMatrix* obj);
casadi::DMatrix*
    casadi__DMatrix__operator_plus(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        casadi::DMatrix ret = obj->operator +();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator -" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::operator -"
// cWrapperName: "casadi__DMatrix__operator_minus"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__operator_minus(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->operator -()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__DMatrix__operator_minus(std::string ** err_msg, casadi::DMatrix* obj);
casadi::DMatrix*
    casadi__DMatrix__operator_minus(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        casadi::DMatrix ret = obj->operator -();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "printDense" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::printDense"
// cWrapperName: "casadi__DMatrix__printDense"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__printDense(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->printDense()"
// params: []
extern "C"
void
    casadi__DMatrix__printDense(std::string ** err_msg, casadi::DMatrix* obj);
void
    casadi__DMatrix__printDense(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        obj->printDense();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printScalar" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::printScalar"
// cWrapperName: "casadi__DMatrix__printScalar"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__printScalar(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->printScalar()"
// params: []
extern "C"
void
    casadi__DMatrix__printScalar(std::string ** err_msg, casadi::DMatrix* obj);
void
    casadi__DMatrix__printScalar(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        obj->printScalar();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printSparse" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::printSparse"
// cWrapperName: "casadi__DMatrix__printSparse"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__printSparse(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->printSparse()"
// params: []
extern "C"
void
    casadi__DMatrix__printSparse(std::string ** err_msg, casadi::DMatrix* obj);
void
    casadi__DMatrix__printSparse(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        obj->printSparse();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printSplit" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::printSplit"
// cWrapperName: "casadi__DMatrix__printSplit"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, std::vector< std::string* >* x0, std::vector< std::string* >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__printSplit(std::string ** err_msg, casadi::DMatrix* obj, std::vector< std::string* >* x0, std::vector< std::string* >* x1)"
// call: "obj->printSplit(x0_, x1_)"
// params: [Ref (StdVec StdString),Ref (StdVec StdString)]
extern "C"
void
    casadi__DMatrix__printSplit(std::string ** err_msg, casadi::DMatrix* obj, std::vector< std::string* >* x0, std::vector< std::string* >* x1);
void
    casadi__DMatrix__printSplit(std::string ** err_msg, casadi::DMatrix* obj, std::vector< std::string* >* x0, std::vector< std::string* >* x1){
    try {
        std::vector< std::string > x0_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);

        obj->printSplit(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printVector" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::printVector"
// cWrapperName: "casadi__DMatrix__printVector"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__printVector(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->printVector()"
// params: []
extern "C"
void
    casadi__DMatrix__printVector(std::string ** err_msg, casadi::DMatrix* obj);
void
    casadi__DMatrix__printVector(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        obj->printVector();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printme" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::printme"
// cWrapperName: "casadi__DMatrix__printme"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__printme(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0)"
// call: "obj->printme(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__printme(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0);
casadi::DMatrix*
    casadi__DMatrix__printme(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);

        casadi::DMatrix ret = obj->printme(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "remove" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::remove"
// cWrapperName: "casadi__DMatrix__remove"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__remove(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, std::vector< int >* x1)"
// call: "obj->remove(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__DMatrix__remove(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, std::vector< int >* x1);
void
    casadi__DMatrix__remove(std::string ** err_msg, casadi::DMatrix* obj, std::vector< int >* x0, std::vector< int >* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        obj->remove(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reserve" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::reserve"
// cWrapperName: "casadi__DMatrix__reserve__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__reserve__0(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1)"
// call: "obj->reserve(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
void
    casadi__DMatrix__reserve__0(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1);
void
    casadi__DMatrix__reserve__0(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->reserve(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reserve" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::reserve"
// cWrapperName: "casadi__DMatrix__reserve__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__reserve__1(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// call: "obj->reserve(x0_)"
// params: [CInt]
extern "C"
void
    casadi__DMatrix__reserve__1(std::string ** err_msg, casadi::DMatrix* obj, int x0);
void
    casadi__DMatrix__reserve__1(std::string ** err_msg, casadi::DMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        obj->reserve(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "resetInput" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::resetInput"
// cWrapperName: "casadi__DMatrix__resetInput"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__resetInput(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->resetInput()"
// params: []
extern "C"
void
    casadi__DMatrix__resetInput(std::string ** err_msg, casadi::DMatrix* obj);
void
    casadi__DMatrix__resetInput(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        obj->resetInput();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "resize" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::resize"
// cWrapperName: "casadi__DMatrix__resize"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__resize(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1)"
// call: "obj->resize(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
void
    casadi__DMatrix__resize(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1);
void
    casadi__DMatrix__resize(std::string ** err_msg, casadi::DMatrix* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->resize(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "row" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::row"
// cWrapperName: "casadi__DMatrix__row"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__row(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// call: "obj->row(x0_)"
// params: [CInt]
extern "C"
int
    casadi__DMatrix__row(std::string ** err_msg, casadi::DMatrix* obj, int x0);
int
    casadi__DMatrix__row(std::string ** err_msg, casadi::DMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->row(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sanityCheck" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sanityCheck"
// cWrapperName: "casadi__DMatrix__sanityCheck__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__sanityCheck__0(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->sanityCheck()"
// params: []
extern "C"
void
    casadi__DMatrix__sanityCheck__0(std::string ** err_msg, casadi::DMatrix* obj);
void
    casadi__DMatrix__sanityCheck__0(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        obj->sanityCheck();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "sanityCheck" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sanityCheck"
// cWrapperName: "casadi__DMatrix__sanityCheck__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__sanityCheck__1(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// call: "obj->sanityCheck(x0_)"
// params: [CBool]
extern "C"
void
    casadi__DMatrix__sanityCheck__1(std::string ** err_msg, casadi::DMatrix* obj, int x0);
void
    casadi__DMatrix__sanityCheck__1(std::string ** err_msg, casadi::DMatrix* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        obj->sanityCheck(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "scalar_matrix" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::scalar_matrix"
// cWrapperName: "casadi__DMatrix__scalar_matrix"
// protoArgs: "(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__scalar_matrix(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2)"
// call: "casadi::DMatrix::scalar_matrix(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__scalar_matrix(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2);
casadi::DMatrix*
    casadi__DMatrix__scalar_matrix(std::string ** err_msg, int x0, casadi::DMatrix* x1, casadi::DMatrix* x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::DMatrix& x1_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x1);
        casadi::DMatrix& x2_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x2);

        casadi::DMatrix ret = casadi::DMatrix::scalar_matrix(x0_, x1_, x2_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::set"
// cWrapperName: "casadi__DMatrix__set__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__set__0(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__DMatrix__set__0(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3);
void
    casadi__DMatrix__set__0(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::set"
// cWrapperName: "casadi__DMatrix__set__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__set__1(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__DMatrix__set__1(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3);
void
    casadi__DMatrix__set__1(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::set"
// cWrapperName: "casadi__DMatrix__set__2"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__set__2(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__DMatrix__set__2(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3);
void
    casadi__DMatrix__set__2(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::set"
// cWrapperName: "casadi__DMatrix__set__3"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__set__3(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__DMatrix__set__3(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__DMatrix__set__3(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::set"
// cWrapperName: "casadi__DMatrix__set__4"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__set__4(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Sparsity* x2)"
// call: "obj->set(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
void
    casadi__DMatrix__set__4(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Sparsity* x2);
void
    casadi__DMatrix__set__4(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::set"
// cWrapperName: "casadi__DMatrix__set__5"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__set__5(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->set(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__DMatrix__set__5(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2);
void
    casadi__DMatrix__set__5(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::set"
// cWrapperName: "casadi__DMatrix__set__6"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__set__6(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2)"
// call: "obj->set(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__DMatrix__set__6(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2);
void
    casadi__DMatrix__set__6(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::set"
// cWrapperName: "casadi__DMatrix__set__7"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__set__7(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0)"
// call: "obj->set(x0_)"
// params: [Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__DMatrix__set__7(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0);
void
    casadi__DMatrix__set__7(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->set(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::set"
// cWrapperName: "casadi__DMatrix__set__8"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__set__8(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0, int x1)"
// call: "obj->set(x0_, x1_)"
// params: [Ref (Const (StdVec CDouble)),CBool]
extern "C"
void
    casadi__DMatrix__set__8(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0, int x1);
void
    casadi__DMatrix__set__8(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0, int x1){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->set(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::set"
// cWrapperName: "casadi__DMatrix__set__9"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__set__9(std::string ** err_msg, casadi::DMatrix* obj, double x0)"
// call: "obj->set(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__DMatrix__set__9(std::string ** err_msg, casadi::DMatrix* obj, double x0);
void
    casadi__DMatrix__set__9(std::string ** err_msg, casadi::DMatrix* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->set(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::set"
// cWrapperName: "casadi__DMatrix__set__10"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__set__10(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0)"
// call: "obj->set(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
void
    casadi__DMatrix__set__10(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0);
void
    casadi__DMatrix__set__10(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);

        obj->set(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setEqualityCheckingDepth" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::setEqualityCheckingDepth"
// cWrapperName: "casadi__DMatrix__setEqualityCheckingDepth__0"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__setEqualityCheckingDepth__0(std::string ** err_msg)"
// call: "casadi::DMatrix::setEqualityCheckingDepth()"
// params: []
extern "C"
void
    casadi__DMatrix__setEqualityCheckingDepth__0(std::string ** err_msg);
void
    casadi__DMatrix__setEqualityCheckingDepth__0(std::string ** err_msg){
    try {

        casadi::DMatrix::setEqualityCheckingDepth();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setEqualityCheckingDepth" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::setEqualityCheckingDepth"
// cWrapperName: "casadi__DMatrix__setEqualityCheckingDepth__1"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__setEqualityCheckingDepth__1(std::string ** err_msg, int x0)"
// call: "casadi::DMatrix::setEqualityCheckingDepth(x0_)"
// params: [CInt]
extern "C"
void
    casadi__DMatrix__setEqualityCheckingDepth__1(std::string ** err_msg, int x0);
void
    casadi__DMatrix__setEqualityCheckingDepth__1(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::DMatrix::setEqualityCheckingDepth(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::setNZ"
// cWrapperName: "casadi__DMatrix__setNZ__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__setNZ__0(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->setNZ(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__DMatrix__setNZ__0(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2);
void
    casadi__DMatrix__setNZ__0(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->setNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::setNZ"
// cWrapperName: "casadi__DMatrix__setNZ__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__setNZ__1(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2)"
// call: "obj->setNZ(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__DMatrix__setNZ__1(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2);
void
    casadi__DMatrix__setNZ__1(std::string ** err_msg, casadi::DMatrix* obj, casadi::DMatrix* x0, int x1, casadi::Slice* x2){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->setNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::setNZ"
// cWrapperName: "casadi__DMatrix__setNZ__2"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__setNZ__2(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0)"
// call: "obj->setNZ(x0_)"
// params: [Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__DMatrix__setNZ__2(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0);
void
    casadi__DMatrix__setNZ__2(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->setNZ(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::setNZ"
// cWrapperName: "casadi__DMatrix__setNZ__3"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__setNZ__3(std::string ** err_msg, casadi::DMatrix* obj, double x0)"
// call: "obj->setNZ(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__DMatrix__setNZ__3(std::string ** err_msg, casadi::DMatrix* obj, double x0);
void
    casadi__DMatrix__setNZ__3(std::string ** err_msg, casadi::DMatrix* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->setNZ(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setPrecision" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::setPrecision"
// cWrapperName: "casadi__DMatrix__setPrecision"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__setPrecision(std::string ** err_msg, int x0)"
// call: "casadi::DMatrix::setPrecision(x0_)"
// params: [CInt]
extern "C"
void
    casadi__DMatrix__setPrecision(std::string ** err_msg, int x0);
void
    casadi__DMatrix__setPrecision(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::DMatrix::setPrecision(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setScientific" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::setScientific"
// cWrapperName: "casadi__DMatrix__setScientific"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__setScientific(std::string ** err_msg, int x0)"
// call: "casadi::DMatrix::setScientific(x0_)"
// params: [CBool]
extern "C"
void
    casadi__DMatrix__setScientific(std::string ** err_msg, int x0);
void
    casadi__DMatrix__setScientific(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::DMatrix::setScientific(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setSym" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::setSym"
// cWrapperName: "casadi__DMatrix__setSym"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__setSym(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0)"
// call: "obj->setSym(x0_)"
// params: [Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__DMatrix__setSym(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0);
void
    casadi__DMatrix__setSym(std::string ** err_msg, casadi::DMatrix* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->setSym(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setValue" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::setValue"
// cWrapperName: "casadi__DMatrix__setValue__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, double x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__setValue__0(std::string ** err_msg, casadi::DMatrix* obj, double x0, int x1)"
// call: "obj->setValue(x0_, x1_)"
// params: [CDouble,CInt]
extern "C"
void
    casadi__DMatrix__setValue__0(std::string ** err_msg, casadi::DMatrix* obj, double x0, int x1);
void
    casadi__DMatrix__setValue__0(std::string ** err_msg, casadi::DMatrix* obj, double x0, int x1){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->setValue(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setValue" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::setValue"
// cWrapperName: "casadi__DMatrix__setValue__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__setValue__1(std::string ** err_msg, casadi::DMatrix* obj, double x0)"
// call: "obj->setValue(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__DMatrix__setValue__1(std::string ** err_msg, casadi::DMatrix* obj, double x0);
void
    casadi__DMatrix__setValue__1(std::string ** err_msg, casadi::DMatrix* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->setValue(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setWidth" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::setWidth"
// cWrapperName: "casadi__DMatrix__setWidth"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__setWidth(std::string ** err_msg, int x0)"
// call: "casadi::DMatrix::setWidth(x0_)"
// params: [CInt]
extern "C"
void
    casadi__DMatrix__setWidth(std::string ** err_msg, int x0);
void
    casadi__DMatrix__setWidth(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::DMatrix::setWidth(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setZero" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::setZero"
// cWrapperName: "casadi__DMatrix__setZero"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DMatrix__setZero(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->setZero()"
// params: []
extern "C"
void
    casadi__DMatrix__setZero(std::string ** err_msg, casadi::DMatrix* obj);
void
    casadi__DMatrix__setZero(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        obj->setZero();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "shape" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::shape"
// cWrapperName: "casadi__DMatrix__shape__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__shape__0(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// call: "obj->shape(x0_)"
// params: [CInt]
extern "C"
int
    casadi__DMatrix__shape__0(std::string ** err_msg, casadi::DMatrix* obj, int x0);
int
    casadi__DMatrix__shape__0(std::string ** err_msg, casadi::DMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->shape(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "shape" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::shape"
// cWrapperName: "casadi__DMatrix__shape__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: StdPair CInt CInt
// cWrapperRetType: "std::pair< int, int >*"
// proto: "std::pair< int, int >*\n    casadi__DMatrix__shape__1(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->shape()"
// params: []
extern "C"
std::pair< int, int >*
    casadi__DMatrix__shape__1(std::string ** err_msg, casadi::DMatrix* obj);
std::pair< int, int >*
    casadi__DMatrix__shape__1(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        std::pair< int, int > ret = obj->shape();
        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::size"
// cWrapperName: "casadi__DMatrix__size"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__size(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->size()"
// params: []
extern "C"
int
    casadi__DMatrix__size(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__size(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        int ret = obj->size();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::size1"
// cWrapperName: "casadi__DMatrix__size1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__size1(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->size1()"
// params: []
extern "C"
int
    casadi__DMatrix__size1(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__size1(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        int ret = obj->size1();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::size2"
// cWrapperName: "casadi__DMatrix__size2"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__size2(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->size2()"
// params: []
extern "C"
int
    casadi__DMatrix__size2(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__size2(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        int ret = obj->size2();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeD" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sizeD"
// cWrapperName: "casadi__DMatrix__sizeD"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__sizeD(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->sizeD()"
// params: []
extern "C"
int
    casadi__DMatrix__sizeD(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__sizeD(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        int ret = obj->sizeD();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeL" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sizeL"
// cWrapperName: "casadi__DMatrix__sizeL"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__sizeL(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->sizeL()"
// params: []
extern "C"
int
    casadi__DMatrix__sizeL(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__sizeL(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        int ret = obj->sizeL();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeU" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sizeU"
// cWrapperName: "casadi__DMatrix__sizeU"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__DMatrix__sizeU(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->sizeU()"
// params: []
extern "C"
int
    casadi__DMatrix__sizeU(std::string ** err_msg, casadi::DMatrix* obj);
int
    casadi__DMatrix__sizeU(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        int ret = obj->sizeU();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sparse"
// cWrapperName: "casadi__DMatrix__sparse__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::DMatrix* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__sparse__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::DMatrix* x1)"
// call: "casadi::DMatrix::sparse(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__sparse__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::DMatrix* x1);
casadi::DMatrix*
    casadi__DMatrix__sparse__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::DMatrix* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::DMatrix& x1_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x1);

        casadi::DMatrix ret = casadi::DMatrix::sparse(x0_, x1_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sparse"
// cWrapperName: "casadi__DMatrix__sparse__1"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__sparse__1(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::DMatrix::sparse(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__sparse__1(std::string ** err_msg, std::pair< int, int >* x0);
casadi::DMatrix*
    casadi__DMatrix__sparse__1(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::sparse(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sparse"
// cWrapperName: "casadi__DMatrix__sparse__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__sparse__2(std::string ** err_msg)"
// call: "casadi::DMatrix::sparse()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__DMatrix__sparse__2(std::string ** err_msg);
casadi::DMatrix*
    casadi__DMatrix__sparse__2(std::string ** err_msg){
    try {

        casadi::DMatrix ret = casadi::DMatrix::sparse();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sparse"
// cWrapperName: "casadi__DMatrix__sparse__3"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__sparse__3(std::string ** err_msg, int x0)"
// call: "casadi::DMatrix::sparse(x0_)"
// params: [CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__sparse__3(std::string ** err_msg, int x0);
casadi::DMatrix*
    casadi__DMatrix__sparse__3(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::sparse(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sparse"
// cWrapperName: "casadi__DMatrix__sparse__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__sparse__4(std::string ** err_msg, int x0, int x1)"
// call: "casadi::DMatrix::sparse(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__sparse__4(std::string ** err_msg, int x0, int x1);
casadi::DMatrix*
    casadi__DMatrix__sparse__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::DMatrix ret = casadi::DMatrix::sparse(x0_, x1_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sparsity"
// cWrapperName: "casadi__DMatrix__sparsity"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__DMatrix__sparsity(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->sparsity()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__DMatrix__sparsity(std::string ** err_msg, casadi::DMatrix* obj);
casadi::Sparsity*
    casadi__DMatrix__sparsity(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        casadi::Sparsity ret = obj->sparsity();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sym"
// cWrapperName: "casadi__DMatrix__sym__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))
// cWrapperRetType: "std::vector< std::vector< casadi::DMatrix* >* >*"
// proto: "std::vector< std::vector< casadi::DMatrix* >* >*\n    casadi__DMatrix__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
// call: "casadi::DMatrix::sym(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),CInt,CInt,CInt,CInt]
extern "C"
std::vector< std::vector< casadi::DMatrix* >* >*
    casadi__DMatrix__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4);
std::vector< std::vector< casadi::DMatrix* >* >*
    casadi__DMatrix__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);
        int x4_ = Marshaling<int,int>::marshal(x4);

        std::vector< std::vector< casadi::DMatrix > > ret = casadi::DMatrix::sym(x0_, x1_, x2_, x3_, x4_);
        return WrapReturn< std::vector< std::vector< casadi::DMatrix* >* >*, std::vector< std::vector< casadi::DMatrix > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sym"
// cWrapperName: "casadi__DMatrix__sym__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))
// cWrapperRetType: "std::vector< std::vector< casadi::DMatrix* >* >*"
// proto: "std::vector< std::vector< casadi::DMatrix* >* >*\n    casadi__DMatrix__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
// call: "casadi::DMatrix::sym(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt,CInt]
extern "C"
std::vector< std::vector< casadi::DMatrix* >* >*
    casadi__DMatrix__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3);
std::vector< std::vector< casadi::DMatrix* >* >*
    casadi__DMatrix__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);

        std::vector< std::vector< casadi::DMatrix > > ret = casadi::DMatrix::sym(x0_, x1_, x2_, x3_);
        return WrapReturn< std::vector< std::vector< casadi::DMatrix* >* >*, std::vector< std::vector< casadi::DMatrix > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sym"
// cWrapperName: "casadi__DMatrix__sym__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
// proto: "std::vector< casadi::DMatrix* >*\n    casadi__DMatrix__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
// call: "casadi::DMatrix::sym(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),CInt,CInt,CInt]
extern "C"
std::vector< casadi::DMatrix* >*
    casadi__DMatrix__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3);
std::vector< casadi::DMatrix* >*
    casadi__DMatrix__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);

        std::vector< casadi::DMatrix > ret = casadi::DMatrix::sym(x0_, x1_, x2_, x3_);
        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sym"
// cWrapperName: "casadi__DMatrix__sym__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
// proto: "std::vector< casadi::DMatrix* >*\n    casadi__DMatrix__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
// call: "casadi::DMatrix::sym(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt]
extern "C"
std::vector< casadi::DMatrix* >*
    casadi__DMatrix__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2);
std::vector< casadi::DMatrix* >*
    casadi__DMatrix__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        std::vector< casadi::DMatrix > ret = casadi::DMatrix::sym(x0_, x1_, x2_);
        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sym"
// cWrapperName: "casadi__DMatrix__sym__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// call: "casadi::DMatrix::sym(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
casadi::DMatrix*
    casadi__DMatrix__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::DMatrix ret = casadi::DMatrix::sym(x0_, x1_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sym"
// cWrapperName: "casadi__DMatrix__sym__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
// call: "casadi::DMatrix::sym(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1);
casadi::DMatrix*
    casadi__DMatrix__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);

        casadi::DMatrix ret = casadi::DMatrix::sym(x0_, x1_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sym"
// cWrapperName: "casadi__DMatrix__sym__6"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__sym__6(std::string ** err_msg, std::string* x0)"
// call: "casadi::DMatrix::sym(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__sym__6(std::string ** err_msg, std::string* x0);
casadi::DMatrix*
    casadi__DMatrix__sym__6(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::sym(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sym"
// cWrapperName: "casadi__DMatrix__sym__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__sym__7(std::string ** err_msg, std::string* x0, int x1)"
// call: "casadi::DMatrix::sym(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__sym__7(std::string ** err_msg, std::string* x0, int x1);
casadi::DMatrix*
    casadi__DMatrix__sym__7(std::string ** err_msg, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::DMatrix ret = casadi::DMatrix::sym(x0_, x1_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::sym"
// cWrapperName: "casadi__DMatrix__sym__8"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2)"
// call: "casadi::DMatrix::sym(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CInt,CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2);
casadi::DMatrix*
    casadi__DMatrix__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        casadi::DMatrix ret = casadi::DMatrix::sym(x0_, x1_, x2_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toSlice" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::toSlice"
// cWrapperName: "casadi__DMatrix__toSlice__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__DMatrix__toSlice__0(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->toSlice()"
// params: []
extern "C"
casadi::Slice*
    casadi__DMatrix__toSlice__0(std::string ** err_msg, casadi::DMatrix* obj);
casadi::Slice*
    casadi__DMatrix__toSlice__0(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        casadi::Slice ret = obj->toSlice();
        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toSlice" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::toSlice"
// cWrapperName: "casadi__DMatrix__toSlice__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__DMatrix__toSlice__1(std::string ** err_msg, casadi::DMatrix* obj, int x0)"
// call: "obj->toSlice(x0_)"
// params: [CBool]
extern "C"
casadi::Slice*
    casadi__DMatrix__toSlice__1(std::string ** err_msg, casadi::DMatrix* obj, int x0);
casadi::Slice*
    casadi__DMatrix__toSlice__1(std::string ** err_msg, casadi::DMatrix* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::Slice ret = obj->toSlice(x0_);
        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::triplet"
// cWrapperName: "casadi__DMatrix__triplet__0"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DMatrix* x2, std::pair< int, int >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DMatrix* x2, std::pair< int, int >* x3)"
// call: "casadi::DMatrix::triplet(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DMatrix* x2, std::pair< int, int >* x3);
casadi::DMatrix*
    casadi__DMatrix__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DMatrix* x2, std::pair< int, int >* x3){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        casadi::DMatrix& x2_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x2);
        std::pair< int, int > x3_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x3);

        casadi::DMatrix ret = casadi::DMatrix::triplet(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::triplet"
// cWrapperName: "casadi__DMatrix__triplet__1"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DMatrix* x2, int x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DMatrix* x2, int x3, int x4)"
// call: "casadi::DMatrix::triplet(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CInt,CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DMatrix* x2, int x3, int x4);
casadi::DMatrix*
    casadi__DMatrix__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DMatrix* x2, int x3, int x4){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        casadi::DMatrix& x2_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);
        int x4_ = Marshaling<int,int>::marshal(x4);

        casadi::DMatrix ret = casadi::DMatrix::triplet(x0_, x1_, x2_, x3_, x4_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::triplet"
// cWrapperName: "casadi__DMatrix__triplet__2"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DMatrix* x2)"
// call: "casadi::DMatrix::triplet(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DMatrix* x2);
casadi::DMatrix*
    casadi__DMatrix__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DMatrix* x2){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        casadi::DMatrix& x2_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x2);

        casadi::DMatrix ret = casadi::DMatrix::triplet(x0_, x1_, x2_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "unary" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::unary"
// cWrapperName: "casadi__DMatrix__unary"
// protoArgs: "(std::string ** err_msg, int x0, casadi::DMatrix* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__unary(std::string ** err_msg, int x0, casadi::DMatrix* x1)"
// call: "casadi::DMatrix::unary(x0_, x1_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__unary(std::string ** err_msg, int x0, casadi::DMatrix* x1);
casadi::DMatrix*
    casadi__DMatrix__unary(std::string ** err_msg, int x0, casadi::DMatrix* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::DMatrix& x1_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x1);

        casadi::DMatrix ret = casadi::DMatrix::unary(x0_, x1_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::zeros"
// cWrapperName: "casadi__DMatrix__zeros__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__zeros__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::DMatrix::zeros(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__zeros__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::DMatrix*
    casadi__DMatrix__zeros__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::zeros(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::zeros"
// cWrapperName: "casadi__DMatrix__zeros__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::DMatrix::zeros(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::DMatrix*
    casadi__DMatrix__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::zeros(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::zeros"
// cWrapperName: "casadi__DMatrix__zeros__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__zeros__2(std::string ** err_msg)"
// call: "casadi::DMatrix::zeros()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__DMatrix__zeros__2(std::string ** err_msg);
casadi::DMatrix*
    casadi__DMatrix__zeros__2(std::string ** err_msg){
    try {

        casadi::DMatrix ret = casadi::DMatrix::zeros();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::zeros"
// cWrapperName: "casadi__DMatrix__zeros__3"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__zeros__3(std::string ** err_msg, int x0)"
// call: "casadi::DMatrix::zeros(x0_)"
// params: [CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__zeros__3(std::string ** err_msg, int x0);
casadi::DMatrix*
    casadi__DMatrix__zeros__3(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::DMatrix ret = casadi::DMatrix::zeros(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::zeros"
// cWrapperName: "casadi__DMatrix__zeros__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__DMatrix__zeros__4(std::string ** err_msg, int x0, int x1)"
// call: "casadi::DMatrix::zeros(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::DMatrix*
    casadi__DMatrix__zeros__4(std::string ** err_msg, int x0, int x1);
casadi::DMatrix*
    casadi__DMatrix__zeros__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::DMatrix ret = casadi::DMatrix::zeros(x0_, x1_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getRepresentation" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getRepresentation"
// cWrapperName: "casadi__DMatrix__getRepresentation"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DMatrix__getRepresentation(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->getRepresentation()"
// params: []
extern "C"
std::string*
    casadi__DMatrix__getRepresentation(std::string ** err_msg, casadi::DMatrix* obj);
std::string*
    casadi__DMatrix__getRepresentation(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        std::string ret = obj->getRepresentation();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDescription" ===============
// class: "casadi::DMatrix"
// cppName: "casadi::DMatrix::getDescription"
// cWrapperName: "casadi__DMatrix__getDescription"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DMatrix__getDescription(std::string ** err_msg, casadi::DMatrix* obj)"
// call: "obj->getDescription()"
// params: []
extern "C"
std::string*
    casadi__DMatrix__getDescription(std::string ** err_msg, casadi::DMatrix* obj);
std::string*
    casadi__DMatrix__getDescription(std::string ** err_msg, casadi::DMatrix* obj){
    try {

        std::string ret = obj->getDescription();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "DaeBuilder")===============
// classType: UserType (Namespace ["casadi"]) (Name "DaeBuilder")
extern "C"
void delete_casadi__DaeBuilder(casadi::DaeBuilder* obj);
void delete_casadi__DaeBuilder(casadi::DaeBuilder* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder"
// cWrapperName: "casadi__DaeBuilder__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DaeBuilder")
// cWrapperRetType: "casadi::DaeBuilder*"
// proto: "casadi::DaeBuilder*\n    casadi__DaeBuilder__CONSTRUCTOR(std::string ** err_msg)"
// call: "casadi::DaeBuilder()"
// params: []
extern "C"
casadi::DaeBuilder*
    casadi__DaeBuilder__CONSTRUCTOR(std::string ** err_msg);
casadi::DaeBuilder*
    casadi__DaeBuilder__CONSTRUCTOR(std::string ** err_msg){
    try {

        return new casadi::DaeBuilder();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "addLinearCombination" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::addLinearCombination"
// cWrapperName: "casadi__DaeBuilder__addLinearCombination"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__addLinearCombination(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1)"
// call: "obj->addLinearCombination(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (StdVec StdString))]
extern "C"
casadi::MX*
    casadi__DaeBuilder__addLinearCombination(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1);
casadi::MX*
    casadi__DaeBuilder__addLinearCombination(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);

        casadi::MX ret = obj->addLinearCombination(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "addVariable" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::addVariable"
// cWrapperName: "casadi__DaeBuilder__addVariable__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__addVariable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1)"
// call: "obj->addVariable(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::MX*
    casadi__DaeBuilder__addVariable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1);
casadi::MX*
    casadi__DaeBuilder__addVariable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::MX ret = obj->addVariable(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "addVariable" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::addVariable"
// cWrapperName: "casadi__DaeBuilder__addVariable__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__addVariable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->addVariable(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__addVariable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__addVariable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->addVariable(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "addVariable" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::addVariable"
// cWrapperName: "casadi__DaeBuilder__addVariable__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__addVariable__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "obj->addVariable(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::MX*
    casadi__DaeBuilder__addVariable__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
casadi::MX*
    casadi__DaeBuilder__addVariable__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = obj->addVariable(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "addVariable" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::addVariable"
// cWrapperName: "casadi__DaeBuilder__addVariable__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__addVariable__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1)"
// call: "obj->addVariable(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Variable")))]
extern "C"
void
    casadi__DaeBuilder__addVariable__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1);
void
    casadi__DaeBuilder__addVariable__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Variable& x1_ = Marshaling<casadi::Variable&,casadi::Variable*>::marshal(x1);

        obj->addVariable(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_alg" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_alg"
// cWrapperName: "casadi__DaeBuilder__add_alg__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__add_alg__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->add_alg(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
void
    casadi__DaeBuilder__add_alg__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
void
    casadi__DaeBuilder__add_alg__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        obj->add_alg(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_alg" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_alg"
// cWrapperName: "casadi__DaeBuilder__add_alg__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__add_alg__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
// call: "obj->add_alg(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const StdString)]
extern "C"
void
    casadi__DaeBuilder__add_alg__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1);
void
    casadi__DaeBuilder__add_alg__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->add_alg(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_d" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_d"
// cWrapperName: "casadi__DaeBuilder__add_d__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_d__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->add_d(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_d__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
casadi::MX*
    casadi__DaeBuilder__add_d__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = obj->add_d(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_d" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_d"
// cWrapperName: "casadi__DaeBuilder__add_d__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_d__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
// call: "obj->add_d(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_d__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1);
casadi::MX*
    casadi__DaeBuilder__add_d__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::MX ret = obj->add_d(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_dae" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_dae"
// cWrapperName: "casadi__DaeBuilder__add_dae__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__add_dae__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->add_dae(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
void
    casadi__DaeBuilder__add_dae__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
void
    casadi__DaeBuilder__add_dae__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        obj->add_dae(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_dae" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_dae"
// cWrapperName: "casadi__DaeBuilder__add_dae__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__add_dae__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
// call: "obj->add_dae(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const StdString)]
extern "C"
void
    casadi__DaeBuilder__add_dae__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1);
void
    casadi__DaeBuilder__add_dae__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->add_dae(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_ode" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_ode"
// cWrapperName: "casadi__DaeBuilder__add_ode__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__add_ode__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->add_ode(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
void
    casadi__DaeBuilder__add_ode__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
void
    casadi__DaeBuilder__add_ode__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        obj->add_ode(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_ode" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_ode"
// cWrapperName: "casadi__DaeBuilder__add_ode__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__add_ode__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
// call: "obj->add_ode(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const StdString)]
extern "C"
void
    casadi__DaeBuilder__add_ode__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1);
void
    casadi__DaeBuilder__add_ode__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->add_ode(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_p" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_p"
// cWrapperName: "casadi__DaeBuilder__add_p__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_p__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->add_p()"
// params: []
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_p__0(std::string ** err_msg, casadi::DaeBuilder* obj);
casadi::MX*
    casadi__DaeBuilder__add_p__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        casadi::MX ret = obj->add_p();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_p" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_p"
// cWrapperName: "casadi__DaeBuilder__add_p__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_p__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->add_p(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_p__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__add_p__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->add_p(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_p" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_p"
// cWrapperName: "casadi__DaeBuilder__add_p__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_p__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "obj->add_p(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_p__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
casadi::MX*
    casadi__DaeBuilder__add_p__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = obj->add_p(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_q" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_q"
// cWrapperName: "casadi__DaeBuilder__add_q__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_q__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->add_q()"
// params: []
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_q__0(std::string ** err_msg, casadi::DaeBuilder* obj);
casadi::MX*
    casadi__DaeBuilder__add_q__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        casadi::MX ret = obj->add_q();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_q" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_q"
// cWrapperName: "casadi__DaeBuilder__add_q__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_q__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->add_q(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_q__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__add_q__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->add_q(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_q" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_q"
// cWrapperName: "casadi__DaeBuilder__add_q__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_q__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "obj->add_q(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_q__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
casadi::MX*
    casadi__DaeBuilder__add_q__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = obj->add_q(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_quad" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_quad"
// cWrapperName: "casadi__DaeBuilder__add_quad__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__add_quad__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->add_quad(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
void
    casadi__DaeBuilder__add_quad__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
void
    casadi__DaeBuilder__add_quad__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        obj->add_quad(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_quad" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_quad"
// cWrapperName: "casadi__DaeBuilder__add_quad__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__add_quad__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
// call: "obj->add_quad(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const StdString)]
extern "C"
void
    casadi__DaeBuilder__add_quad__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1);
void
    casadi__DaeBuilder__add_quad__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->add_quad(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_s" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_s"
// cWrapperName: "casadi__DaeBuilder__add_s__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: StdPair (UserType (Namespace ["casadi"]) (Name "MX")) (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::pair< casadi::MX*, casadi::MX* >*"
// proto: "std::pair< casadi::MX*, casadi::MX* >*\n    casadi__DaeBuilder__add_s__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->add_s()"
// params: []
extern "C"
std::pair< casadi::MX*, casadi::MX* >*
    casadi__DaeBuilder__add_s__0(std::string ** err_msg, casadi::DaeBuilder* obj);
std::pair< casadi::MX*, casadi::MX* >*
    casadi__DaeBuilder__add_s__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        std::pair< casadi::MX, casadi::MX > ret = obj->add_s();
        return WrapReturn< std::pair< casadi::MX*, casadi::MX* >*, std::pair< casadi::MX, casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_s" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_s"
// cWrapperName: "casadi__DaeBuilder__add_s__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdPair (UserType (Namespace ["casadi"]) (Name "MX")) (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::pair< casadi::MX*, casadi::MX* >*"
// proto: "std::pair< casadi::MX*, casadi::MX* >*\n    casadi__DaeBuilder__add_s__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->add_s(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::pair< casadi::MX*, casadi::MX* >*
    casadi__DaeBuilder__add_s__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
std::pair< casadi::MX*, casadi::MX* >*
    casadi__DaeBuilder__add_s__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_);
        return WrapReturn< std::pair< casadi::MX*, casadi::MX* >*, std::pair< casadi::MX, casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_s" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_s"
// cWrapperName: "casadi__DaeBuilder__add_s__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdPair (UserType (Namespace ["casadi"]) (Name "MX")) (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::pair< casadi::MX*, casadi::MX* >*"
// proto: "std::pair< casadi::MX*, casadi::MX* >*\n    casadi__DaeBuilder__add_s__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "obj->add_s(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
std::pair< casadi::MX*, casadi::MX* >*
    casadi__DaeBuilder__add_s__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
std::pair< casadi::MX*, casadi::MX* >*
    casadi__DaeBuilder__add_s__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_, x1_);
        return WrapReturn< std::pair< casadi::MX*, casadi::MX* >*, std::pair< casadi::MX, casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_u" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_u"
// cWrapperName: "casadi__DaeBuilder__add_u__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_u__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->add_u()"
// params: []
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_u__0(std::string ** err_msg, casadi::DaeBuilder* obj);
casadi::MX*
    casadi__DaeBuilder__add_u__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        casadi::MX ret = obj->add_u();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_u" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_u"
// cWrapperName: "casadi__DaeBuilder__add_u__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_u__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->add_u(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_u__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__add_u__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->add_u(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_u" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_u"
// cWrapperName: "casadi__DaeBuilder__add_u__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_u__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "obj->add_u(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_u__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
casadi::MX*
    casadi__DaeBuilder__add_u__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = obj->add_u(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_x" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_x"
// cWrapperName: "casadi__DaeBuilder__add_x__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_x__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->add_x()"
// params: []
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_x__0(std::string ** err_msg, casadi::DaeBuilder* obj);
casadi::MX*
    casadi__DaeBuilder__add_x__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        casadi::MX ret = obj->add_x();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_x" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_x"
// cWrapperName: "casadi__DaeBuilder__add_x__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_x__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->add_x(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_x__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__add_x__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->add_x(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_x" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_x"
// cWrapperName: "casadi__DaeBuilder__add_x__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_x__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "obj->add_x(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_x__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
casadi::MX*
    casadi__DaeBuilder__add_x__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = obj->add_x(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_y" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_y"
// cWrapperName: "casadi__DaeBuilder__add_y__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_y__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->add_y(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_y__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
casadi::MX*
    casadi__DaeBuilder__add_y__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = obj->add_y(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_y" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_y"
// cWrapperName: "casadi__DaeBuilder__add_y__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_y__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
// call: "obj->add_y(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_y__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1);
casadi::MX*
    casadi__DaeBuilder__add_y__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::MX ret = obj->add_y(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_z" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_z"
// cWrapperName: "casadi__DaeBuilder__add_z__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_z__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->add_z()"
// params: []
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_z__0(std::string ** err_msg, casadi::DaeBuilder* obj);
casadi::MX*
    casadi__DaeBuilder__add_z__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        casadi::MX ret = obj->add_z();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_z" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_z"
// cWrapperName: "casadi__DaeBuilder__add_z__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_z__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->add_z(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_z__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__add_z__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->add_z(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_z" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_z"
// cWrapperName: "casadi__DaeBuilder__add_z__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_z__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "obj->add_z(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_z__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
casadi::MX*
    casadi__DaeBuilder__add_z__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = obj->add_z(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "create" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::create"
// cWrapperName: "casadi__DaeBuilder__create"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MXFunction")
// cWrapperRetType: "casadi::MXFunction*"
// proto: "casadi::MXFunction*\n    casadi__DaeBuilder__create(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
// call: "obj->create(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (StdVec StdString)),Ref (Const (StdVec StdString))]
extern "C"
casadi::MXFunction*
    casadi__DaeBuilder__create(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2);
casadi::MXFunction*
    casadi__DaeBuilder__create(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);

        casadi::MXFunction ret = obj->create(x0_, x1_, x2_);
        return WrapReturn< casadi::MXFunction*, casadi::MXFunction >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "der" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::der"
// cWrapperName: "casadi__DaeBuilder__der__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__der__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->der(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
casadi::MX*
    casadi__DaeBuilder__der__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
casadi::MX*
    casadi__DaeBuilder__der__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = obj->der(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "der" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::der"
// cWrapperName: "casadi__DaeBuilder__der__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__der__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->der(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__der__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__der__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->der(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "derivativeStart" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::derivativeStart"
// cWrapperName: "casadi__DaeBuilder__derivativeStart__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__derivativeStart__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->derivativeStart(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__derivativeStart__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::vector< double >*
    casadi__DaeBuilder__derivativeStart__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< double > ret = obj->derivativeStart(x0_);
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "derivativeStart" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::derivativeStart"
// cWrapperName: "casadi__DaeBuilder__derivativeStart__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__derivativeStart__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// call: "obj->derivativeStart(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__derivativeStart__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
std::vector< double >*
    casadi__DaeBuilder__derivativeStart__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< double > ret = obj->derivativeStart(x0_, x1_);
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "derivativeStart" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::derivativeStart"
// cWrapperName: "casadi__DaeBuilder__derivativeStart__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__derivativeStart__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->derivativeStart(x0_)"
// params: [Ref (Const StdString)]
extern "C"
double
    casadi__DaeBuilder__derivativeStart__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
double
    casadi__DaeBuilder__derivativeStart__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        double ret = obj->derivativeStart(x0_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "derivativeStart" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::derivativeStart"
// cWrapperName: "casadi__DaeBuilder__derivativeStart__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__derivativeStart__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "obj->derivativeStart(x0_, x1_)"
// params: [Ref (Const StdString),CBool]
extern "C"
double
    casadi__DaeBuilder__derivativeStart__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
double
    casadi__DaeBuilder__derivativeStart__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        double ret = obj->derivativeStart(x0_, x1_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "eliminate_alg" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::eliminate_alg"
// cWrapperName: "casadi__DaeBuilder__eliminate_alg"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__eliminate_alg(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->eliminate_alg()"
// params: []
extern "C"
void
    casadi__DaeBuilder__eliminate_alg(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__eliminate_alg(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->eliminate_alg();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "eliminate_d" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::eliminate_d"
// cWrapperName: "casadi__DaeBuilder__eliminate_d"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__eliminate_d(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->eliminate_d()"
// params: []
extern "C"
void
    casadi__DaeBuilder__eliminate_d(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__eliminate_d(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->eliminate_d();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "eliminate_quad" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::eliminate_quad"
// cWrapperName: "casadi__DaeBuilder__eliminate_quad"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__eliminate_quad(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->eliminate_quad()"
// params: []
extern "C"
void
    casadi__DaeBuilder__eliminate_quad(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__eliminate_quad(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->eliminate_quad();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "initialGuess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::initialGuess"
// cWrapperName: "casadi__DaeBuilder__initialGuess__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__initialGuess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->initialGuess(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__initialGuess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::vector< double >*
    casadi__DaeBuilder__initialGuess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< double > ret = obj->initialGuess(x0_);
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "initialGuess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::initialGuess"
// cWrapperName: "casadi__DaeBuilder__initialGuess__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__initialGuess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// call: "obj->initialGuess(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__initialGuess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
std::vector< double >*
    casadi__DaeBuilder__initialGuess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< double > ret = obj->initialGuess(x0_, x1_);
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "initialGuess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::initialGuess"
// cWrapperName: "casadi__DaeBuilder__initialGuess__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__initialGuess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->initialGuess(x0_)"
// params: [Ref (Const StdString)]
extern "C"
double
    casadi__DaeBuilder__initialGuess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
double
    casadi__DaeBuilder__initialGuess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        double ret = obj->initialGuess(x0_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "initialGuess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::initialGuess"
// cWrapperName: "casadi__DaeBuilder__initialGuess__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__initialGuess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "obj->initialGuess(x0_, x1_)"
// params: [Ref (Const StdString),CBool]
extern "C"
double
    casadi__DaeBuilder__initialGuess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
double
    casadi__DaeBuilder__initialGuess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        double ret = obj->initialGuess(x0_, x1_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "makeExplicit" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::makeExplicit"
// cWrapperName: "casadi__DaeBuilder__makeExplicit"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__makeExplicit(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->makeExplicit()"
// params: []
extern "C"
void
    casadi__DaeBuilder__makeExplicit(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__makeExplicit(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->makeExplicit();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "makeSemiExplicit" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::makeSemiExplicit"
// cWrapperName: "casadi__DaeBuilder__makeSemiExplicit"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__makeSemiExplicit(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->makeSemiExplicit()"
// params: []
extern "C"
void
    casadi__DaeBuilder__makeSemiExplicit(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__makeSemiExplicit(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->makeSemiExplicit();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "max" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::max"
// cWrapperName: "casadi__DaeBuilder__max__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->max(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::vector< double >*
    casadi__DaeBuilder__max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< double > ret = obj->max(x0_);
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "max" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::max"
// cWrapperName: "casadi__DaeBuilder__max__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// call: "obj->max(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
std::vector< double >*
    casadi__DaeBuilder__max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< double > ret = obj->max(x0_, x1_);
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "max" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::max"
// cWrapperName: "casadi__DaeBuilder__max__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->max(x0_)"
// params: [Ref (Const StdString)]
extern "C"
double
    casadi__DaeBuilder__max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
double
    casadi__DaeBuilder__max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        double ret = obj->max(x0_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "max" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::max"
// cWrapperName: "casadi__DaeBuilder__max__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "obj->max(x0_, x1_)"
// params: [Ref (Const StdString),CBool]
extern "C"
double
    casadi__DaeBuilder__max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
double
    casadi__DaeBuilder__max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        double ret = obj->max(x0_, x1_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "min" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::min"
// cWrapperName: "casadi__DaeBuilder__min__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->min(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::vector< double >*
    casadi__DaeBuilder__min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< double > ret = obj->min(x0_);
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "min" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::min"
// cWrapperName: "casadi__DaeBuilder__min__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// call: "obj->min(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
std::vector< double >*
    casadi__DaeBuilder__min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< double > ret = obj->min(x0_, x1_);
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "min" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::min"
// cWrapperName: "casadi__DaeBuilder__min__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->min(x0_)"
// params: [Ref (Const StdString)]
extern "C"
double
    casadi__DaeBuilder__min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
double
    casadi__DaeBuilder__min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        double ret = obj->min(x0_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "min" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::min"
// cWrapperName: "casadi__DaeBuilder__min__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "obj->min(x0_, x1_)"
// params: [Ref (Const StdString),CBool]
extern "C"
double
    casadi__DaeBuilder__min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
double
    casadi__DaeBuilder__min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        double ret = obj->min(x0_, x1_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nominal" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::nominal"
// cWrapperName: "casadi__DaeBuilder__nominal__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->nominal(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::vector< double >*
    casadi__DaeBuilder__nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< double > ret = obj->nominal(x0_);
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nominal" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::nominal"
// cWrapperName: "casadi__DaeBuilder__nominal__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->nominal(x0_)"
// params: [Ref (Const StdString)]
extern "C"
double
    casadi__DaeBuilder__nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
double
    casadi__DaeBuilder__nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        double ret = obj->nominal(x0_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::operator ()"
// cWrapperName: "casadi__DaeBuilder__operator_call"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__operator_call(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->operator ()(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__operator_call(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__operator_call(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->operator ()(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "parseFMI" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::parseFMI"
// cWrapperName: "casadi__DaeBuilder__parseFMI"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__parseFMI(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->parseFMI(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__DaeBuilder__parseFMI(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
void
    casadi__DaeBuilder__parseFMI(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->parseFMI(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "sanityCheck" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::sanityCheck"
// cWrapperName: "casadi__DaeBuilder__sanityCheck"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__sanityCheck(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->sanityCheck()"
// params: []
extern "C"
void
    casadi__DaeBuilder__sanityCheck(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__sanityCheck(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->sanityCheck();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "scaleEquations" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::scaleEquations"
// cWrapperName: "casadi__DaeBuilder__scaleEquations"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__scaleEquations(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->scaleEquations()"
// params: []
extern "C"
void
    casadi__DaeBuilder__scaleEquations(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__scaleEquations(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->scaleEquations();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "scaleVariables" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::scaleVariables"
// cWrapperName: "casadi__DaeBuilder__scaleVariables"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__scaleVariables(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->scaleVariables()"
// params: []
extern "C"
void
    casadi__DaeBuilder__scaleVariables(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__scaleVariables(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->scaleVariables();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setDerivativeStart" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setDerivativeStart"
// cWrapperName: "casadi__DaeBuilder__setDerivativeStart__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setDerivativeStart__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// call: "obj->setDerivativeStart(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__DaeBuilder__setDerivativeStart__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
void
    casadi__DaeBuilder__setDerivativeStart__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);

        obj->setDerivativeStart(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setDerivativeStart" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setDerivativeStart"
// cWrapperName: "casadi__DaeBuilder__setDerivativeStart__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setDerivativeStart__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// call: "obj->setDerivativeStart(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec CDouble)),CBool]
extern "C"
void
    casadi__DaeBuilder__setDerivativeStart__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
void
    casadi__DaeBuilder__setDerivativeStart__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->setDerivativeStart(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setDerivativeStart" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setDerivativeStart"
// cWrapperName: "casadi__DaeBuilder__setDerivativeStart__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setDerivativeStart__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// call: "obj->setDerivativeStart(x0_, x1_)"
// params: [Ref (Const StdString),CDouble]
extern "C"
void
    casadi__DaeBuilder__setDerivativeStart__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
void
    casadi__DaeBuilder__setDerivativeStart__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        obj->setDerivativeStart(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setDerivativeStart" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setDerivativeStart"
// cWrapperName: "casadi__DaeBuilder__setDerivativeStart__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setDerivativeStart__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// call: "obj->setDerivativeStart(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CDouble,CBool]
extern "C"
void
    casadi__DaeBuilder__setDerivativeStart__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
void
    casadi__DaeBuilder__setDerivativeStart__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->setDerivativeStart(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setInitialGuess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setInitialGuess"
// cWrapperName: "casadi__DaeBuilder__setInitialGuess__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setInitialGuess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// call: "obj->setInitialGuess(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__DaeBuilder__setInitialGuess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
void
    casadi__DaeBuilder__setInitialGuess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);

        obj->setInitialGuess(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setInitialGuess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setInitialGuess"
// cWrapperName: "casadi__DaeBuilder__setInitialGuess__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setInitialGuess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// call: "obj->setInitialGuess(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec CDouble)),CBool]
extern "C"
void
    casadi__DaeBuilder__setInitialGuess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
void
    casadi__DaeBuilder__setInitialGuess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->setInitialGuess(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setInitialGuess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setInitialGuess"
// cWrapperName: "casadi__DaeBuilder__setInitialGuess__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setInitialGuess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// call: "obj->setInitialGuess(x0_, x1_)"
// params: [Ref (Const StdString),CDouble]
extern "C"
void
    casadi__DaeBuilder__setInitialGuess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
void
    casadi__DaeBuilder__setInitialGuess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        obj->setInitialGuess(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setInitialGuess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setInitialGuess"
// cWrapperName: "casadi__DaeBuilder__setInitialGuess__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setInitialGuess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// call: "obj->setInitialGuess(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CDouble,CBool]
extern "C"
void
    casadi__DaeBuilder__setInitialGuess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
void
    casadi__DaeBuilder__setInitialGuess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->setInitialGuess(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setMax" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setMax"
// cWrapperName: "casadi__DaeBuilder__setMax__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setMax__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// call: "obj->setMax(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__DaeBuilder__setMax__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
void
    casadi__DaeBuilder__setMax__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);

        obj->setMax(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setMax" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setMax"
// cWrapperName: "casadi__DaeBuilder__setMax__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setMax__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// call: "obj->setMax(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec CDouble)),CBool]
extern "C"
void
    casadi__DaeBuilder__setMax__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
void
    casadi__DaeBuilder__setMax__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->setMax(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setMax" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setMax"
// cWrapperName: "casadi__DaeBuilder__setMax__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setMax__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// call: "obj->setMax(x0_, x1_)"
// params: [Ref (Const StdString),CDouble]
extern "C"
void
    casadi__DaeBuilder__setMax__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
void
    casadi__DaeBuilder__setMax__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        obj->setMax(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setMax" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setMax"
// cWrapperName: "casadi__DaeBuilder__setMax__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setMax__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// call: "obj->setMax(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CDouble,CBool]
extern "C"
void
    casadi__DaeBuilder__setMax__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
void
    casadi__DaeBuilder__setMax__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->setMax(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setMin" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setMin"
// cWrapperName: "casadi__DaeBuilder__setMin__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setMin__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// call: "obj->setMin(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__DaeBuilder__setMin__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
void
    casadi__DaeBuilder__setMin__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);

        obj->setMin(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setMin" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setMin"
// cWrapperName: "casadi__DaeBuilder__setMin__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setMin__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// call: "obj->setMin(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec CDouble)),CBool]
extern "C"
void
    casadi__DaeBuilder__setMin__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
void
    casadi__DaeBuilder__setMin__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->setMin(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setMin" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setMin"
// cWrapperName: "casadi__DaeBuilder__setMin__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setMin__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// call: "obj->setMin(x0_, x1_)"
// params: [Ref (Const StdString),CDouble]
extern "C"
void
    casadi__DaeBuilder__setMin__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
void
    casadi__DaeBuilder__setMin__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        obj->setMin(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setMin" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setMin"
// cWrapperName: "casadi__DaeBuilder__setMin__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setMin__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// call: "obj->setMin(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CDouble,CBool]
extern "C"
void
    casadi__DaeBuilder__setMin__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
void
    casadi__DaeBuilder__setMin__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->setMin(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNominal" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setNominal"
// cWrapperName: "casadi__DaeBuilder__setNominal__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setNominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// call: "obj->setNominal(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__DaeBuilder__setNominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
void
    casadi__DaeBuilder__setNominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);

        obj->setNominal(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNominal" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setNominal"
// cWrapperName: "casadi__DaeBuilder__setNominal__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setNominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// call: "obj->setNominal(x0_, x1_)"
// params: [Ref (Const StdString),CDouble]
extern "C"
void
    casadi__DaeBuilder__setNominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
void
    casadi__DaeBuilder__setNominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        obj->setNominal(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setStart" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setStart"
// cWrapperName: "casadi__DaeBuilder__setStart__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setStart__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// call: "obj->setStart(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__DaeBuilder__setStart__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
void
    casadi__DaeBuilder__setStart__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);

        obj->setStart(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setStart" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setStart"
// cWrapperName: "casadi__DaeBuilder__setStart__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setStart__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// call: "obj->setStart(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec CDouble)),CBool]
extern "C"
void
    casadi__DaeBuilder__setStart__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
void
    casadi__DaeBuilder__setStart__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->setStart(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setStart" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setStart"
// cWrapperName: "casadi__DaeBuilder__setStart__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setStart__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// call: "obj->setStart(x0_, x1_)"
// params: [Ref (Const StdString),CDouble]
extern "C"
void
    casadi__DaeBuilder__setStart__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
void
    casadi__DaeBuilder__setStart__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        obj->setStart(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setStart" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setStart"
// cWrapperName: "casadi__DaeBuilder__setStart__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setStart__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// call: "obj->setStart(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CDouble,CBool]
extern "C"
void
    casadi__DaeBuilder__setStart__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
void
    casadi__DaeBuilder__setStart__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->setStart(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setUnit" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::setUnit"
// cWrapperName: "casadi__DaeBuilder__setUnit"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__setUnit(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1)"
// call: "obj->setUnit(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
void
    casadi__DaeBuilder__setUnit(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1);
void
    casadi__DaeBuilder__setUnit(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->setUnit(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "sort_alg" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::sort_alg"
// cWrapperName: "casadi__DaeBuilder__sort_alg"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__sort_alg(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->sort_alg()"
// params: []
extern "C"
void
    casadi__DaeBuilder__sort_alg(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__sort_alg(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->sort_alg();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "sort_d" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::sort_d"
// cWrapperName: "casadi__DaeBuilder__sort_d"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__sort_d(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->sort_d()"
// params: []
extern "C"
void
    casadi__DaeBuilder__sort_d(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__sort_d(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->sort_d();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "sort_dae" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::sort_dae"
// cWrapperName: "casadi__DaeBuilder__sort_dae"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__sort_dae(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->sort_dae()"
// params: []
extern "C"
void
    casadi__DaeBuilder__sort_dae(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__sort_dae(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->sort_dae();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "split_d" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::split_d"
// cWrapperName: "casadi__DaeBuilder__split_d"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__split_d(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->split_d()"
// params: []
extern "C"
void
    casadi__DaeBuilder__split_d(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__split_d(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->split_d();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "split_dae" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::split_dae"
// cWrapperName: "casadi__DaeBuilder__split_dae"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__split_dae(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->split_dae()"
// params: []
extern "C"
void
    casadi__DaeBuilder__split_dae(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__split_dae(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->split_dae();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::start"
// cWrapperName: "casadi__DaeBuilder__start__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->start(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::vector< double >*
    casadi__DaeBuilder__start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< double > ret = obj->start(x0_);
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::start"
// cWrapperName: "casadi__DaeBuilder__start__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// call: "obj->start(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
std::vector< double >*
    casadi__DaeBuilder__start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< double > ret = obj->start(x0_, x1_);
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::start"
// cWrapperName: "casadi__DaeBuilder__start__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->start(x0_)"
// params: [Ref (Const StdString)]
extern "C"
double
    casadi__DaeBuilder__start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
double
    casadi__DaeBuilder__start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        double ret = obj->start(x0_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::start"
// cWrapperName: "casadi__DaeBuilder__start__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "obj->start(x0_, x1_)"
// params: [Ref (Const StdString),CBool]
extern "C"
double
    casadi__DaeBuilder__start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
double
    casadi__DaeBuilder__start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        double ret = obj->start(x0_, x1_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "unit" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::unit"
// cWrapperName: "casadi__DaeBuilder__unit__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DaeBuilder__unit__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "obj->unit(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
std::string*
    casadi__DaeBuilder__unit__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::string*
    casadi__DaeBuilder__unit__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::string ret = obj->unit(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "unit" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::unit"
// cWrapperName: "casadi__DaeBuilder__unit__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DaeBuilder__unit__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->unit(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__DaeBuilder__unit__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
std::string*
    casadi__DaeBuilder__unit__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = obj->unit(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "variable" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::variable"
// cWrapperName: "casadi__DaeBuilder__variable__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Variable"))
// cWrapperRetType: "casadi::Variable*"
// proto: "casadi::Variable*\n    casadi__DaeBuilder__variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->variable(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::Variable*
    casadi__DaeBuilder__variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::Variable*
    casadi__DaeBuilder__variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Variable ret = obj->variable(x0_);
        return WrapReturn< casadi::Variable*, casadi::Variable >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "variable" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::variable"
// cWrapperName: "casadi__DaeBuilder__variable__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
// cWrapperRetType: "casadi::Variable*"
// proto: "casadi::Variable*\n    casadi__DaeBuilder__variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "obj->variable(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::Variable*
    casadi__DaeBuilder__variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::Variable*
    casadi__DaeBuilder__variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Variable ret = obj->variable(x0_);
        return WrapReturn< casadi::Variable*, casadi::Variable >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getRepresentation" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::getRepresentation"
// cWrapperName: "casadi__DaeBuilder__getRepresentation"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DaeBuilder__getRepresentation(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->getRepresentation()"
// params: []
extern "C"
std::string*
    casadi__DaeBuilder__getRepresentation(std::string ** err_msg, casadi::DaeBuilder* obj);
std::string*
    casadi__DaeBuilder__getRepresentation(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        std::string ret = obj->getRepresentation();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDescription" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::getDescription"
// cWrapperName: "casadi__DaeBuilder__getDescription"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DaeBuilder__getDescription(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "obj->getDescription()"
// params: []
extern "C"
std::string*
    casadi__DaeBuilder__getDescription(std::string ** err_msg, casadi::DaeBuilder* obj);
std::string*
    casadi__DaeBuilder__getDescription(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        std::string ret = obj->getDescription();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "DerivativeGenerator")===============
// classType: UserType (Namespace ["casadi"]) (Name "DerivativeGenerator")
extern "C"
void delete_casadi__DerivativeGenerator(casadi::DerivativeGenerator* obj);
void delete_casadi__DerivativeGenerator(casadi::DerivativeGenerator* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DerivativeGenerator"
// cppName: "casadi::DerivativeGenerator"
// cWrapperName: "casadi__DerivativeGenerator__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DerivativeGenerator")
// cWrapperRetType: "casadi::DerivativeGenerator*"
// proto: "casadi::DerivativeGenerator*\n    casadi__DerivativeGenerator__CONSTRUCTOR(std::string ** err_msg)"
// call: "casadi::DerivativeGenerator()"
// params: []
extern "C"
casadi::DerivativeGenerator*
    casadi__DerivativeGenerator__CONSTRUCTOR(std::string ** err_msg);
casadi::DerivativeGenerator*
    casadi__DerivativeGenerator__CONSTRUCTOR(std::string ** err_msg){
    try {

        return new casadi::DerivativeGenerator();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "DerivativeGenerator2")===============
// classType: UserType (Namespace ["casadi"]) (Name "DerivativeGenerator2")
extern "C"
void delete_casadi__DerivativeGenerator2(casadi::DerivativeGenerator2* obj);
void delete_casadi__DerivativeGenerator2(casadi::DerivativeGenerator2* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DerivativeGenerator2"
// cppName: "casadi::DerivativeGenerator2"
// cWrapperName: "casadi__DerivativeGenerator2__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DerivativeGenerator2")
// cWrapperRetType: "casadi::DerivativeGenerator2*"
// proto: "casadi::DerivativeGenerator2*\n    casadi__DerivativeGenerator2__CONSTRUCTOR(std::string ** err_msg)"
// call: "casadi::DerivativeGenerator2()"
// params: []
extern "C"
casadi::DerivativeGenerator2*
    casadi__DerivativeGenerator2__CONSTRUCTOR(std::string ** err_msg);
casadi::DerivativeGenerator2*
    casadi__DerivativeGenerator2__CONSTRUCTOR(std::string ** err_msg){
    try {

        return new casadi::DerivativeGenerator2();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "create" ===============
// class: "casadi::DerivativeGenerator2"
// cppName: "casadi::DerivativeGenerator2::create"
// cWrapperName: "casadi__DerivativeGenerator2__create"
// protoArgs: "(std::string ** err_msg, casadi::DerivativeGenerator2* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DerivativeGenerator")
// cWrapperRetType: "casadi::DerivativeGenerator*"
// proto: "casadi::DerivativeGenerator*\n    casadi__DerivativeGenerator2__create(std::string ** err_msg, casadi::DerivativeGenerator2* obj)"
// call: "obj->create()"
// params: []
extern "C"
casadi::DerivativeGenerator*
    casadi__DerivativeGenerator2__create(std::string ** err_msg, casadi::DerivativeGenerator2* obj);
casadi::DerivativeGenerator*
    casadi__DerivativeGenerator2__create(std::string ** err_msg, casadi::DerivativeGenerator2* obj){
    try {

        casadi::DerivativeGenerator ret = obj->create();
        return WrapReturn< casadi::DerivativeGenerator*, casadi::DerivativeGenerator >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::DerivativeGenerator2"
// cppName: "casadi::DerivativeGenerator2::operator ()"
// cWrapperName: "casadi__DerivativeGenerator2__operator_call"
// protoArgs: "(std::string ** err_msg, casadi::DerivativeGenerator2* obj, casadi::Function* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__DerivativeGenerator2__operator_call(std::string ** err_msg, casadi::DerivativeGenerator2* obj, casadi::Function* x0, int x1)"
// call: "obj->operator ()(x0_, x1_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "Function")),CInt]
extern "C"
casadi::Function*
    casadi__DerivativeGenerator2__operator_call(std::string ** err_msg, casadi::DerivativeGenerator2* obj, casadi::Function* x0, int x1);
casadi::Function*
    casadi__DerivativeGenerator2__operator_call(std::string ** err_msg, casadi::DerivativeGenerator2* obj, casadi::Function* x0, int x1){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Function ret = obj->operator ()(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "original" ===============
// class: "casadi::DerivativeGenerator2"
// cppName: "casadi::DerivativeGenerator2::original"
// cWrapperName: "casadi__DerivativeGenerator2__original"
// protoArgs: "(std::string ** err_msg, casadi::DerivativeGenerator2* obj, casadi::Function* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__DerivativeGenerator2__original(std::string ** err_msg, casadi::DerivativeGenerator2* obj, casadi::Function* x0, int x1, int x2)"
// call: "obj->original(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "Function")),CInt,CBool]
extern "C"
casadi::Function*
    casadi__DerivativeGenerator2__original(std::string ** err_msg, casadi::DerivativeGenerator2* obj, casadi::Function* x0, int x1, int x2);
casadi::Function*
    casadi__DerivativeGenerator2__original(std::string ** err_msg, casadi::DerivativeGenerator2* obj, casadi::Function* x0, int x1, int x2){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Function ret = obj->original(x0_, x1_, x2_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "DleSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "DleSolver")
extern "C"
void delete_casadi__DleSolver(casadi::DleSolver* obj);
void delete_casadi__DleSolver(casadi::DleSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DleSolver"
// cppName: "casadi::DleSolver"
// cWrapperName: "casadi__DleSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DleSolver")
// cWrapperRetType: "casadi::DleSolver*"
// proto: "casadi::DleSolver*\n    casadi__DleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// call: "casadi::DleSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::DleSolver*
    casadi__DleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
casadi::DleSolver*
    casadi__DleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);

        return new casadi::DleSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DleSolver"
// cppName: "casadi::DleSolver"
// cWrapperName: "casadi__DleSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DleSolver")
// cWrapperRetType: "casadi::DleSolver*"
// proto: "casadi::DleSolver*\n    casadi__DleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::DleSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::DleSolver*
    casadi__DleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::DleSolver*
    casadi__DleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::DleSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DleSolver"
// cppName: "casadi::DleSolver"
// cWrapperName: "casadi__DleSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DleSolver")
// cWrapperRetType: "casadi::DleSolver*"
// proto: "casadi::DleSolver*\n    casadi__DleSolver__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::DleSolver()"
// params: []
extern "C"
casadi::DleSolver*
    casadi__DleSolver__CONSTRUCTOR__2(std::string ** err_msg);
casadi::DleSolver*
    casadi__DleSolver__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::DleSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "clone" ===============
// class: "casadi::DleSolver"
// cppName: "casadi::DleSolver::clone"
// cWrapperName: "casadi__DleSolver__clone"
// protoArgs: "(std::string ** err_msg, casadi::DleSolver* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DleSolver")
// cWrapperRetType: "casadi::DleSolver*"
// proto: "casadi::DleSolver*\n    casadi__DleSolver__clone(std::string ** err_msg, casadi::DleSolver* obj)"
// call: "obj->clone()"
// params: []
extern "C"
casadi::DleSolver*
    casadi__DleSolver__clone(std::string ** err_msg, casadi::DleSolver* obj);
casadi::DleSolver*
    casadi__DleSolver__clone(std::string ** err_msg, casadi::DleSolver* obj){
    try {

        casadi::DleSolver ret = obj->clone();
        return WrapReturn< casadi::DleSolver*, casadi::DleSolver >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::DleSolver"
// cppName: "casadi::DleSolver::doc"
// cWrapperName: "casadi__DleSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DleSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::DleSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__DleSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__DleSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::DleSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getSparsity" ===============
// class: "casadi::DleSolver"
// cppName: "casadi::DleSolver::getSparsity"
// cWrapperName: "casadi__DleSolver__getSparsity"
// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::Sparsity* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__DleSolver__getSparsity(std::string ** err_msg, std::map< std::string, casadi::Sparsity* >* x0)"
// call: "casadi::DleSolver::getSparsity(x0_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::Sparsity*
    casadi__DleSolver__getSparsity(std::string ** err_msg, std::map< std::string, casadi::Sparsity* >* x0);
casadi::Sparsity*
    casadi__DleSolver__getSparsity(std::string ** err_msg, std::map< std::string, casadi::Sparsity* >* x0){
    try {
        std::map< std::string, casadi::Sparsity > x0_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x0);

        casadi::Sparsity ret = casadi::DleSolver::getSparsity(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::DleSolver"
// cppName: "casadi::DleSolver::hasPlugin"
// cWrapperName: "casadi__DleSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DleSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::DleSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__DleSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__DleSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::DleSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::DleSolver"
// cppName: "casadi::DleSolver::loadPlugin"
// cWrapperName: "casadi__DleSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DleSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::DleSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__DleSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__DleSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::DleSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printStats" ===============
// class: "casadi::DleSolver"
// cppName: "casadi::DleSolver::printStats"
// cWrapperName: "casadi__DleSolver__printStats"
// protoArgs: "(std::string ** err_msg, casadi::DleSolver* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DleSolver__printStats(std::string ** err_msg, casadi::DleSolver* obj)"
// call: "obj->printStats()"
// params: []
extern "C"
void
    casadi__DleSolver__printStats(std::string ** err_msg, casadi::DleSolver* obj);
void
    casadi__DleSolver__printStats(std::string ** err_msg, casadi::DleSolver* obj){
    try {

        obj->printStats();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "DpleSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "DpleSolver")
extern "C"
void delete_casadi__DpleSolver(casadi::DpleSolver* obj);
void delete_casadi__DpleSolver(casadi::DpleSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DpleSolver"
// cppName: "casadi::DpleSolver"
// cWrapperName: "casadi__DpleSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DpleSolver")
// cWrapperRetType: "casadi::DpleSolver*"
// proto: "casadi::DpleSolver*\n    casadi__DpleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2)"
// call: "casadi::DpleSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))))]
extern "C"
casadi::DpleSolver*
    casadi__DpleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2);
casadi::DpleSolver*
    casadi__DpleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, std::vector< casadi::Sparsity > > x2_ = Marshaling<std::map< std::string, std::vector< casadi::Sparsity > >,std::map< std::string, std::vector< casadi::Sparsity* >* >*>::marshal(x2);

        return new casadi::DpleSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DpleSolver"
// cppName: "casadi::DpleSolver"
// cWrapperName: "casadi__DpleSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DpleSolver")
// cWrapperRetType: "casadi::DpleSolver*"
// proto: "casadi::DpleSolver*\n    casadi__DpleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::DpleSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::DpleSolver*
    casadi__DpleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::DpleSolver*
    casadi__DpleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, std::vector< casadi::Sparsity > > x2_ = Marshaling<std::map< std::string, std::vector< casadi::Sparsity > >,std::map< std::string, std::vector< casadi::Sparsity* >* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::DpleSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DpleSolver"
// cppName: "casadi::DpleSolver"
// cWrapperName: "casadi__DpleSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DpleSolver")
// cWrapperRetType: "casadi::DpleSolver*"
// proto: "casadi::DpleSolver*\n    casadi__DpleSolver__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::DpleSolver()"
// params: []
extern "C"
casadi::DpleSolver*
    casadi__DpleSolver__CONSTRUCTOR__2(std::string ** err_msg);
casadi::DpleSolver*
    casadi__DpleSolver__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::DpleSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "clone" ===============
// class: "casadi::DpleSolver"
// cppName: "casadi::DpleSolver::clone"
// cWrapperName: "casadi__DpleSolver__clone"
// protoArgs: "(std::string ** err_msg, casadi::DpleSolver* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DpleSolver")
// cWrapperRetType: "casadi::DpleSolver*"
// proto: "casadi::DpleSolver*\n    casadi__DpleSolver__clone(std::string ** err_msg, casadi::DpleSolver* obj)"
// call: "obj->clone()"
// params: []
extern "C"
casadi::DpleSolver*
    casadi__DpleSolver__clone(std::string ** err_msg, casadi::DpleSolver* obj);
casadi::DpleSolver*
    casadi__DpleSolver__clone(std::string ** err_msg, casadi::DpleSolver* obj){
    try {

        casadi::DpleSolver ret = obj->clone();
        return WrapReturn< casadi::DpleSolver*, casadi::DpleSolver >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::DpleSolver"
// cppName: "casadi::DpleSolver::doc"
// cWrapperName: "casadi__DpleSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DpleSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::DpleSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__DpleSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__DpleSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::DpleSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::DpleSolver"
// cppName: "casadi::DpleSolver::hasPlugin"
// cWrapperName: "casadi__DpleSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DpleSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::DpleSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__DpleSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__DpleSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::DpleSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::DpleSolver"
// cppName: "casadi::DpleSolver::loadPlugin"
// cWrapperName: "casadi__DpleSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DpleSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::DpleSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__DpleSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__DpleSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::DpleSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "periodic_schur" ===============
// class: "casadi::DpleSolver"
// cppName: "casadi::DpleSolver::periodic_schur"
// cWrapperName: "casadi__DpleSolver__periodic_schur__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::DMatrix* >* x1, std::vector< casadi::DMatrix* >* x2, std::vector< casadi::DMatrix* >* x3, std::vector< double >* x4, std::vector< double >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DpleSolver__periodic_schur__0(std::string ** err_msg, std::string* x0, std::vector< casadi::DMatrix* >* x1, std::vector< casadi::DMatrix* >* x2, std::vector< casadi::DMatrix* >* x3, std::vector< double >* x4, std::vector< double >* x5)"
// call: "casadi::DpleSolver::periodic_schur(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (Const StdString),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (StdVec CDouble),Ref (StdVec CDouble)]
extern "C"
void
    casadi__DpleSolver__periodic_schur__0(std::string ** err_msg, std::string* x0, std::vector< casadi::DMatrix* >* x1, std::vector< casadi::DMatrix* >* x2, std::vector< casadi::DMatrix* >* x3, std::vector< double >* x4, std::vector< double >* x5);
void
    casadi__DpleSolver__periodic_schur__0(std::string ** err_msg, std::string* x0, std::vector< casadi::DMatrix* >* x1, std::vector< casadi::DMatrix* >* x2, std::vector< casadi::DMatrix* >* x3, std::vector< double >* x4, std::vector< double >* x5){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);
        std::vector< casadi::DMatrix > x2_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x2);
        std::vector< casadi::DMatrix > x3_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x3);
        std::vector< double > x4_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x4);
        std::vector< double > x5_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x5);

        casadi::DpleSolver::periodic_schur(x0_, x1_, x2_, x3_, x4_, x5_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "periodic_schur" ===============
// class: "casadi::DpleSolver"
// cppName: "casadi::DpleSolver::periodic_schur"
// cWrapperName: "casadi__DpleSolver__periodic_schur__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::DMatrix* >* x1, std::vector< casadi::DMatrix* >* x2, std::vector< casadi::DMatrix* >* x3, std::vector< double >* x4, std::vector< double >* x5, double x6)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DpleSolver__periodic_schur__1(std::string ** err_msg, std::string* x0, std::vector< casadi::DMatrix* >* x1, std::vector< casadi::DMatrix* >* x2, std::vector< casadi::DMatrix* >* x3, std::vector< double >* x4, std::vector< double >* x5, double x6)"
// call: "casadi::DpleSolver::periodic_schur(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// params: [Ref (Const StdString),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (StdVec CDouble),Ref (StdVec CDouble),CDouble]
extern "C"
void
    casadi__DpleSolver__periodic_schur__1(std::string ** err_msg, std::string* x0, std::vector< casadi::DMatrix* >* x1, std::vector< casadi::DMatrix* >* x2, std::vector< casadi::DMatrix* >* x3, std::vector< double >* x4, std::vector< double >* x5, double x6);
void
    casadi__DpleSolver__periodic_schur__1(std::string ** err_msg, std::string* x0, std::vector< casadi::DMatrix* >* x1, std::vector< casadi::DMatrix* >* x2, std::vector< casadi::DMatrix* >* x3, std::vector< double >* x4, std::vector< double >* x5, double x6){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);
        std::vector< casadi::DMatrix > x2_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x2);
        std::vector< casadi::DMatrix > x3_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x3);
        std::vector< double > x4_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x4);
        std::vector< double > x5_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x5);
        double x6_ = Marshaling<double,double>::marshal(x6);

        casadi::DpleSolver::periodic_schur(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printStats" ===============
// class: "casadi::DpleSolver"
// cppName: "casadi::DpleSolver::printStats"
// cWrapperName: "casadi__DpleSolver__printStats"
// protoArgs: "(std::string ** err_msg, casadi::DpleSolver* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DpleSolver__printStats(std::string ** err_msg, casadi::DpleSolver* obj)"
// call: "obj->printStats()"
// params: []
extern "C"
void
    casadi__DpleSolver__printStats(std::string ** err_msg, casadi::DpleSolver* obj);
void
    casadi__DpleSolver__printStats(std::string ** err_msg, casadi::DpleSolver* obj){
    try {

        obj->printStats();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "ExternalFunction")===============
// classType: UserType (Namespace ["casadi"]) (Name "ExternalFunction")
extern "C"
void delete_casadi__ExternalFunction(casadi::ExternalFunction* obj);
void delete_casadi__ExternalFunction(casadi::ExternalFunction* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ExternalFunction"
// cppName: "casadi::ExternalFunction"
// cWrapperName: "casadi__ExternalFunction__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Compiler* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "ExternalFunction")
// cWrapperRetType: "casadi::ExternalFunction*"
// proto: "casadi::ExternalFunction*\n    casadi__ExternalFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Compiler* x1)"
// call: "casadi::ExternalFunction(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Compiler")))]
extern "C"
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Compiler* x1);
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Compiler* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Compiler& x1_ = Marshaling<casadi::Compiler&,casadi::Compiler*>::marshal(x1);

        return new casadi::ExternalFunction(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ExternalFunction"
// cppName: "casadi::ExternalFunction"
// cWrapperName: "casadi__ExternalFunction__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Compiler* x1, std::map< std::string, casadi::GenericType* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "ExternalFunction")
// cWrapperRetType: "casadi::ExternalFunction*"
// proto: "casadi::ExternalFunction*\n    casadi__ExternalFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Compiler* x1, std::map< std::string, casadi::GenericType* >* x2)"
// call: "casadi::ExternalFunction(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Compiler"))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Compiler* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Compiler* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Compiler& x1_ = Marshaling<casadi::Compiler&,casadi::Compiler*>::marshal(x1);
        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);

        return new casadi::ExternalFunction(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ExternalFunction"
// cppName: "casadi::ExternalFunction"
// cWrapperName: "casadi__ExternalFunction__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "ExternalFunction")
// cWrapperRetType: "casadi::ExternalFunction*"
// proto: "casadi::ExternalFunction*\n    casadi__ExternalFunction__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::string* x1)"
// call: "casadi::ExternalFunction(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::string* x1);
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        return new casadi::ExternalFunction(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ExternalFunction"
// cppName: "casadi::ExternalFunction"
// cWrapperName: "casadi__ExternalFunction__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "ExternalFunction")
// cWrapperRetType: "casadi::ExternalFunction*"
// proto: "casadi::ExternalFunction*\n    casadi__ExternalFunction__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// call: "casadi::ExternalFunction(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);

        return new casadi::ExternalFunction(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ExternalFunction"
// cppName: "casadi::ExternalFunction"
// cWrapperName: "casadi__ExternalFunction__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "ExternalFunction")
// cWrapperRetType: "casadi::ExternalFunction*"
// proto: "casadi::ExternalFunction*\n    casadi__ExternalFunction__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0)"
// call: "casadi::ExternalFunction(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0);
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        return new casadi::ExternalFunction(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ExternalFunction"
// cppName: "casadi::ExternalFunction"
// cWrapperName: "casadi__ExternalFunction__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "ExternalFunction")
// cWrapperRetType: "casadi::ExternalFunction*"
// proto: "casadi::ExternalFunction*\n    casadi__ExternalFunction__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "casadi::ExternalFunction(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        return new casadi::ExternalFunction(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ExternalFunction"
// cppName: "casadi::ExternalFunction"
// cWrapperName: "casadi__ExternalFunction__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "ExternalFunction")
// cWrapperRetType: "casadi::ExternalFunction*"
// proto: "casadi::ExternalFunction*\n    casadi__ExternalFunction__CONSTRUCTOR__6(std::string ** err_msg)"
// call: "casadi::ExternalFunction()"
// params: []
extern "C"
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__6(std::string ** err_msg);
casadi::ExternalFunction*
    casadi__ExternalFunction__CONSTRUCTOR__6(std::string ** err_msg){
    try {

        return new casadi::ExternalFunction();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Function")===============
// classType: UserType (Namespace ["casadi"]) (Name "Function")
extern "C"
void delete_casadi__Function(casadi::Function* obj);
void delete_casadi__Function(casadi::Function* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR(std::string ** err_msg)"
// call: "casadi::Function()"
// params: []
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR(std::string ** err_msg);
casadi::Function*
    casadi__Function__CONSTRUCTOR(std::string ** err_msg){
    try {

        return new casadi::Function();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "addMonitor" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::addMonitor"
// cWrapperName: "casadi__Function__addMonitor"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__addMonitor(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "obj->addMonitor(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__Function__addMonitor(std::string ** err_msg, casadi::Function* obj, std::string* x0);
void
    casadi__Function__addMonitor(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->addMonitor(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
// call: "obj->call(x0_, x1_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
void
    casadi__Function__call__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1);
void
    casadi__Function__call__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);

        obj->call(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, int x2)"
// call: "obj->call(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),CBool]
extern "C"
void
    casadi__Function__call__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, int x2);
void
    casadi__Function__call__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, int x2){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->call(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, int x2, int x3)"
// call: "obj->call(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),CBool,CBool]
extern "C"
void
    casadi__Function__call__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, int x2, int x3);
void
    casadi__Function__call__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, int x2, int x3){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->call(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1)"
// call: "obj->call(x0_, x1_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
void
    casadi__Function__call__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1);
void
    casadi__Function__call__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);

        obj->call(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, int x2)"
// call: "obj->call(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),CBool]
extern "C"
void
    casadi__Function__call__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, int x2);
void
    casadi__Function__call__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, int x2){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->call(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, int x2, int x3)"
// call: "obj->call(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),CBool,CBool]
extern "C"
void
    casadi__Function__call__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, int x2, int x3);
void
    casadi__Function__call__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, int x2, int x3){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->call(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1)"
// call: "obj->call(x0_, x1_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
void
    casadi__Function__call__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1);
void
    casadi__Function__call__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);

        obj->call(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__7"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, int x2)"
// call: "obj->call(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CBool]
extern "C"
void
    casadi__Function__call__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, int x2);
void
    casadi__Function__call__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, int x2){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->call(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__8"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, int x2, int x3)"
// call: "obj->call(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CBool,CBool]
extern "C"
void
    casadi__Function__call__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, int x2, int x3);
void
    casadi__Function__call__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, int x2, int x3){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->call(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callDerivative" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callDerivative"
// cWrapperName: "casadi__Function__callDerivative__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callDerivative__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >* x5)"
// call: "obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
extern "C"
void
    casadi__Function__callDerivative__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >* x5);
void
    casadi__Function__callDerivative__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >* x5){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::MX > > x3_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x3);
        std::vector< std::vector< casadi::MX > > x4_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x4);
        std::vector< std::vector< casadi::MX > > x5_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x5);

        obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callDerivative" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callDerivative"
// cWrapperName: "casadi__Function__callDerivative__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >* x5, int x6)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callDerivative__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >* x5, int x6)"
// call: "obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),CBool]
extern "C"
void
    casadi__Function__callDerivative__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >* x5, int x6);
void
    casadi__Function__callDerivative__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >* x5, int x6){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::MX > > x3_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x3);
        std::vector< std::vector< casadi::MX > > x4_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x4);
        std::vector< std::vector< casadi::MX > > x5_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x5);
        bool x6_ = Marshaling<bool,int>::marshal(x6);

        obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callDerivative" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callDerivative"
// cWrapperName: "casadi__Function__callDerivative__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >* x5, int x6, int x7)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callDerivative__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >* x5, int x6, int x7)"
// call: "obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),CBool,CBool]
extern "C"
void
    casadi__Function__callDerivative__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >* x5, int x6, int x7);
void
    casadi__Function__callDerivative__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >* x5, int x6, int x7){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::MX > > x3_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x3);
        std::vector< std::vector< casadi::MX > > x4_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x4);
        std::vector< std::vector< casadi::MX > > x5_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x5);
        bool x6_ = Marshaling<bool,int>::marshal(x6);
        bool x7_ = Marshaling<bool,int>::marshal(x7);

        obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callDerivative" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callDerivative"
// cWrapperName: "casadi__Function__callDerivative__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callDerivative__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >* x5)"
// call: "obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
extern "C"
void
    casadi__Function__callDerivative__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >* x5);
void
    casadi__Function__callDerivative__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >* x5){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::SX > > x3_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x3);
        std::vector< std::vector< casadi::SX > > x4_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x4);
        std::vector< std::vector< casadi::SX > > x5_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x5);

        obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callDerivative" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callDerivative"
// cWrapperName: "casadi__Function__callDerivative__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >* x5, int x6)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callDerivative__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >* x5, int x6)"
// call: "obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),CBool]
extern "C"
void
    casadi__Function__callDerivative__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >* x5, int x6);
void
    casadi__Function__callDerivative__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >* x5, int x6){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::SX > > x3_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x3);
        std::vector< std::vector< casadi::SX > > x4_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x4);
        std::vector< std::vector< casadi::SX > > x5_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x5);
        bool x6_ = Marshaling<bool,int>::marshal(x6);

        obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callDerivative" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callDerivative"
// cWrapperName: "casadi__Function__callDerivative__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >* x5, int x6, int x7)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callDerivative__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >* x5, int x6, int x7)"
// call: "obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),CBool,CBool]
extern "C"
void
    casadi__Function__callDerivative__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >* x5, int x6, int x7);
void
    casadi__Function__callDerivative__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >* x5, int x6, int x7){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::SX > > x3_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x3);
        std::vector< std::vector< casadi::SX > > x4_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x4);
        std::vector< std::vector< casadi::SX > > x5_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x5);
        bool x6_ = Marshaling<bool,int>::marshal(x6);
        bool x7_ = Marshaling<bool,int>::marshal(x7);

        obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callDerivative" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callDerivative"
// cWrapperName: "casadi__Function__callDerivative__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, std::vector< std::vector< casadi::DMatrix* >* >* x4, std::vector< std::vector< casadi::DMatrix* >* >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callDerivative__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, std::vector< std::vector< casadi::DMatrix* >* >* x4, std::vector< std::vector< casadi::DMatrix* >* >* x5)"
// call: "obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
extern "C"
void
    casadi__Function__callDerivative__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, std::vector< std::vector< casadi::DMatrix* >* >* x4, std::vector< std::vector< casadi::DMatrix* >* >* x5);
void
    casadi__Function__callDerivative__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, std::vector< std::vector< casadi::DMatrix* >* >* x4, std::vector< std::vector< casadi::DMatrix* >* >* x5){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);
        std::vector< std::vector< casadi::DMatrix > > x2_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::DMatrix > > x3_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x3);
        std::vector< std::vector< casadi::DMatrix > > x4_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x4);
        std::vector< std::vector< casadi::DMatrix > > x5_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x5);

        obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callDerivative" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callDerivative"
// cWrapperName: "casadi__Function__callDerivative__7"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, std::vector< std::vector< casadi::DMatrix* >* >* x4, std::vector< std::vector< casadi::DMatrix* >* >* x5, int x6)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callDerivative__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, std::vector< std::vector< casadi::DMatrix* >* >* x4, std::vector< std::vector< casadi::DMatrix* >* >* x5, int x6)"
// call: "obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),CBool]
extern "C"
void
    casadi__Function__callDerivative__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, std::vector< std::vector< casadi::DMatrix* >* >* x4, std::vector< std::vector< casadi::DMatrix* >* >* x5, int x6);
void
    casadi__Function__callDerivative__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, std::vector< std::vector< casadi::DMatrix* >* >* x4, std::vector< std::vector< casadi::DMatrix* >* >* x5, int x6){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);
        std::vector< std::vector< casadi::DMatrix > > x2_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::DMatrix > > x3_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x3);
        std::vector< std::vector< casadi::DMatrix > > x4_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x4);
        std::vector< std::vector< casadi::DMatrix > > x5_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x5);
        bool x6_ = Marshaling<bool,int>::marshal(x6);

        obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callDerivative" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callDerivative"
// cWrapperName: "casadi__Function__callDerivative__8"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, std::vector< std::vector< casadi::DMatrix* >* >* x4, std::vector< std::vector< casadi::DMatrix* >* >* x5, int x6, int x7)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callDerivative__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, std::vector< std::vector< casadi::DMatrix* >* >* x4, std::vector< std::vector< casadi::DMatrix* >* >* x5, int x6, int x7)"
// call: "obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),CBool,CBool]
extern "C"
void
    casadi__Function__callDerivative__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, std::vector< std::vector< casadi::DMatrix* >* >* x4, std::vector< std::vector< casadi::DMatrix* >* >* x5, int x6, int x7);
void
    casadi__Function__callDerivative__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, std::vector< std::vector< casadi::DMatrix* >* >* x4, std::vector< std::vector< casadi::DMatrix* >* >* x5, int x6, int x7){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);
        std::vector< std::vector< casadi::DMatrix > > x2_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::DMatrix > > x3_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x3);
        std::vector< std::vector< casadi::DMatrix > > x4_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x4);
        std::vector< std::vector< casadi::DMatrix > > x5_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x5);
        bool x6_ = Marshaling<bool,int>::marshal(x6);
        bool x7_ = Marshaling<bool,int>::marshal(x7);

        obj->callDerivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callForward" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callForward"
// cWrapperName: "casadi__Function__callForward__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callForward__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3)"
// call: "obj->callForward(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
extern "C"
void
    casadi__Function__callForward__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3);
void
    casadi__Function__callForward__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);
        std::vector< std::vector< casadi::DMatrix > > x2_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::DMatrix > > x3_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x3);

        obj->callForward(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callForward" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callForward"
// cWrapperName: "casadi__Function__callForward__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callForward__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4)"
// call: "obj->callForward(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),CBool]
extern "C"
void
    casadi__Function__callForward__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4);
void
    casadi__Function__callForward__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);
        std::vector< std::vector< casadi::DMatrix > > x2_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::DMatrix > > x3_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->callForward(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callForward" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callForward"
// cWrapperName: "casadi__Function__callForward__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4, int x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callForward__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4, int x5)"
// call: "obj->callForward(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),CBool,CBool]
extern "C"
void
    casadi__Function__callForward__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4, int x5);
void
    casadi__Function__callForward__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4, int x5){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);
        std::vector< std::vector< casadi::DMatrix > > x2_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::DMatrix > > x3_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);
        bool x5_ = Marshaling<bool,int>::marshal(x5);

        obj->callForward(x0_, x1_, x2_, x3_, x4_, x5_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callForward" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callForward"
// cWrapperName: "casadi__Function__callForward__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callForward__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3)"
// call: "obj->callForward(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
extern "C"
void
    casadi__Function__callForward__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3);
void
    casadi__Function__callForward__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::SX > > x3_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x3);

        obj->callForward(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callForward" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callForward"
// cWrapperName: "casadi__Function__callForward__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callForward__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4)"
// call: "obj->callForward(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),CBool]
extern "C"
void
    casadi__Function__callForward__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4);
void
    casadi__Function__callForward__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::SX > > x3_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->callForward(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callForward" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callForward"
// cWrapperName: "casadi__Function__callForward__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4, int x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callForward__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4, int x5)"
// call: "obj->callForward(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),CBool,CBool]
extern "C"
void
    casadi__Function__callForward__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4, int x5);
void
    casadi__Function__callForward__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4, int x5){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::SX > > x3_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);
        bool x5_ = Marshaling<bool,int>::marshal(x5);

        obj->callForward(x0_, x1_, x2_, x3_, x4_, x5_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callForward" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callForward"
// cWrapperName: "casadi__Function__callForward__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callForward__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3)"
// call: "obj->callForward(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
extern "C"
void
    casadi__Function__callForward__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3);
void
    casadi__Function__callForward__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::MX > > x3_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x3);

        obj->callForward(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callForward" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callForward"
// cWrapperName: "casadi__Function__callForward__7"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callForward__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4)"
// call: "obj->callForward(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),CBool]
extern "C"
void
    casadi__Function__callForward__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4);
void
    casadi__Function__callForward__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::MX > > x3_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->callForward(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callForward" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callForward"
// cWrapperName: "casadi__Function__callForward__8"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4, int x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callForward__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4, int x5)"
// call: "obj->callForward(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),CBool,CBool]
extern "C"
void
    casadi__Function__callForward__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4, int x5);
void
    casadi__Function__callForward__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4, int x5){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::MX > > x3_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);
        bool x5_ = Marshaling<bool,int>::marshal(x5);

        obj->callForward(x0_, x1_, x2_, x3_, x4_, x5_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callReverse" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callReverse"
// cWrapperName: "casadi__Function__callReverse__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callReverse__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3)"
// call: "obj->callReverse(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
extern "C"
void
    casadi__Function__callReverse__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3);
void
    casadi__Function__callReverse__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);
        std::vector< std::vector< casadi::DMatrix > > x2_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::DMatrix > > x3_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x3);

        obj->callReverse(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callReverse" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callReverse"
// cWrapperName: "casadi__Function__callReverse__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callReverse__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4)"
// call: "obj->callReverse(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),CBool]
extern "C"
void
    casadi__Function__callReverse__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4);
void
    casadi__Function__callReverse__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);
        std::vector< std::vector< casadi::DMatrix > > x2_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::DMatrix > > x3_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->callReverse(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callReverse" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callReverse"
// cWrapperName: "casadi__Function__callReverse__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4, int x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callReverse__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4, int x5)"
// call: "obj->callReverse(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),CBool,CBool]
extern "C"
void
    casadi__Function__callReverse__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4, int x5);
void
    casadi__Function__callReverse__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, std::vector< casadi::DMatrix* >* x1, std::vector< std::vector< casadi::DMatrix* >* >* x2, std::vector< std::vector< casadi::DMatrix* >* >* x3, int x4, int x5){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        std::vector< casadi::DMatrix > x1_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x1);
        std::vector< std::vector< casadi::DMatrix > > x2_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::DMatrix > > x3_ = Marshaling<std::vector< std::vector< casadi::DMatrix > >,std::vector< std::vector< casadi::DMatrix* >* >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);
        bool x5_ = Marshaling<bool,int>::marshal(x5);

        obj->callReverse(x0_, x1_, x2_, x3_, x4_, x5_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callReverse" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callReverse"
// cWrapperName: "casadi__Function__callReverse__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callReverse__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3)"
// call: "obj->callReverse(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
extern "C"
void
    casadi__Function__callReverse__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3);
void
    casadi__Function__callReverse__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::SX > > x3_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x3);

        obj->callReverse(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callReverse" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callReverse"
// cWrapperName: "casadi__Function__callReverse__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callReverse__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4)"
// call: "obj->callReverse(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),CBool]
extern "C"
void
    casadi__Function__callReverse__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4);
void
    casadi__Function__callReverse__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::SX > > x3_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->callReverse(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callReverse" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callReverse"
// cWrapperName: "casadi__Function__callReverse__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4, int x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callReverse__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4, int x5)"
// call: "obj->callReverse(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),CBool,CBool]
extern "C"
void
    casadi__Function__callReverse__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4, int x5);
void
    casadi__Function__callReverse__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >* x3, int x4, int x5){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::SX > > x3_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);
        bool x5_ = Marshaling<bool,int>::marshal(x5);

        obj->callReverse(x0_, x1_, x2_, x3_, x4_, x5_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callReverse" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callReverse"
// cWrapperName: "casadi__Function__callReverse__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callReverse__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3)"
// call: "obj->callReverse(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
extern "C"
void
    casadi__Function__callReverse__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3);
void
    casadi__Function__callReverse__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::MX > > x3_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x3);

        obj->callReverse(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callReverse" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callReverse"
// cWrapperName: "casadi__Function__callReverse__7"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callReverse__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4)"
// call: "obj->callReverse(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),CBool]
extern "C"
void
    casadi__Function__callReverse__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4);
void
    casadi__Function__callReverse__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::MX > > x3_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->callReverse(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "callReverse" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::callReverse"
// cWrapperName: "casadi__Function__callReverse__8"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4, int x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__callReverse__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4, int x5)"
// call: "obj->callReverse(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),CBool,CBool]
extern "C"
void
    casadi__Function__callReverse__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4, int x5);
void
    casadi__Function__callReverse__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >* x3, int x4, int x5){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
        std::vector< std::vector< casadi::MX > > x3_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);
        bool x5_ = Marshaling<bool,int>::marshal(x5);

        obj->callReverse(x0_, x1_, x2_, x3_, x4_, x5_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "checkInputs" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::checkInputs"
// cWrapperName: "casadi__Function__checkInputs"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__checkInputs(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->checkInputs()"
// params: []
extern "C"
void
    casadi__Function__checkInputs(std::string ** err_msg, casadi::Function* obj);
void
    casadi__Function__checkInputs(std::string ** err_msg, casadi::Function* obj){
    try {

        obj->checkInputs();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "defaultInput" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::defaultInput"
// cWrapperName: "casadi__Function__defaultInput"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__Function__defaultInput(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->defaultInput(x0_)"
// params: [CInt]
extern "C"
double
    casadi__Function__defaultInput(std::string ** err_msg, casadi::Function* obj, int x0);
double
    casadi__Function__defaultInput(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        double ret = obj->defaultInput(x0_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "derForward" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::derForward"
// cWrapperName: "casadi__Function__derForward"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__derForward(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->derForward(x0_)"
// params: [CInt]
extern "C"
casadi::Function*
    casadi__Function__derForward(std::string ** err_msg, casadi::Function* obj, int x0);
casadi::Function*
    casadi__Function__derForward(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Function ret = obj->derForward(x0_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "derReverse" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::derReverse"
// cWrapperName: "casadi__Function__derReverse"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__derReverse(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->derReverse(x0_)"
// params: [CInt]
extern "C"
casadi::Function*
    casadi__Function__derReverse(std::string ** err_msg, casadi::Function* obj, int x0);
casadi::Function*
    casadi__Function__derReverse(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Function ret = obj->derReverse(x0_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "derivative" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::derivative"
// cWrapperName: "casadi__Function__derivative"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__derivative(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
// call: "obj->derivative(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Function*
    casadi__Function__derivative(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
casadi::Function*
    casadi__Function__derivative(std::string ** err_msg, casadi::Function* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Function ret = obj->derivative(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "evaluate" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::evaluate"
// cWrapperName: "casadi__Function__evaluate"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__evaluate(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->evaluate()"
// params: []
extern "C"
void
    casadi__Function__evaluate(std::string ** err_msg, casadi::Function* obj);
void
    casadi__Function__evaluate(std::string ** err_msg, casadi::Function* obj){
    try {

        obj->evaluate();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "fullJacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::fullJacobian"
// cWrapperName: "casadi__Function__fullJacobian"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__fullJacobian(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->fullJacobian()"
// params: []
extern "C"
casadi::Function*
    casadi__Function__fullJacobian(std::string ** err_msg, casadi::Function* obj);
casadi::Function*
    casadi__Function__fullJacobian(std::string ** err_msg, casadi::Function* obj){
    try {

        casadi::Function ret = obj->fullJacobian();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generate" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::generate"
// cWrapperName: "casadi__Function__generate__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->generate()"
// params: []
extern "C"
void
    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj);
void
    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj){
    try {

        obj->generate();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "generate" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::generate"
// cWrapperName: "casadi__Function__generate__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0)"
// call: "obj->generate(x0_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
void
    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0);
void
    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0){
    try {
        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);

        obj->generate(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "generate" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::generate"
// cWrapperName: "casadi__Function__generate__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "obj->generate(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0);
void
    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->generate(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "generate" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::generate"
// cWrapperName: "casadi__Function__generate__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "obj->generate(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
void
    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
void
    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        obj->generate(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getSanitizedName" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::getSanitizedName"
// cWrapperName: "casadi__Function__getSanitizedName"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__getSanitizedName(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->getSanitizedName()"
// params: []
extern "C"
std::string*
    casadi__Function__getSanitizedName(std::string ** err_msg, casadi::Function* obj);
std::string*
    casadi__Function__getSanitizedName(std::string ** err_msg, casadi::Function* obj){
    try {

        std::string ret = obj->getSanitizedName();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getStat" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::getStat"
// cWrapperName: "casadi__Function__getStat"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__Function__getStat(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "obj->getStat(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::GenericType*
    casadi__Function__getStat(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::GenericType*
    casadi__Function__getStat(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::GenericType ret = obj->getStat(x0_);
        return WrapReturn< casadi::GenericType*, casadi::GenericType >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getStats" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::getStats"
// cWrapperName: "casadi__Function__getStats"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Function__getStats(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->getStats()"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__Function__getStats(std::string ** err_msg, casadi::Function* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__Function__getStats(std::string ** err_msg, casadi::Function* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->getStats();
        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "gradient" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::gradient"
// cWrapperName: "casadi__Function__gradient__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__gradient__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// call: "obj->gradient(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::Function*
    casadi__Function__gradient__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
casadi::Function*
    casadi__Function__gradient__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Function ret = obj->gradient(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "gradient" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::gradient"
// cWrapperName: "casadi__Function__gradient__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__gradient__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
// call: "obj->gradient(x0_, x1_)"
// params: [CInt,Ref (Const StdString)]
extern "C"
casadi::Function*
    casadi__Function__gradient__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1);
casadi::Function*
    casadi__Function__gradient__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Function ret = obj->gradient(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "gradient" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::gradient"
// cWrapperName: "casadi__Function__gradient__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__gradient__2(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "obj->gradient(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::Function*
    casadi__Function__gradient__2(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::Function*
    casadi__Function__gradient__2(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Function ret = obj->gradient(x0_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "gradient" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::gradient"
// cWrapperName: "casadi__Function__gradient__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__gradient__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// call: "obj->gradient(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::Function*
    casadi__Function__gradient__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
casadi::Function*
    casadi__Function__gradient__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Function ret = obj->gradient(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "gradient" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::gradient"
// cWrapperName: "casadi__Function__gradient__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__gradient__4(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->gradient()"
// params: []
extern "C"
casadi::Function*
    casadi__Function__gradient__4(std::string ** err_msg, casadi::Function* obj);
casadi::Function*
    casadi__Function__gradient__4(std::string ** err_msg, casadi::Function* obj){
    try {

        casadi::Function ret = obj->gradient();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "gradient" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::gradient"
// cWrapperName: "casadi__Function__gradient__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__gradient__5(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->gradient(x0_)"
// params: [CInt]
extern "C"
casadi::Function*
    casadi__Function__gradient__5(std::string ** err_msg, casadi::Function* obj, int x0);
casadi::Function*
    casadi__Function__gradient__5(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Function ret = obj->gradient(x0_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "gradient" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::gradient"
// cWrapperName: "casadi__Function__gradient__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__gradient__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
// call: "obj->gradient(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Function*
    casadi__Function__gradient__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
casadi::Function*
    casadi__Function__gradient__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Function ret = obj->gradient(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hessian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::hessian"
// cWrapperName: "casadi__Function__hessian__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__hessian__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// call: "obj->hessian(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::Function*
    casadi__Function__hessian__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
casadi::Function*
    casadi__Function__hessian__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Function ret = obj->hessian(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hessian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::hessian"
// cWrapperName: "casadi__Function__hessian__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__hessian__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
// call: "obj->hessian(x0_, x1_)"
// params: [CInt,Ref (Const StdString)]
extern "C"
casadi::Function*
    casadi__Function__hessian__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1);
casadi::Function*
    casadi__Function__hessian__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Function ret = obj->hessian(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hessian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::hessian"
// cWrapperName: "casadi__Function__hessian__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__hessian__2(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "obj->hessian(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::Function*
    casadi__Function__hessian__2(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::Function*
    casadi__Function__hessian__2(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Function ret = obj->hessian(x0_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hessian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::hessian"
// cWrapperName: "casadi__Function__hessian__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__hessian__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// call: "obj->hessian(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::Function*
    casadi__Function__hessian__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
casadi::Function*
    casadi__Function__hessian__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Function ret = obj->hessian(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hessian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::hessian"
// cWrapperName: "casadi__Function__hessian__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__hessian__4(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->hessian()"
// params: []
extern "C"
casadi::Function*
    casadi__Function__hessian__4(std::string ** err_msg, casadi::Function* obj);
casadi::Function*
    casadi__Function__hessian__4(std::string ** err_msg, casadi::Function* obj){
    try {

        casadi::Function ret = obj->hessian();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hessian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::hessian"
// cWrapperName: "casadi__Function__hessian__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__hessian__5(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->hessian(x0_)"
// params: [CInt]
extern "C"
casadi::Function*
    casadi__Function__hessian__5(std::string ** err_msg, casadi::Function* obj, int x0);
casadi::Function*
    casadi__Function__hessian__5(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Function ret = obj->hessian(x0_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hessian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::hessian"
// cWrapperName: "casadi__Function__hessian__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__hessian__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
// call: "obj->hessian(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Function*
    casadi__Function__hessian__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
casadi::Function*
    casadi__Function__hessian__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Function ret = obj->hessian(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputDescription" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::inputDescription"
// cWrapperName: "casadi__Function__inputDescription"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__inputDescription(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->inputDescription(x0_)"
// params: [CInt]
extern "C"
std::string*
    casadi__Function__inputDescription(std::string ** err_msg, casadi::Function* obj, int x0);
std::string*
    casadi__Function__inputDescription(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        std::string ret = obj->inputDescription(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputIndex" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::inputIndex"
// cWrapperName: "casadi__Function__inputIndex"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__inputIndex(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "obj->inputIndex(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__Function__inputIndex(std::string ** err_msg, casadi::Function* obj, std::string* x0);
int
    casadi__Function__inputIndex(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        int ret = obj->inputIndex(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputName" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::inputName"
// cWrapperName: "casadi__Function__inputName"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__inputName(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->inputName(x0_)"
// params: [CInt]
extern "C"
std::string*
    casadi__Function__inputName(std::string ** err_msg, casadi::Function* obj, int x0);
std::string*
    casadi__Function__inputName(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        std::string ret = obj->inputName(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputScheme" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::inputScheme"
// cWrapperName: "casadi__Function__inputScheme"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdVec StdString
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    casadi__Function__inputScheme(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->inputScheme()"
// params: []
extern "C"
std::vector< std::string* >*
    casadi__Function__inputScheme(std::string ** err_msg, casadi::Function* obj);
std::vector< std::string* >*
    casadi__Function__inputScheme(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< std::string > ret = obj->inputScheme();
        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::inputSparsity"
// cWrapperName: "casadi__Function__inputSparsity__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__inputSparsity__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "obj->inputSparsity(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::Sparsity*
    casadi__Function__inputSparsity__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::Sparsity*
    casadi__Function__inputSparsity__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Sparsity ret = obj->inputSparsity(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::inputSparsity"
// cWrapperName: "casadi__Function__inputSparsity__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__inputSparsity__1(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->inputSparsity()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Function__inputSparsity__1(std::string ** err_msg, casadi::Function* obj);
casadi::Sparsity*
    casadi__Function__inputSparsity__1(std::string ** err_msg, casadi::Function* obj){
    try {

        casadi::Sparsity ret = obj->inputSparsity();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::inputSparsity"
// cWrapperName: "casadi__Function__inputSparsity__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__inputSparsity__2(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->inputSparsity(x0_)"
// params: [CInt]
extern "C"
casadi::Sparsity*
    casadi__Function__inputSparsity__2(std::string ** err_msg, casadi::Function* obj, int x0);
casadi::Sparsity*
    casadi__Function__inputSparsity__2(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Sparsity ret = obj->inputSparsity(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// call: "obj->jacSparsity(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
casadi::Sparsity*
    casadi__Function__jacSparsity__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Sparsity ret = obj->jacSparsity(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
// call: "obj->jacSparsity(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),CBool]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2);
casadi::Sparsity*
    casadi__Function__jacSparsity__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Sparsity ret = obj->jacSparsity(x0_, x1_, x2_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3)"
// call: "obj->jacSparsity(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),CBool,CBool]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3);
casadi::Sparsity*
    casadi__Function__jacSparsity__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->jacSparsity(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__3(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
// call: "obj->jacSparsity(x0_, x1_)"
// params: [CInt,Ref (Const StdString)]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__3(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1);
casadi::Sparsity*
    casadi__Function__jacSparsity__3(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Sparsity ret = obj->jacSparsity(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__4(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2)"
// call: "obj->jacSparsity(x0_, x1_, x2_)"
// params: [CInt,Ref (Const StdString),CBool]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__4(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2);
casadi::Sparsity*
    casadi__Function__jacSparsity__4(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Sparsity ret = obj->jacSparsity(x0_, x1_, x2_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__5(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3)"
// call: "obj->jacSparsity(x0_, x1_, x2_, x3_)"
// params: [CInt,Ref (Const StdString),CBool,CBool]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__5(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3);
casadi::Sparsity*
    casadi__Function__jacSparsity__5(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->jacSparsity(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__6(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "obj->jacSparsity(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__6(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::Sparsity*
    casadi__Function__jacSparsity__6(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Sparsity ret = obj->jacSparsity(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__7"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// call: "obj->jacSparsity(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
casadi::Sparsity*
    casadi__Function__jacSparsity__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Sparsity ret = obj->jacSparsity(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__8"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2)"
// call: "obj->jacSparsity(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CInt,CBool]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2);
casadi::Sparsity*
    casadi__Function__jacSparsity__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Sparsity ret = obj->jacSparsity(x0_, x1_, x2_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__9"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3)"
// call: "obj->jacSparsity(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),CInt,CBool,CBool]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3);
casadi::Sparsity*
    casadi__Function__jacSparsity__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->jacSparsity(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__10"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__10(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->jacSparsity()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__10(std::string ** err_msg, casadi::Function* obj);
casadi::Sparsity*
    casadi__Function__jacSparsity__10(std::string ** err_msg, casadi::Function* obj){
    try {

        casadi::Sparsity ret = obj->jacSparsity();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__11"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__11(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->jacSparsity(x0_)"
// params: [CInt]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__11(std::string ** err_msg, casadi::Function* obj, int x0);
casadi::Sparsity*
    casadi__Function__jacSparsity__11(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Sparsity ret = obj->jacSparsity(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__12"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__12(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
// call: "obj->jacSparsity(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__12(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
casadi::Sparsity*
    casadi__Function__jacSparsity__12(std::string ** err_msg, casadi::Function* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Sparsity ret = obj->jacSparsity(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__13"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__13(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2)"
// call: "obj->jacSparsity(x0_, x1_, x2_)"
// params: [CInt,CInt,CBool]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__13(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2);
casadi::Sparsity*
    casadi__Function__jacSparsity__13(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Sparsity ret = obj->jacSparsity(x0_, x1_, x2_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacSparsity"
// cWrapperName: "casadi__Function__jacSparsity__14"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__jacSparsity__14(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3)"
// call: "obj->jacSparsity(x0_, x1_, x2_, x3_)"
// params: [CInt,CInt,CBool,CBool]
extern "C"
casadi::Sparsity*
    casadi__Function__jacSparsity__14(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3);
casadi::Sparsity*
    casadi__Function__jacSparsity__14(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->jacSparsity(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// call: "obj->jacobian(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::Function*
    casadi__Function__jacobian__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
casadi::Function*
    casadi__Function__jacobian__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Function ret = obj->jacobian(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
// call: "obj->jacobian(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),CBool]
extern "C"
casadi::Function*
    casadi__Function__jacobian__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2);
casadi::Function*
    casadi__Function__jacobian__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Function ret = obj->jacobian(x0_, x1_, x2_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3)"
// call: "obj->jacobian(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),CBool,CBool]
extern "C"
casadi::Function*
    casadi__Function__jacobian__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3);
casadi::Function*
    casadi__Function__jacobian__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Function ret = obj->jacobian(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__3(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
// call: "obj->jacobian(x0_, x1_)"
// params: [CInt,Ref (Const StdString)]
extern "C"
casadi::Function*
    casadi__Function__jacobian__3(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1);
casadi::Function*
    casadi__Function__jacobian__3(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Function ret = obj->jacobian(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__4(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2)"
// call: "obj->jacobian(x0_, x1_, x2_)"
// params: [CInt,Ref (Const StdString),CBool]
extern "C"
casadi::Function*
    casadi__Function__jacobian__4(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2);
casadi::Function*
    casadi__Function__jacobian__4(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Function ret = obj->jacobian(x0_, x1_, x2_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__5(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3)"
// call: "obj->jacobian(x0_, x1_, x2_, x3_)"
// params: [CInt,Ref (Const StdString),CBool,CBool]
extern "C"
casadi::Function*
    casadi__Function__jacobian__5(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3);
casadi::Function*
    casadi__Function__jacobian__5(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Function ret = obj->jacobian(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__6(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "obj->jacobian(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::Function*
    casadi__Function__jacobian__6(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::Function*
    casadi__Function__jacobian__6(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Function ret = obj->jacobian(x0_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__7"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// call: "obj->jacobian(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::Function*
    casadi__Function__jacobian__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
casadi::Function*
    casadi__Function__jacobian__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Function ret = obj->jacobian(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__8"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2)"
// call: "obj->jacobian(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CInt,CBool]
extern "C"
casadi::Function*
    casadi__Function__jacobian__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2);
casadi::Function*
    casadi__Function__jacobian__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Function ret = obj->jacobian(x0_, x1_, x2_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__9"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3)"
// call: "obj->jacobian(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),CInt,CBool,CBool]
extern "C"
casadi::Function*
    casadi__Function__jacobian__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3);
casadi::Function*
    casadi__Function__jacobian__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Function ret = obj->jacobian(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__10"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__10(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->jacobian()"
// params: []
extern "C"
casadi::Function*
    casadi__Function__jacobian__10(std::string ** err_msg, casadi::Function* obj);
casadi::Function*
    casadi__Function__jacobian__10(std::string ** err_msg, casadi::Function* obj){
    try {

        casadi::Function ret = obj->jacobian();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__11"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__11(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->jacobian(x0_)"
// params: [CInt]
extern "C"
casadi::Function*
    casadi__Function__jacobian__11(std::string ** err_msg, casadi::Function* obj, int x0);
casadi::Function*
    casadi__Function__jacobian__11(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Function ret = obj->jacobian(x0_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__12"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__12(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
// call: "obj->jacobian(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Function*
    casadi__Function__jacobian__12(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
casadi::Function*
    casadi__Function__jacobian__12(std::string ** err_msg, casadi::Function* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Function ret = obj->jacobian(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__13"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__13(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2)"
// call: "obj->jacobian(x0_, x1_, x2_)"
// params: [CInt,CInt,CBool]
extern "C"
casadi::Function*
    casadi__Function__jacobian__13(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2);
casadi::Function*
    casadi__Function__jacobian__13(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Function ret = obj->jacobian(x0_, x1_, x2_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian__14"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian__14(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3)"
// call: "obj->jacobian(x0_, x1_, x2_, x3_)"
// params: [CInt,CInt,CBool,CBool]
extern "C"
casadi::Function*
    casadi__Function__jacobian__14(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3);
casadi::Function*
    casadi__Function__jacobian__14(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Function ret = obj->jacobian(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "map" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::map"
// cWrapperName: "casadi__Function__map__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__map__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// call: "obj->map(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::Function*
    casadi__Function__map__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
casadi::Function*
    casadi__Function__map__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Function ret = obj->map(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "map" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::map"
// cWrapperName: "casadi__Function__map__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__map__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2)"
// call: "obj->map(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CInt,Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::Function*
    casadi__Function__map__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::Function*
    casadi__Function__map__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);

        casadi::Function ret = obj->map(x0_, x1_, x2_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "map" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::map"
// cWrapperName: "casadi__Function__map__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__map__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0)"
// call: "obj->map(x0_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__map__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0);
std::vector< casadi::MX* >*
    casadi__Function__map__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        std::vector< casadi::MX > ret = obj->map(x0_);
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "map" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::map"
// cWrapperName: "casadi__Function__map__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__map__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1)"
// call: "obj->map(x0_, x1_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__map__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1);
std::vector< casadi::MX* >*
    casadi__Function__map__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        std::vector< casadi::MX > ret = obj->map(x0_, x1_);
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "map" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::map"
// cWrapperName: "casadi__Function__map__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< std::vector< casadi::MX* >* >* x0)"
// args: "(x0_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, std::vector< std::vector< casadi::MX* >* >* x0)"
// call: "obj->map(x0_)"
// params: [Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))))]
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, std::vector< std::vector< casadi::MX* >* >* x0);
std::vector< std::vector< casadi::MX* >* >*
    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, std::vector< std::vector< casadi::MX* >* >* x0){
    try {
        std::vector< std::vector< casadi::MX > > x0_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x0);

        std::vector< std::vector< casadi::MX > > ret = obj->map(x0_);
        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "map" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::map"
// cWrapperName: "casadi__Function__map__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< std::vector< casadi::MX* >* >* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, std::vector< std::vector< casadi::MX* >* >* x0, std::string* x1)"
// call: "obj->map(x0_, x1_)"
// params: [Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),Ref (Const StdString)]
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, std::vector< std::vector< casadi::MX* >* >* x0, std::string* x1);
std::vector< std::vector< casadi::MX* >* >*
    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, std::vector< std::vector< casadi::MX* >* >* x0, std::string* x1){
    try {
        std::vector< std::vector< casadi::MX > > x0_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        std::vector< std::vector< casadi::MX > > ret = obj->map(x0_, x1_);
        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapaccum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapaccum"
// cWrapperName: "casadi__Function__mapaccum__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__mapaccum__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// call: "obj->mapaccum(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::Function*
    casadi__Function__mapaccum__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
casadi::Function*
    casadi__Function__mapaccum__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Function ret = obj->mapaccum(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapaccum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapaccum"
// cWrapperName: "casadi__Function__mapaccum__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__mapaccum__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2)"
// call: "obj->mapaccum(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CInt,Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::Function*
    casadi__Function__mapaccum__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::Function*
    casadi__Function__mapaccum__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);

        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapsum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapsum"
// cWrapperName: "casadi__Function__mapsum__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mapsum__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0)"
// call: "obj->mapsum(x0_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__mapsum__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0);
std::vector< casadi::MX* >*
    casadi__Function__mapsum__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        std::vector< casadi::MX > ret = obj->mapsum(x0_);
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapsum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapsum"
// cWrapperName: "casadi__Function__mapsum__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mapsum__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1)"
// call: "obj->mapsum(x0_, x1_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__mapsum__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1);
std::vector< casadi::MX* >*
    casadi__Function__mapsum__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        std::vector< casadi::MX > ret = obj->mapsum(x0_, x1_);
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nIn" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::nIn"
// cWrapperName: "casadi__Function__nIn"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__nIn(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->nIn()"
// params: []
extern "C"
int
    casadi__Function__nIn(std::string ** err_msg, casadi::Function* obj);
int
    casadi__Function__nIn(std::string ** err_msg, casadi::Function* obj){
    try {

        int ret = obj->nIn();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nOut" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::nOut"
// cWrapperName: "casadi__Function__nOut"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__nOut(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->nOut()"
// params: []
extern "C"
int
    casadi__Function__nOut(std::string ** err_msg, casadi::Function* obj);
int
    casadi__Function__nOut(std::string ** err_msg, casadi::Function* obj){
    try {

        int ret = obj->nOut();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnzIn" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::nnzIn"
// cWrapperName: "casadi__Function__nnzIn"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__nnzIn(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->nnzIn()"
// params: []
extern "C"
int
    casadi__Function__nnzIn(std::string ** err_msg, casadi::Function* obj);
int
    casadi__Function__nnzIn(std::string ** err_msg, casadi::Function* obj){
    try {

        int ret = obj->nnzIn();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnzOut" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::nnzOut"
// cWrapperName: "casadi__Function__nnzOut"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__nnzOut(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->nnzOut()"
// params: []
extern "C"
int
    casadi__Function__nnzOut(std::string ** err_msg, casadi::Function* obj);
int
    casadi__Function__nnzOut(std::string ** err_msg, casadi::Function* obj){
    try {

        int ret = obj->nnzOut();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numelIn" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::numelIn"
// cWrapperName: "casadi__Function__numelIn"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__numelIn(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->numelIn()"
// params: []
extern "C"
int
    casadi__Function__numelIn(std::string ** err_msg, casadi::Function* obj);
int
    casadi__Function__numelIn(std::string ** err_msg, casadi::Function* obj){
    try {

        int ret = obj->numelIn();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numelOut" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::numelOut"
// cWrapperName: "casadi__Function__numelOut"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__numelOut(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->numelOut()"
// params: []
extern "C"
int
    casadi__Function__numelOut(std::string ** err_msg, casadi::Function* obj);
int
    casadi__Function__numelOut(std::string ** err_msg, casadi::Function* obj){
    try {

        int ret = obj->numelOut();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0)"
// args: "(x0_)"
// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))
// cWrapperRetType: "std::map< std::string, casadi::MX* >*"
// proto: "std::map< std::string, casadi::MX* >*\n    casadi__Function__operator_call__0(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0)"
// call: "obj->operator ()(x0_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))))]
extern "C"
std::map< std::string, casadi::MX* >*
    casadi__Function__operator_call__0(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0);
std::map< std::string, casadi::MX* >*
    casadi__Function__operator_call__0(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0){
    try {
        std::map< std::string, casadi::MX > x0_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x0);

        std::map< std::string, casadi::MX > ret = obj->operator ()(x0_);
        return WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))
// cWrapperRetType: "std::map< std::string, casadi::MX* >*"
// proto: "std::map< std::string, casadi::MX* >*\n    casadi__Function__operator_call__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, int x1)"
// call: "obj->operator ()(x0_, x1_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),CBool]
extern "C"
std::map< std::string, casadi::MX* >*
    casadi__Function__operator_call__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, int x1);
std::map< std::string, casadi::MX* >*
    casadi__Function__operator_call__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, int x1){
    try {
        std::map< std::string, casadi::MX > x0_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::map< std::string, casadi::MX > ret = obj->operator ()(x0_, x1_);
        return WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))
// cWrapperRetType: "std::map< std::string, casadi::MX* >*"
// proto: "std::map< std::string, casadi::MX* >*\n    casadi__Function__operator_call__2(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, int x1, int x2)"
// call: "obj->operator ()(x0_, x1_, x2_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),CBool,CBool]
extern "C"
std::map< std::string, casadi::MX* >*
    casadi__Function__operator_call__2(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, int x1, int x2);
std::map< std::string, casadi::MX* >*
    casadi__Function__operator_call__2(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, int x1, int x2){
    try {
        std::map< std::string, casadi::MX > x0_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        std::map< std::string, casadi::MX > ret = obj->operator ()(x0_, x1_, x2_);
        return WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0)"
// args: "(x0_)"
// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))
// cWrapperRetType: "std::map< std::string, casadi::SX* >*"
// proto: "std::map< std::string, casadi::SX* >*\n    casadi__Function__operator_call__3(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0)"
// call: "obj->operator ()(x0_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))))]
extern "C"
std::map< std::string, casadi::SX* >*
    casadi__Function__operator_call__3(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0);
std::map< std::string, casadi::SX* >*
    casadi__Function__operator_call__3(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0){
    try {
        std::map< std::string, casadi::SX > x0_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x0);

        std::map< std::string, casadi::SX > ret = obj->operator ()(x0_);
        return WrapReturn< std::map< std::string, casadi::SX* >*, std::map< std::string, casadi::SX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))
// cWrapperRetType: "std::map< std::string, casadi::SX* >*"
// proto: "std::map< std::string, casadi::SX* >*\n    casadi__Function__operator_call__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, int x1)"
// call: "obj->operator ()(x0_, x1_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),CBool]
extern "C"
std::map< std::string, casadi::SX* >*
    casadi__Function__operator_call__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, int x1);
std::map< std::string, casadi::SX* >*
    casadi__Function__operator_call__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, int x1){
    try {
        std::map< std::string, casadi::SX > x0_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::map< std::string, casadi::SX > ret = obj->operator ()(x0_, x1_);
        return WrapReturn< std::map< std::string, casadi::SX* >*, std::map< std::string, casadi::SX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))
// cWrapperRetType: "std::map< std::string, casadi::SX* >*"
// proto: "std::map< std::string, casadi::SX* >*\n    casadi__Function__operator_call__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, int x1, int x2)"
// call: "obj->operator ()(x0_, x1_, x2_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),CBool,CBool]
extern "C"
std::map< std::string, casadi::SX* >*
    casadi__Function__operator_call__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, int x1, int x2);
std::map< std::string, casadi::SX* >*
    casadi__Function__operator_call__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, int x1, int x2){
    try {
        std::map< std::string, casadi::SX > x0_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        std::map< std::string, casadi::SX > ret = obj->operator ()(x0_, x1_, x2_);
        return WrapReturn< std::map< std::string, casadi::SX* >*, std::map< std::string, casadi::SX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DMatrix* >* x0)"
// args: "(x0_)"
// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DMatrix")))
// cWrapperRetType: "std::map< std::string, casadi::DMatrix* >*"
// proto: "std::map< std::string, casadi::DMatrix* >*\n    casadi__Function__operator_call__6(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DMatrix* >* x0)"
// call: "obj->operator ()(x0_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
extern "C"
std::map< std::string, casadi::DMatrix* >*
    casadi__Function__operator_call__6(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DMatrix* >* x0);
std::map< std::string, casadi::DMatrix* >*
    casadi__Function__operator_call__6(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DMatrix* >* x0){
    try {
        std::map< std::string, casadi::DMatrix > x0_ = Marshaling<std::map< std::string, casadi::DMatrix >,std::map< std::string, casadi::DMatrix* >*>::marshal(x0);

        std::map< std::string, casadi::DMatrix > ret = obj->operator ()(x0_);
        return WrapReturn< std::map< std::string, casadi::DMatrix* >*, std::map< std::string, casadi::DMatrix > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__7"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DMatrix* >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DMatrix")))
// cWrapperRetType: "std::map< std::string, casadi::DMatrix* >*"
// proto: "std::map< std::string, casadi::DMatrix* >*\n    casadi__Function__operator_call__7(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DMatrix* >* x0, int x1)"
// call: "obj->operator ()(x0_, x1_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DMatrix")))),CBool]
extern "C"
std::map< std::string, casadi::DMatrix* >*
    casadi__Function__operator_call__7(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DMatrix* >* x0, int x1);
std::map< std::string, casadi::DMatrix* >*
    casadi__Function__operator_call__7(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DMatrix* >* x0, int x1){
    try {
        std::map< std::string, casadi::DMatrix > x0_ = Marshaling<std::map< std::string, casadi::DMatrix >,std::map< std::string, casadi::DMatrix* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::map< std::string, casadi::DMatrix > ret = obj->operator ()(x0_, x1_);
        return WrapReturn< std::map< std::string, casadi::DMatrix* >*, std::map< std::string, casadi::DMatrix > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__8"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DMatrix* >* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DMatrix")))
// cWrapperRetType: "std::map< std::string, casadi::DMatrix* >*"
// proto: "std::map< std::string, casadi::DMatrix* >*\n    casadi__Function__operator_call__8(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DMatrix* >* x0, int x1, int x2)"
// call: "obj->operator ()(x0_, x1_, x2_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DMatrix")))),CBool,CBool]
extern "C"
std::map< std::string, casadi::DMatrix* >*
    casadi__Function__operator_call__8(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DMatrix* >* x0, int x1, int x2);
std::map< std::string, casadi::DMatrix* >*
    casadi__Function__operator_call__8(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DMatrix* >* x0, int x1, int x2){
    try {
        std::map< std::string, casadi::DMatrix > x0_ = Marshaling<std::map< std::string, casadi::DMatrix >,std::map< std::string, casadi::DMatrix* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        std::map< std::string, casadi::DMatrix > ret = obj->operator ()(x0_, x1_, x2_);
        return WrapReturn< std::map< std::string, casadi::DMatrix* >*, std::map< std::string, casadi::DMatrix > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__9"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__operator_call__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0)"
// call: "obj->operator ()(x0_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__operator_call__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0);
std::vector< casadi::MX* >*
    casadi__Function__operator_call__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        std::vector< casadi::MX > ret = obj->operator ()(x0_);
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__10"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__operator_call__10(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, int x1)"
// call: "obj->operator ()(x0_, x1_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),CBool]
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__operator_call__10(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, int x1);
std::vector< casadi::MX* >*
    casadi__Function__operator_call__10(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, int x1){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< casadi::MX > ret = obj->operator ()(x0_, x1_);
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__11"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__operator_call__11(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, int x1, int x2)"
// call: "obj->operator ()(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),CBool,CBool]
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__operator_call__11(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, int x1, int x2);
std::vector< casadi::MX* >*
    casadi__Function__operator_call__11(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, int x1, int x2){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        std::vector< casadi::MX > ret = obj->operator ()(x0_, x1_, x2_);
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__12"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__Function__operator_call__12(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0)"
// call: "obj->operator ()(x0_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
extern "C"
std::vector< casadi::SX* >*
    casadi__Function__operator_call__12(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0);
std::vector< casadi::SX* >*
    casadi__Function__operator_call__12(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);

        std::vector< casadi::SX > ret = obj->operator ()(x0_);
        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__13"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__Function__operator_call__13(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, int x1)"
// call: "obj->operator ()(x0_, x1_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),CBool]
extern "C"
std::vector< casadi::SX* >*
    casadi__Function__operator_call__13(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, int x1);
std::vector< casadi::SX* >*
    casadi__Function__operator_call__13(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, int x1){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< casadi::SX > ret = obj->operator ()(x0_, x1_);
        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__14"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__Function__operator_call__14(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, int x1, int x2)"
// call: "obj->operator ()(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),CBool,CBool]
extern "C"
std::vector< casadi::SX* >*
    casadi__Function__operator_call__14(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, int x1, int x2);
std::vector< casadi::SX* >*
    casadi__Function__operator_call__14(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, int x1, int x2){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        std::vector< casadi::SX > ret = obj->operator ()(x0_, x1_, x2_);
        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__15"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
// proto: "std::vector< casadi::DMatrix* >*\n    casadi__Function__operator_call__15(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0)"
// call: "obj->operator ()(x0_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
extern "C"
std::vector< casadi::DMatrix* >*
    casadi__Function__operator_call__15(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0);
std::vector< casadi::DMatrix* >*
    casadi__Function__operator_call__15(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);

        std::vector< casadi::DMatrix > ret = obj->operator ()(x0_);
        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__16"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
// proto: "std::vector< casadi::DMatrix* >*\n    casadi__Function__operator_call__16(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, int x1)"
// call: "obj->operator ()(x0_, x1_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),CBool]
extern "C"
std::vector< casadi::DMatrix* >*
    casadi__Function__operator_call__16(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, int x1);
std::vector< casadi::DMatrix* >*
    casadi__Function__operator_call__16(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, int x1){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< casadi::DMatrix > ret = obj->operator ()(x0_, x1_);
        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::operator ()"
// cWrapperName: "casadi__Function__operator_call__17"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
// proto: "std::vector< casadi::DMatrix* >*\n    casadi__Function__operator_call__17(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, int x1, int x2)"
// call: "obj->operator ()(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),CBool,CBool]
extern "C"
std::vector< casadi::DMatrix* >*
    casadi__Function__operator_call__17(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, int x1, int x2);
std::vector< casadi::DMatrix* >*
    casadi__Function__operator_call__17(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DMatrix* >* x0, int x1, int x2){
    try {
        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        std::vector< casadi::DMatrix > ret = obj->operator ()(x0_, x1_, x2_);
        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputDescription" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::outputDescription"
// cWrapperName: "casadi__Function__outputDescription"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__outputDescription(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->outputDescription(x0_)"
// params: [CInt]
extern "C"
std::string*
    casadi__Function__outputDescription(std::string ** err_msg, casadi::Function* obj, int x0);
std::string*
    casadi__Function__outputDescription(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        std::string ret = obj->outputDescription(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputIndex" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::outputIndex"
// cWrapperName: "casadi__Function__outputIndex"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__outputIndex(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "obj->outputIndex(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__Function__outputIndex(std::string ** err_msg, casadi::Function* obj, std::string* x0);
int
    casadi__Function__outputIndex(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        int ret = obj->outputIndex(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputName" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::outputName"
// cWrapperName: "casadi__Function__outputName"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__outputName(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->outputName(x0_)"
// params: [CInt]
extern "C"
std::string*
    casadi__Function__outputName(std::string ** err_msg, casadi::Function* obj, int x0);
std::string*
    casadi__Function__outputName(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        std::string ret = obj->outputName(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputScheme" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::outputScheme"
// cWrapperName: "casadi__Function__outputScheme"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdVec StdString
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    casadi__Function__outputScheme(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->outputScheme()"
// params: []
extern "C"
std::vector< std::string* >*
    casadi__Function__outputScheme(std::string ** err_msg, casadi::Function* obj);
std::vector< std::string* >*
    casadi__Function__outputScheme(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< std::string > ret = obj->outputScheme();
        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::outputSparsity"
// cWrapperName: "casadi__Function__outputSparsity__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__outputSparsity__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "obj->outputSparsity(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::Sparsity*
    casadi__Function__outputSparsity__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::Sparsity*
    casadi__Function__outputSparsity__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Sparsity ret = obj->outputSparsity(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::outputSparsity"
// cWrapperName: "casadi__Function__outputSparsity__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__outputSparsity__1(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->outputSparsity()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Function__outputSparsity__1(std::string ** err_msg, casadi::Function* obj);
casadi::Sparsity*
    casadi__Function__outputSparsity__1(std::string ** err_msg, casadi::Function* obj){
    try {

        casadi::Sparsity ret = obj->outputSparsity();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::outputSparsity"
// cWrapperName: "casadi__Function__outputSparsity__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__outputSparsity__2(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->outputSparsity(x0_)"
// params: [CInt]
extern "C"
casadi::Sparsity*
    casadi__Function__outputSparsity__2(std::string ** err_msg, casadi::Function* obj, int x0);
casadi::Sparsity*
    casadi__Function__outputSparsity__2(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Sparsity ret = obj->outputSparsity(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "printDimensions" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::printDimensions"
// cWrapperName: "casadi__Function__printDimensions"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__printDimensions(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->printDimensions()"
// params: []
extern "C"
void
    casadi__Function__printDimensions(std::string ** err_msg, casadi::Function* obj);
void
    casadi__Function__printDimensions(std::string ** err_msg, casadi::Function* obj){
    try {

        obj->printDimensions();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "removeMonitor" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::removeMonitor"
// cWrapperName: "casadi__Function__removeMonitor"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__removeMonitor(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "obj->removeMonitor(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__Function__removeMonitor(std::string ** err_msg, casadi::Function* obj, std::string* x0);
void
    casadi__Function__removeMonitor(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->removeMonitor(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "sanitizeName" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sanitizeName"
// cWrapperName: "casadi__Function__sanitizeName"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__sanitizeName(std::string ** err_msg, std::string* x0)"
// call: "casadi::Function::sanitizeName(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__Function__sanitizeName(std::string ** err_msg, std::string* x0);
std::string*
    casadi__Function__sanitizeName(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::Function::sanitizeName(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "setDerForward" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setDerForward"
// cWrapperName: "casadi__Function__setDerForward"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setDerForward(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1)"
// call: "obj->setDerForward(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),CInt]
extern "C"
void
    casadi__Function__setDerForward(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1);
void
    casadi__Function__setDerForward(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->setDerForward(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setDerReverse" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setDerReverse"
// cWrapperName: "casadi__Function__setDerReverse"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setDerReverse(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1)"
// call: "obj->setDerReverse(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),CInt]
extern "C"
void
    casadi__Function__setDerReverse(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1);
void
    casadi__Function__setDerReverse(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->setDerReverse(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setFullJacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setFullJacobian"
// cWrapperName: "casadi__Function__setFullJacobian"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setFullJacobian(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0)"
// call: "obj->setFullJacobian(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Function")))]
extern "C"
void
    casadi__Function__setFullJacobian(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0);
void
    casadi__Function__setFullJacobian(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        obj->setFullJacobian(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setJacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setJacSparsity"
// cWrapperName: "casadi__Function__setJacSparsity__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setJacSparsity__0(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2)"
// call: "obj->setJacSparsity(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (Const StdString),Ref (Const StdString)]
extern "C"
void
    casadi__Function__setJacSparsity__0(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2);
void
    casadi__Function__setJacSparsity__0(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        obj->setJacSparsity(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setJacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setJacSparsity"
// cWrapperName: "casadi__Function__setJacSparsity__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setJacSparsity__1(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2, int x3)"
// call: "obj->setJacSparsity(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (Const StdString),Ref (Const StdString),CBool]
extern "C"
void
    casadi__Function__setJacSparsity__1(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2, int x3);
void
    casadi__Function__setJacSparsity__1(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2, int x3){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->setJacSparsity(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setJacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setJacSparsity"
// cWrapperName: "casadi__Function__setJacSparsity__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setJacSparsity__2(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2)"
// call: "obj->setJacSparsity(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt,Ref (Const StdString)]
extern "C"
void
    casadi__Function__setJacSparsity__2(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2);
void
    casadi__Function__setJacSparsity__2(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        obj->setJacSparsity(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setJacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setJacSparsity"
// cWrapperName: "casadi__Function__setJacSparsity__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setJacSparsity__3(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2, int x3)"
// call: "obj->setJacSparsity(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt,Ref (Const StdString),CBool]
extern "C"
void
    casadi__Function__setJacSparsity__3(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2, int x3);
void
    casadi__Function__setJacSparsity__3(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2, int x3){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->setJacSparsity(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setJacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setJacSparsity"
// cWrapperName: "casadi__Function__setJacSparsity__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setJacSparsity__4(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2)"
// call: "obj->setJacSparsity(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (Const StdString),CInt]
extern "C"
void
    casadi__Function__setJacSparsity__4(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2);
void
    casadi__Function__setJacSparsity__4(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        obj->setJacSparsity(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setJacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setJacSparsity"
// cWrapperName: "casadi__Function__setJacSparsity__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setJacSparsity__5(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2, int x3)"
// call: "obj->setJacSparsity(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (Const StdString),CInt,CBool]
extern "C"
void
    casadi__Function__setJacSparsity__5(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2, int x3);
void
    casadi__Function__setJacSparsity__5(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2, int x3){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->setJacSparsity(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setJacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setJacSparsity"
// cWrapperName: "casadi__Function__setJacSparsity__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setJacSparsity__6(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2)"
// call: "obj->setJacSparsity(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt,CInt]
extern "C"
void
    casadi__Function__setJacSparsity__6(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2);
void
    casadi__Function__setJacSparsity__6(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        obj->setJacSparsity(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setJacSparsity" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setJacSparsity"
// cWrapperName: "casadi__Function__setJacSparsity__7"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setJacSparsity__7(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2, int x3)"
// call: "obj->setJacSparsity(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt,CInt,CBool]
extern "C"
void
    casadi__Function__setJacSparsity__7(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2, int x3);
void
    casadi__Function__setJacSparsity__7(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2, int x3){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->setJacSparsity(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setJacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setJacobian"
// cWrapperName: "casadi__Function__setJacobian__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setJacobian__0(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0)"
// call: "obj->setJacobian(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Function")))]
extern "C"
void
    casadi__Function__setJacobian__0(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0);
void
    casadi__Function__setJacobian__0(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        obj->setJacobian(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setJacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setJacobian"
// cWrapperName: "casadi__Function__setJacobian__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setJacobian__1(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1)"
// call: "obj->setJacobian(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),CInt]
extern "C"
void
    casadi__Function__setJacobian__1(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1);
void
    casadi__Function__setJacobian__1(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->setJacobian(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setJacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setJacobian"
// cWrapperName: "casadi__Function__setJacobian__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setJacobian__2(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2)"
// call: "obj->setJacobian(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),CInt,CInt]
extern "C"
void
    casadi__Function__setJacobian__2(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2);
void
    casadi__Function__setJacobian__2(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        obj->setJacobian(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setJacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::setJacobian"
// cWrapperName: "casadi__Function__setJacobian__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__setJacobian__3(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2, int x3)"
// call: "obj->setJacobian(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),CInt,CInt,CBool]
extern "C"
void
    casadi__Function__setJacobian__3(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2, int x3);
void
    casadi__Function__setJacobian__3(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2, int x3){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->setJacobian(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "spCanEvaluate" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::spCanEvaluate"
// cWrapperName: "casadi__Function__spCanEvaluate"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__spCanEvaluate(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->spCanEvaluate(x0_)"
// params: [CBool]
extern "C"
int
    casadi__Function__spCanEvaluate(std::string ** err_msg, casadi::Function* obj, int x0);
int
    casadi__Function__spCanEvaluate(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->spCanEvaluate(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "spEvaluate" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::spEvaluate"
// cWrapperName: "casadi__Function__spEvaluate"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__spEvaluate(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->spEvaluate(x0_)"
// params: [CBool]
extern "C"
void
    casadi__Function__spEvaluate(std::string ** err_msg, casadi::Function* obj, int x0);
void
    casadi__Function__spEvaluate(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        obj->spEvaluate(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "spInit" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::spInit"
// cWrapperName: "casadi__Function__spInit"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__spInit(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->spInit(x0_)"
// params: [CBool]
extern "C"
void
    casadi__Function__spInit(std::string ** err_msg, casadi::Function* obj, int x0);
void
    casadi__Function__spInit(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        obj->spInit(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "symbolicInput" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::symbolicInput"
// cWrapperName: "casadi__Function__symbolicInput__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__symbolicInput__0(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->symbolicInput()"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__symbolicInput__0(std::string ** err_msg, casadi::Function* obj);
std::vector< casadi::MX* >*
    casadi__Function__symbolicInput__0(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< casadi::MX > ret = obj->symbolicInput();
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "symbolicInput" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::symbolicInput"
// cWrapperName: "casadi__Function__symbolicInput__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__symbolicInput__1(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->symbolicInput(x0_)"
// params: [CBool]
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__symbolicInput__1(std::string ** err_msg, casadi::Function* obj, int x0);
std::vector< casadi::MX* >*
    casadi__Function__symbolicInput__1(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::vector< casadi::MX > ret = obj->symbolicInput(x0_);
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "symbolicInputSX" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::symbolicInputSX"
// cWrapperName: "casadi__Function__symbolicInputSX"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__Function__symbolicInputSX(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->symbolicInputSX()"
// params: []
extern "C"
std::vector< casadi::SX* >*
    casadi__Function__symbolicInputSX(std::string ** err_msg, casadi::Function* obj);
std::vector< casadi::SX* >*
    casadi__Function__symbolicInputSX(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< casadi::SX > ret = obj->symbolicInputSX();
        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "symbolicOutput" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::symbolicOutput"
// cWrapperName: "casadi__Function__symbolicOutput"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__symbolicOutput(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->symbolicOutput()"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__symbolicOutput(std::string ** err_msg, casadi::Function* obj);
std::vector< casadi::MX* >*
    casadi__Function__symbolicOutput(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< casadi::MX > ret = obj->symbolicOutput();
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sz_arg" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sz_arg"
// cWrapperName: "casadi__Function__sz_arg"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__Function__sz_arg(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->sz_arg()"
// params: []
extern "C"
size_t
    casadi__Function__sz_arg(std::string ** err_msg, casadi::Function* obj);
size_t
    casadi__Function__sz_arg(std::string ** err_msg, casadi::Function* obj){
    try {

        size_t ret = obj->sz_arg();
        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sz_iw" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sz_iw"
// cWrapperName: "casadi__Function__sz_iw"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__Function__sz_iw(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->sz_iw()"
// params: []
extern "C"
size_t
    casadi__Function__sz_iw(std::string ** err_msg, casadi::Function* obj);
size_t
    casadi__Function__sz_iw(std::string ** err_msg, casadi::Function* obj){
    try {

        size_t ret = obj->sz_iw();
        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sz_res" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sz_res"
// cWrapperName: "casadi__Function__sz_res"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__Function__sz_res(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->sz_res()"
// params: []
extern "C"
size_t
    casadi__Function__sz_res(std::string ** err_msg, casadi::Function* obj);
size_t
    casadi__Function__sz_res(std::string ** err_msg, casadi::Function* obj){
    try {

        size_t ret = obj->sz_res();
        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sz_w" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sz_w"
// cWrapperName: "casadi__Function__sz_w"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__Function__sz_w(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->sz_w()"
// params: []
extern "C"
size_t
    casadi__Function__sz_w(std::string ** err_msg, casadi::Function* obj);
size_t
    casadi__Function__sz_w(std::string ** err_msg, casadi::Function* obj){
    try {

        size_t ret = obj->sz_w();
        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tangent" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::tangent"
// cWrapperName: "casadi__Function__tangent__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__tangent__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// call: "obj->tangent(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::Function*
    casadi__Function__tangent__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
casadi::Function*
    casadi__Function__tangent__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Function ret = obj->tangent(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tangent" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::tangent"
// cWrapperName: "casadi__Function__tangent__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__tangent__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
// call: "obj->tangent(x0_, x1_)"
// params: [CInt,Ref (Const StdString)]
extern "C"
casadi::Function*
    casadi__Function__tangent__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1);
casadi::Function*
    casadi__Function__tangent__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Function ret = obj->tangent(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tangent" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::tangent"
// cWrapperName: "casadi__Function__tangent__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__tangent__2(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "obj->tangent(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::Function*
    casadi__Function__tangent__2(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::Function*
    casadi__Function__tangent__2(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Function ret = obj->tangent(x0_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tangent" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::tangent"
// cWrapperName: "casadi__Function__tangent__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__tangent__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// call: "obj->tangent(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::Function*
    casadi__Function__tangent__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
casadi::Function*
    casadi__Function__tangent__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Function ret = obj->tangent(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tangent" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::tangent"
// cWrapperName: "casadi__Function__tangent__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__tangent__4(std::string ** err_msg, casadi::Function* obj)"
// call: "obj->tangent()"
// params: []
extern "C"
casadi::Function*
    casadi__Function__tangent__4(std::string ** err_msg, casadi::Function* obj);
casadi::Function*
    casadi__Function__tangent__4(std::string ** err_msg, casadi::Function* obj){
    try {

        casadi::Function ret = obj->tangent();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tangent" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::tangent"
// cWrapperName: "casadi__Function__tangent__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__tangent__5(std::string ** err_msg, casadi::Function* obj, int x0)"
// call: "obj->tangent(x0_)"
// params: [CInt]
extern "C"
casadi::Function*
    casadi__Function__tangent__5(std::string ** err_msg, casadi::Function* obj, int x0);
casadi::Function*
    casadi__Function__tangent__5(std::string ** err_msg, casadi::Function* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Function ret = obj->tangent(x0_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tangent" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::tangent"
// cWrapperName: "casadi__Function__tangent__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__tangent__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
// call: "obj->tangent(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Function*
    casadi__Function__tangent__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
casadi::Function*
    casadi__Function__tangent__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Function ret = obj->tangent(x0_, x1_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Functor")===============
// classType: UserType (Namespace ["casadi"]) (Name "Functor")
extern "C"
void delete_casadi__Functor(casadi::Functor* obj);
void delete_casadi__Functor(casadi::Functor* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "GenericExpressionCommon")===============
// classType: UserType (Namespace ["casadi"]) (Name "GenericExpressionCommon")
extern "C"
void delete_casadi__GenericExpressionCommon(casadi::GenericExpressionCommon* obj);
void delete_casadi__GenericExpressionCommon(casadi::GenericExpressionCommon* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "GenericMatrixCommon")===============
// classType: UserType (Namespace ["casadi"]) (Name "GenericMatrixCommon")
extern "C"
void delete_casadi__GenericMatrixCommon(casadi::GenericMatrixCommon* obj);
void delete_casadi__GenericMatrixCommon(casadi::GenericMatrixCommon* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "GenericType")===============
// classType: UserType (Namespace ["casadi"]) (Name "GenericType")
extern "C"
void delete_casadi__GenericType(casadi::GenericType* obj);
void delete_casadi__GenericType(casadi::GenericType* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__0(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// call: "casadi::GenericType(x0_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__0(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__0(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0){
    try {
        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);

        return new casadi::GenericType(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, casadi::Callback* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__1(std::string ** err_msg, casadi::Callback* x0)"
// call: "casadi::GenericType(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Callback")))]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__1(std::string ** err_msg, casadi::Callback* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__1(std::string ** err_msg, casadi::Callback* x0){
    try {
        casadi::Callback& x0_ = Marshaling<casadi::Callback&,casadi::Callback*>::marshal(x0);

        return new casadi::GenericType(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, casadi::DerivativeGenerator* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__2(std::string ** err_msg, casadi::DerivativeGenerator* x0)"
// call: "casadi::GenericType(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DerivativeGenerator")))]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__2(std::string ** err_msg, casadi::DerivativeGenerator* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__2(std::string ** err_msg, casadi::DerivativeGenerator* x0){
    try {
        casadi::DerivativeGenerator& x0_ = Marshaling<casadi::DerivativeGenerator&,casadi::DerivativeGenerator*>::marshal(x0);

        return new casadi::GenericType(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__3(std::string ** err_msg, casadi::Function* x0)"
// call: "casadi::GenericType(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Function")))]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__3(std::string ** err_msg, casadi::Function* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__3(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        return new casadi::GenericType(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, std::vector< std::string* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::string* >* x0)"
// call: "casadi::GenericType(x0_)"
// params: [Ref (Const (StdVec StdString))]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::string* >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::string* >* x0){
    try {
        std::vector< std::string > x0_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x0);

        return new casadi::GenericType(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__5(std::string ** err_msg, std::vector< double >* x0)"
// call: "casadi::GenericType(x0_)"
// params: [Ref (Const (StdVec CDouble))]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__5(std::string ** err_msg, std::vector< double >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__5(std::string ** err_msg, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        return new casadi::GenericType(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, std::vector< std::vector< int >* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__6(std::string ** err_msg, std::vector< std::vector< int >* >* x0)"
// call: "casadi::GenericType(x0_)"
// params: [Ref (Const (StdVec (StdVec CInt)))]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__6(std::string ** err_msg, std::vector< std::vector< int >* >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__6(std::string ** err_msg, std::vector< std::vector< int >* >* x0){
    try {
        std::vector< std::vector< int > > x0_ = Marshaling<std::vector< std::vector< int > >,std::vector< std::vector< int >* >*>::marshal(x0);

        return new casadi::GenericType(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__7(std::string ** err_msg, std::vector< int >* x0)"
// call: "casadi::GenericType(x0_)"
// params: [Ref (Const (StdVec CInt))]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__7(std::string ** err_msg, std::vector< int >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__7(std::string ** err_msg, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        return new casadi::GenericType(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__8"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__8(std::string ** err_msg, std::vector< int >* x0)"
// call: "casadi::GenericType(x0_)"
// params: [Ref (Const (StdVec CBool))]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__8(std::string ** err_msg, std::vector< int >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__8(std::string ** err_msg, std::vector< int >* x0){
    try {
        std::vector< bool > x0_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x0);

        return new casadi::GenericType(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__9"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__9(std::string ** err_msg, std::string* x0)"
// call: "casadi::GenericType(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__9(std::string ** err_msg, std::string* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__9(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        return new casadi::GenericType(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__10"
// protoArgs: "(std::string ** err_msg, double x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__10(std::string ** err_msg, double x0)"
// call: "casadi::GenericType(x0_)"
// params: [CDouble]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__10(std::string ** err_msg, double x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__10(std::string ** err_msg, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        return new casadi::GenericType(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__11"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__11(std::string ** err_msg, int x0)"
// call: "casadi::GenericType(x0_)"
// params: [CInt]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__11(std::string ** err_msg, int x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__11(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        return new casadi::GenericType(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__12"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__12(std::string ** err_msg, int x0)"
// call: "casadi::GenericType(x0_)"
// params: [CBool]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__12(std::string ** err_msg, int x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__12(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        return new casadi::GenericType(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__13"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__13(std::string ** err_msg)"
// call: "casadi::GenericType()"
// params: []
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__13(std::string ** err_msg);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__13(std::string ** err_msg){
    try {

        return new casadi::GenericType();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "can_cast_to" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::can_cast_to"
// cWrapperName: "casadi__GenericType__can_cast_to__0"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__can_cast_to__0(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
// call: "obj->can_cast_to(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "GenericType")))]
extern "C"
int
    casadi__GenericType__can_cast_to__0(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0);
int
    casadi__GenericType__can_cast_to__0(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0){
    try {
        casadi::GenericType& x0_ = Marshaling<casadi::GenericType&,casadi::GenericType*>::marshal(x0);

        bool ret = obj->can_cast_to(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "can_cast_to" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::can_cast_to"
// cWrapperName: "casadi__GenericType__can_cast_to__1"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__can_cast_to__1(std::string ** err_msg, casadi::GenericType* obj, int x0)"
// call: "obj->can_cast_to(x0_)"
// params: [CEnum (Namespace ["casadi"]) (Name "TypeID")]
extern "C"
int
    casadi__GenericType__can_cast_to__1(std::string ** err_msg, casadi::GenericType* obj, int x0);
int
    casadi__GenericType__can_cast_to__1(std::string ** err_msg, casadi::GenericType* obj, int x0){
    try {
        casadi::TypeID x0_ = Marshaling<casadi::TypeID,int>::marshal(x0);

        bool ret = obj->can_cast_to(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "from_type" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::from_type"
// cWrapperName: "casadi__GenericType__from_type"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__from_type(std::string ** err_msg, int x0)"
// call: "casadi::GenericType::from_type(x0_)"
// params: [CEnum (Namespace ["casadi"]) (Name "TypeID")]
extern "C"
casadi::GenericType*
    casadi__GenericType__from_type(std::string ** err_msg, int x0);
casadi::GenericType*
    casadi__GenericType__from_type(std::string ** err_msg, int x0){
    try {
        casadi::TypeID x0_ = Marshaling<casadi::TypeID,int>::marshal(x0);

        casadi::GenericType ret = casadi::GenericType::from_type(x0_);
        return WrapReturn< casadi::GenericType*, casadi::GenericType >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getType" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::getType"
// cWrapperName: "casadi__GenericType__getType"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CEnum (Namespace ["casadi"]) (Name "TypeID")
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__getType(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->getType()"
// params: []
extern "C"
int
    casadi__GenericType__getType(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__getType(std::string ** err_msg, casadi::GenericType* obj){
    try {

        casadi::TypeID ret = obj->getType();
        return WrapReturn< int, casadi::TypeID >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_description" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::get_description"
// cWrapperName: "casadi__GenericType__get_description"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__GenericType__get_description(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->get_description()"
// params: []
extern "C"
std::string*
    casadi__GenericType__get_description(std::string ** err_msg, casadi::GenericType* obj);
std::string*
    casadi__GenericType__get_description(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::string ret = obj->get_description();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "get_type_description" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::get_type_description"
// cWrapperName: "casadi__GenericType__get_type_description"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__GenericType__get_type_description(std::string ** err_msg, int x0)"
// call: "casadi::GenericType::get_type_description(x0_)"
// params: [CEnum (Namespace ["casadi"]) (Name "TypeID")]
extern "C"
std::string*
    casadi__GenericType__get_type_description(std::string ** err_msg, int x0);
std::string*
    casadi__GenericType__get_type_description(std::string ** err_msg, int x0){
    try {
        casadi::TypeID x0_ = Marshaling<casadi::TypeID,int>::marshal(x0);

        std::string ret = casadi::GenericType::get_type_description(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isBool" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isBool"
// cWrapperName: "casadi__GenericType__isBool"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isBool(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isBool()"
// params: []
extern "C"
int
    casadi__GenericType__isBool(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isBool(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isBool();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isCallback" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isCallback"
// cWrapperName: "casadi__GenericType__isCallback"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isCallback(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isCallback()"
// params: []
extern "C"
int
    casadi__GenericType__isCallback(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isCallback(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isCallback();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isDerivativeGenerator" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isDerivativeGenerator"
// cWrapperName: "casadi__GenericType__isDerivativeGenerator"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isDerivativeGenerator(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isDerivativeGenerator()"
// params: []
extern "C"
int
    casadi__GenericType__isDerivativeGenerator(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isDerivativeGenerator(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isDerivativeGenerator();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isDict" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isDict"
// cWrapperName: "casadi__GenericType__isDict"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isDict(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isDict()"
// params: []
extern "C"
int
    casadi__GenericType__isDict(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isDict(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isDict();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isDouble" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isDouble"
// cWrapperName: "casadi__GenericType__isDouble"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isDouble(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isDouble()"
// params: []
extern "C"
int
    casadi__GenericType__isDouble(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isDouble(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isDouble();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isDoubleVector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isDoubleVector"
// cWrapperName: "casadi__GenericType__isDoubleVector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isDoubleVector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isDoubleVector()"
// params: []
extern "C"
int
    casadi__GenericType__isDoubleVector(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isDoubleVector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isDoubleVector();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isFunction" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isFunction"
// cWrapperName: "casadi__GenericType__isFunction"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isFunction(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isFunction()"
// params: []
extern "C"
int
    casadi__GenericType__isFunction(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isFunction(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isFunction();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isInt" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isInt"
// cWrapperName: "casadi__GenericType__isInt"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isInt(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isInt()"
// params: []
extern "C"
int
    casadi__GenericType__isInt(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isInt(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isInt();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isIntVector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isIntVector"
// cWrapperName: "casadi__GenericType__isIntVector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isIntVector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isIntVector()"
// params: []
extern "C"
int
    casadi__GenericType__isIntVector(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isIntVector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isIntVector();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isIntVectorVector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isIntVectorVector"
// cWrapperName: "casadi__GenericType__isIntVectorVector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isIntVectorVector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isIntVectorVector()"
// params: []
extern "C"
int
    casadi__GenericType__isIntVectorVector(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isIntVectorVector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isIntVectorVector();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isString" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isString"
// cWrapperName: "casadi__GenericType__isString"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isString(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isString()"
// params: []
extern "C"
int
    casadi__GenericType__isString(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isString(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isString();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isStringVector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isStringVector"
// cWrapperName: "casadi__GenericType__isStringVector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isStringVector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isStringVector()"
// params: []
extern "C"
int
    casadi__GenericType__isStringVector(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isStringVector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isStringVector();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isVoidPointer" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isVoidPointer"
// cWrapperName: "casadi__GenericType__isVoidPointer"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isVoidPointer(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isVoidPointer()"
// params: []
extern "C"
int
    casadi__GenericType__isVoidPointer(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isVoidPointer(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isVoidPointer();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isemptyVector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::isemptyVector"
// cWrapperName: "casadi__GenericType__isemptyVector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__isemptyVector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->isemptyVector()"
// params: []
extern "C"
int
    casadi__GenericType__isemptyVector(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__isemptyVector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->isemptyVector();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator !=" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::operator !="
// cWrapperName: "casadi__GenericType__operator_nequals"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__operator_nequals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
// call: "obj->operator !=(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "GenericType")))]
extern "C"
int
    casadi__GenericType__operator_nequals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0);
int
    casadi__GenericType__operator_nequals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0){
    try {
        casadi::GenericType& x0_ = Marshaling<casadi::GenericType&,casadi::GenericType*>::marshal(x0);

        bool ret = obj->operator !=(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ==" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::operator =="
// cWrapperName: "casadi__GenericType__operator_equals"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__operator_equals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
// call: "obj->operator ==(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "GenericType")))]
extern "C"
int
    casadi__GenericType__operator_equals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0);
int
    casadi__GenericType__operator_equals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0){
    try {
        casadi::GenericType& x0_ = Marshaling<casadi::GenericType&,casadi::GenericType*>::marshal(x0);

        bool ret = obj->operator ==(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toBool" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::toBool"
// cWrapperName: "casadi__GenericType__toBool"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__toBool(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->toBool()"
// params: []
extern "C"
int
    casadi__GenericType__toBool(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__toBool(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->toBool();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toDict" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::toDict"
// cWrapperName: "casadi__GenericType__toDict"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__GenericType__toDict(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->toDict()"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__GenericType__toDict(std::string ** err_msg, casadi::GenericType* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__GenericType__toDict(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->toDict();
        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toDouble" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::toDouble"
// cWrapperName: "casadi__GenericType__toDouble"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__GenericType__toDouble(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->toDouble()"
// params: []
extern "C"
double
    casadi__GenericType__toDouble(std::string ** err_msg, casadi::GenericType* obj);
double
    casadi__GenericType__toDouble(std::string ** err_msg, casadi::GenericType* obj){
    try {

        double ret = obj->toDouble();
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toDoubleVector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::toDoubleVector"
// cWrapperName: "casadi__GenericType__toDoubleVector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__GenericType__toDoubleVector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->toDoubleVector()"
// params: []
extern "C"
std::vector< double >*
    casadi__GenericType__toDoubleVector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< double >*
    casadi__GenericType__toDoubleVector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< double > ret = obj->toDoubleVector();
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toFunction" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::toFunction"
// cWrapperName: "casadi__GenericType__toFunction"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__GenericType__toFunction(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->toFunction()"
// params: []
extern "C"
casadi::Function*
    casadi__GenericType__toFunction(std::string ** err_msg, casadi::GenericType* obj);
casadi::Function*
    casadi__GenericType__toFunction(std::string ** err_msg, casadi::GenericType* obj){
    try {

        casadi::Function ret = obj->toFunction();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toInt" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::toInt"
// cWrapperName: "casadi__GenericType__toInt"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__toInt(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->toInt()"
// params: []
extern "C"
int
    casadi__GenericType__toInt(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__toInt(std::string ** err_msg, casadi::GenericType* obj){
    try {

        int ret = obj->toInt();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toIntVector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::toIntVector"
// cWrapperName: "casadi__GenericType__toIntVector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__GenericType__toIntVector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->toIntVector()"
// params: []
extern "C"
std::vector< int >*
    casadi__GenericType__toIntVector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< int >*
    casadi__GenericType__toIntVector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< int > ret = obj->toIntVector();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toIntVectorVector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::toIntVectorVector"
// cWrapperName: "casadi__GenericType__toIntVectorVector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdVec (StdVec CInt)
// cWrapperRetType: "std::vector< std::vector< int >* >*"
// proto: "std::vector< std::vector< int >* >*\n    casadi__GenericType__toIntVectorVector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->toIntVectorVector()"
// params: []
extern "C"
std::vector< std::vector< int >* >*
    casadi__GenericType__toIntVectorVector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< std::vector< int >* >*
    casadi__GenericType__toIntVectorVector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< std::vector< int > > ret = obj->toIntVectorVector();
        return WrapReturn< std::vector< std::vector< int >* >*, std::vector< std::vector< int > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toString" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::toString"
// cWrapperName: "casadi__GenericType__toString"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__GenericType__toString(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->toString()"
// params: []
extern "C"
std::string*
    casadi__GenericType__toString(std::string ** err_msg, casadi::GenericType* obj);
std::string*
    casadi__GenericType__toString(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::string ret = obj->toString();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toStringVector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::toStringVector"
// cWrapperName: "casadi__GenericType__toStringVector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdVec StdString
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    casadi__GenericType__toStringVector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->toStringVector()"
// params: []
extern "C"
std::vector< std::string* >*
    casadi__GenericType__toStringVector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< std::string* >*
    casadi__GenericType__toStringVector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< std::string > ret = obj->toStringVector();
        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toVoidPointer" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::toVoidPointer"
// cWrapperName: "casadi__GenericType__toVoidPointer"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__GenericType__toVoidPointer(std::string ** err_msg, casadi::GenericType* obj)"
// call: "obj->toVoidPointer()"
// params: []
extern "C"
void
    casadi__GenericType__toVoidPointer(std::string ** err_msg, casadi::GenericType* obj);
void
    casadi__GenericType__toVoidPointer(std::string ** err_msg, casadi::GenericType* obj){
    try {

        obj->toVoidPointer();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "HomotopyNlpSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "HomotopyNlpSolver")
extern "C"
void delete_casadi__HomotopyNlpSolver(casadi::HomotopyNlpSolver* obj);
void delete_casadi__HomotopyNlpSolver(casadi::HomotopyNlpSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::HomotopyNlpSolver"
// cppName: "casadi::HomotopyNlpSolver"
// cWrapperName: "casadi__HomotopyNlpSolver__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "HomotopyNlpSolver")
// cWrapperRetType: "casadi::HomotopyNlpSolver*"
// proto: "casadi::HomotopyNlpSolver*\n    casadi__HomotopyNlpSolver__CONSTRUCTOR(std::string ** err_msg)"
// call: "casadi::HomotopyNlpSolver()"
// params: []
extern "C"
casadi::HomotopyNlpSolver*
    casadi__HomotopyNlpSolver__CONSTRUCTOR(std::string ** err_msg);
casadi::HomotopyNlpSolver*
    casadi__HomotopyNlpSolver__CONSTRUCTOR(std::string ** err_msg){
    try {

        return new casadi::HomotopyNlpSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::HomotopyNlpSolver"
// cppName: "casadi::HomotopyNlpSolver::doc"
// cWrapperName: "casadi__HomotopyNlpSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__HomotopyNlpSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::HomotopyNlpSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__HomotopyNlpSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__HomotopyNlpSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::HomotopyNlpSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::HomotopyNlpSolver"
// cppName: "casadi::HomotopyNlpSolver::hasPlugin"
// cWrapperName: "casadi__HomotopyNlpSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__HomotopyNlpSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::HomotopyNlpSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__HomotopyNlpSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__HomotopyNlpSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::HomotopyNlpSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::HomotopyNlpSolver"
// cppName: "casadi::HomotopyNlpSolver::loadPlugin"
// cWrapperName: "casadi__HomotopyNlpSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__HomotopyNlpSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::HomotopyNlpSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__HomotopyNlpSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__HomotopyNlpSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::HomotopyNlpSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "IMatrix")===============
// classType: UserType (Namespace ["casadi"]) (Name "IMatrix")
extern "C"
void delete_casadi__IMatrix(casadi::IMatrix* obj);
void delete_casadi__IMatrix(casadi::IMatrix* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix"
// cWrapperName: "casadi__IMatrix__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__CONSTRUCTOR__0(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// call: "casadi::IMatrix(x0_)"
// params: [Ref (Const (StdVec (StdVec CDouble)))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__0(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__0(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
    try {
        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);

        return new casadi::IMatrix(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix"
// cWrapperName: "casadi__IMatrix__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, double x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__CONSTRUCTOR__1(std::string ** err_msg, double x0)"
// call: "casadi::IMatrix(x0_)"
// params: [CDouble]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__1(std::string ** err_msg, double x0);
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__1(std::string ** err_msg, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        return new casadi::IMatrix(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix"
// cWrapperName: "casadi__IMatrix__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::IMatrix* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__CONSTRUCTOR__2(std::string ** err_msg, casadi::Sparsity* x0, casadi::IMatrix* x1)"
// call: "casadi::IMatrix(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__2(std::string ** err_msg, casadi::Sparsity* x0, casadi::IMatrix* x1);
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__2(std::string ** err_msg, casadi::Sparsity* x0, casadi::IMatrix* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::IMatrix& x1_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x1);

        return new casadi::IMatrix(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix"
// cWrapperName: "casadi__IMatrix__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__CONSTRUCTOR__3(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::IMatrix(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__3(std::string ** err_msg, casadi::Sparsity* x0);
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__3(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        return new casadi::IMatrix(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix"
// cWrapperName: "casadi__IMatrix__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__CONSTRUCTOR__4(std::string ** err_msg, int x0, int x1)"
// call: "casadi::IMatrix(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__4(std::string ** err_msg, int x0, int x1);
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        return new casadi::IMatrix(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix"
// cWrapperName: "casadi__IMatrix__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__CONSTRUCTOR__5(std::string ** err_msg, casadi::IMatrix* x0)"
// call: "casadi::IMatrix(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__5(std::string ** err_msg, casadi::IMatrix* x0);
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__5(std::string ** err_msg, casadi::IMatrix* x0){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);

        return new casadi::IMatrix(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix"
// cWrapperName: "casadi__IMatrix__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__CONSTRUCTOR__6(std::string ** err_msg)"
// call: "casadi::IMatrix()"
// params: []
extern "C"
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__6(std::string ** err_msg);
casadi::IMatrix*
    casadi__IMatrix__CONSTRUCTOR__6(std::string ** err_msg){
    try {

        return new casadi::IMatrix();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "T" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::T"
// cWrapperName: "casadi__IMatrix__T"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__T(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->T()"
// params: []
extern "C"
casadi::IMatrix*
    casadi__IMatrix__T(std::string ** err_msg, casadi::IMatrix* obj);
casadi::IMatrix*
    casadi__IMatrix__T(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        casadi::IMatrix ret = obj->T();
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "__nonzero__" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::__nonzero__"
// cWrapperName: "casadi__IMatrix____nonzero__"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix____nonzero__(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->__nonzero__()"
// params: []
extern "C"
int
    casadi__IMatrix____nonzero__(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix____nonzero__(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->__nonzero__();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "append" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::append"
// cWrapperName: "casadi__IMatrix__append"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__append(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0)"
// call: "obj->append(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__IMatrix__append(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0);
void
    casadi__IMatrix__append(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);

        obj->append(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "appendColumns" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::appendColumns"
// cWrapperName: "casadi__IMatrix__appendColumns"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__appendColumns(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0)"
// call: "obj->appendColumns(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__IMatrix__appendColumns(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0);
void
    casadi__IMatrix__appendColumns(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);

        obj->appendColumns(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "binary" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::binary"
// cWrapperName: "casadi__IMatrix__binary"
// protoArgs: "(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__binary(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2)"
// call: "casadi::IMatrix::binary(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__binary(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2);
casadi::IMatrix*
    casadi__IMatrix__binary(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::IMatrix& x1_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        casadi::IMatrix ret = casadi::IMatrix::binary(x0_, x1_, x2_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "className" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::className"
// cWrapperName: "casadi__IMatrix__className"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__IMatrix__className(std::string ** err_msg)"
// call: "casadi::IMatrix::className()"
// params: []
extern "C"
std::string*
    casadi__IMatrix__className(std::string ** err_msg);
std::string*
    casadi__IMatrix__className(std::string ** err_msg){
    try {

        std::string ret = casadi::IMatrix::className();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "clear" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::clear"
// cWrapperName: "casadi__IMatrix__clear"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__clear(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->clear()"
// params: []
extern "C"
void
    casadi__IMatrix__clear(std::string ** err_msg, casadi::IMatrix* obj);
void
    casadi__IMatrix__clear(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        obj->clear();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "colind" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::colind"
// cWrapperName: "casadi__IMatrix__colind"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__colind(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// call: "obj->colind(x0_)"
// params: [CInt]
extern "C"
int
    casadi__IMatrix__colind(std::string ** err_msg, casadi::IMatrix* obj, int x0);
int
    casadi__IMatrix__colind(std::string ** err_msg, casadi::IMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->colind(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dimString" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::dimString"
// cWrapperName: "casadi__IMatrix__dimString"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__IMatrix__dimString(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->dimString()"
// params: []
extern "C"
std::string*
    casadi__IMatrix__dimString(std::string ** err_msg, casadi::IMatrix* obj);
std::string*
    casadi__IMatrix__dimString(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        std::string ret = obj->dimString();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::enlarge"
// cWrapperName: "casadi__IMatrix__enlarge__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__enlarge__0(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// call: "obj->enlarge(x0_, x1_, x2_, x3_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__IMatrix__enlarge__0(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
void
    casadi__IMatrix__enlarge__0(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);

        obj->enlarge(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::enlarge"
// cWrapperName: "casadi__IMatrix__enlarge__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__enlarge__1(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
// call: "obj->enlarge(x0_, x1_, x2_, x3_, x4_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__IMatrix__enlarge__1(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4);
void
    casadi__IMatrix__enlarge__1(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::erase"
// cWrapperName: "casadi__IMatrix__erase__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__erase__0(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0)"
// call: "obj->erase(x0_)"
// params: [Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__IMatrix__erase__0(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0);
void
    casadi__IMatrix__erase__0(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        obj->erase(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::erase"
// cWrapperName: "casadi__IMatrix__erase__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__erase__1(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, int x1)"
// call: "obj->erase(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__IMatrix__erase__1(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, int x1);
void
    casadi__IMatrix__erase__1(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, int x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->erase(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::erase"
// cWrapperName: "casadi__IMatrix__erase__2"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__erase__2(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, std::vector< int >* x1)"
// call: "obj->erase(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__IMatrix__erase__2(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, std::vector< int >* x1);
void
    casadi__IMatrix__erase__2(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, std::vector< int >* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        obj->erase(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::erase"
// cWrapperName: "casadi__IMatrix__erase__3"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__erase__3(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
// call: "obj->erase(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__IMatrix__erase__3(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, std::vector< int >* x1, int x2);
void
    casadi__IMatrix__erase__3(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, std::vector< int >* x1, int x2){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->erase(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "eye" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::eye"
// cWrapperName: "casadi__IMatrix__eye"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__eye(std::string ** err_msg, int x0)"
// call: "casadi::IMatrix::eye(x0_)"
// params: [CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__eye(std::string ** err_msg, int x0);
casadi::IMatrix*
    casadi__IMatrix__eye(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::eye(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "find" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::find"
// cWrapperName: "casadi__IMatrix__find__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__IMatrix__find__0(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->find()"
// params: []
extern "C"
std::vector< int >*
    casadi__IMatrix__find__0(std::string ** err_msg, casadi::IMatrix* obj);
std::vector< int >*
    casadi__IMatrix__find__0(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        std::vector< int > ret = obj->find();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "find" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::find"
// cWrapperName: "casadi__IMatrix__find__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__IMatrix__find__1(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// call: "obj->find(x0_)"
// params: [CBool]
extern "C"
std::vector< int >*
    casadi__IMatrix__find__1(std::string ** err_msg, casadi::IMatrix* obj, int x0);
std::vector< int >*
    casadi__IMatrix__find__1(std::string ** err_msg, casadi::IMatrix* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::vector< int > ret = obj->find(x0_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::get"
// cWrapperName: "casadi__IMatrix__get__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__get__0(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "IMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__IMatrix__get__0(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3);
void
    casadi__IMatrix__get__0(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::get"
// cWrapperName: "casadi__IMatrix__get__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__get__1(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "IMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__IMatrix__get__1(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3);
void
    casadi__IMatrix__get__1(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::get"
// cWrapperName: "casadi__IMatrix__get__2"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__get__2(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "IMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__IMatrix__get__2(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3);
void
    casadi__IMatrix__get__2(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::get"
// cWrapperName: "casadi__IMatrix__get__3"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__get__3(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "IMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__IMatrix__get__3(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__IMatrix__get__3(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::get"
// cWrapperName: "casadi__IMatrix__get__4"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__get__4(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Sparsity* x2)"
// call: "obj->get(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "IMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
void
    casadi__IMatrix__get__4(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Sparsity* x2);
void
    casadi__IMatrix__get__4(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::get"
// cWrapperName: "casadi__IMatrix__get__5"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__get__5(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->get(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "IMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__IMatrix__get__5(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2);
void
    casadi__IMatrix__get__5(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::get"
// cWrapperName: "casadi__IMatrix__get__6"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__get__6(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2)"
// call: "obj->get(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "IMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__IMatrix__get__6(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2);
void
    casadi__IMatrix__get__6(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::get"
// cWrapperName: "casadi__IMatrix__get__7"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__get__7(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0)"
// call: "obj->get(x0_)"
// params: [Ref (StdVec CDouble)]
extern "C"
void
    casadi__IMatrix__get__7(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0);
void
    casadi__IMatrix__get__7(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->get(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getColind" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getColind"
// cWrapperName: "casadi__IMatrix__getColind"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__IMatrix__getColind(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->getColind()"
// params: []
extern "C"
std::vector< int >*
    casadi__IMatrix__getColind(std::string ** err_msg, casadi::IMatrix* obj);
std::vector< int >*
    casadi__IMatrix__getColind(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        std::vector< int > ret = obj->getColind();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDep" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getDep"
// cWrapperName: "casadi__IMatrix__getDep__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__getDep__0(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->getDep()"
// params: []
extern "C"
casadi::IMatrix*
    casadi__IMatrix__getDep__0(std::string ** err_msg, casadi::IMatrix* obj);
casadi::IMatrix*
    casadi__IMatrix__getDep__0(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        casadi::IMatrix ret = obj->getDep();
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDep" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getDep"
// cWrapperName: "casadi__IMatrix__getDep__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__getDep__1(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// call: "obj->getDep(x0_)"
// params: [CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__getDep__1(std::string ** err_msg, casadi::IMatrix* obj, int x0);
casadi::IMatrix*
    casadi__IMatrix__getDep__1(std::string ** err_msg, casadi::IMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::IMatrix ret = obj->getDep(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getElementHash" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getElementHash"
// cWrapperName: "casadi__IMatrix__getElementHash"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__IMatrix__getElementHash(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->getElementHash()"
// params: []
extern "C"
size_t
    casadi__IMatrix__getElementHash(std::string ** err_msg, casadi::IMatrix* obj);
size_t
    casadi__IMatrix__getElementHash(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        size_t ret = obj->getElementHash();
        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getEqualityCheckingDepth" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getEqualityCheckingDepth"
// cWrapperName: "casadi__IMatrix__getEqualityCheckingDepth"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__getEqualityCheckingDepth(std::string ** err_msg)"
// call: "casadi::IMatrix::getEqualityCheckingDepth()"
// params: []
extern "C"
int
    casadi__IMatrix__getEqualityCheckingDepth(std::string ** err_msg);
int
    casadi__IMatrix__getEqualityCheckingDepth(std::string ** err_msg){
    try {

        int ret = casadi::IMatrix::getEqualityCheckingDepth();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getIntValue" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getIntValue"
// cWrapperName: "casadi__IMatrix__getIntValue"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__getIntValue(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->getIntValue()"
// params: []
extern "C"
int
    casadi__IMatrix__getIntValue(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__getIntValue(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        int ret = obj->getIntValue();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getNZ"
// cWrapperName: "casadi__IMatrix__getNZ__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__getNZ__0(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->getNZ(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "IMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__IMatrix__getNZ__0(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2);
void
    casadi__IMatrix__getNZ__0(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->getNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getNZ"
// cWrapperName: "casadi__IMatrix__getNZ__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__getNZ__1(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2)"
// call: "obj->getNZ(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "IMatrix")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__IMatrix__getNZ__1(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2);
void
    casadi__IMatrix__getNZ__1(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->getNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getNZ"
// cWrapperName: "casadi__IMatrix__getNZ__2"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__getNZ__2(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0)"
// call: "obj->getNZ(x0_)"
// params: [Ref (StdVec CDouble)]
extern "C"
void
    casadi__IMatrix__getNZ__2(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0);
void
    casadi__IMatrix__getNZ__2(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->getNZ(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getName" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getName"
// cWrapperName: "casadi__IMatrix__getName"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__IMatrix__getName(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->getName()"
// params: []
extern "C"
std::string*
    casadi__IMatrix__getName(std::string ** err_msg, casadi::IMatrix* obj);
std::string*
    casadi__IMatrix__getName(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        std::string ret = obj->getName();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getNdeps" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getNdeps"
// cWrapperName: "casadi__IMatrix__getNdeps"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__getNdeps(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->getNdeps()"
// params: []
extern "C"
int
    casadi__IMatrix__getNdeps(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__getNdeps(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        int ret = obj->getNdeps();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getRow" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getRow"
// cWrapperName: "casadi__IMatrix__getRow"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__IMatrix__getRow(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->getRow()"
// params: []
extern "C"
std::vector< int >*
    casadi__IMatrix__getRow(std::string ** err_msg, casadi::IMatrix* obj);
std::vector< int >*
    casadi__IMatrix__getRow(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        std::vector< int > ret = obj->getRow();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getSparsity" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getSparsity"
// cWrapperName: "casadi__IMatrix__getSparsity"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__IMatrix__getSparsity(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->getSparsity()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__IMatrix__getSparsity(std::string ** err_msg, casadi::IMatrix* obj);
casadi::Sparsity*
    casadi__IMatrix__getSparsity(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        casadi::Sparsity ret = obj->getSparsity();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getSym" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getSym"
// cWrapperName: "casadi__IMatrix__getSym"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__getSym(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0)"
// call: "obj->getSym(x0_)"
// params: [Ref (StdVec CDouble)]
extern "C"
void
    casadi__IMatrix__getSym(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0);
void
    casadi__IMatrix__getSym(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->getSym(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getValue" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getValue"
// cWrapperName: "casadi__IMatrix__getValue__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__IMatrix__getValue__0(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// call: "obj->getValue(x0_)"
// params: [CInt]
extern "C"
double
    casadi__IMatrix__getValue__0(std::string ** err_msg, casadi::IMatrix* obj, int x0);
double
    casadi__IMatrix__getValue__0(std::string ** err_msg, casadi::IMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        double ret = obj->getValue(x0_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getValue" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getValue"
// cWrapperName: "casadi__IMatrix__getValue__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__IMatrix__getValue__1(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->getValue()"
// params: []
extern "C"
double
    casadi__IMatrix__getValue__1(std::string ** err_msg, casadi::IMatrix* obj);
double
    casadi__IMatrix__getValue__1(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        double ret = obj->getValue();
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hasDuplicates" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::hasDuplicates"
// cWrapperName: "casadi__IMatrix__hasDuplicates"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__hasDuplicates(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->hasDuplicates()"
// params: []
extern "C"
int
    casadi__IMatrix__hasDuplicates(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__hasDuplicates(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->hasDuplicates();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hasNZ" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::hasNZ"
// cWrapperName: "casadi__IMatrix__hasNZ"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__hasNZ(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1)"
// call: "obj->hasNZ(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
int
    casadi__IMatrix__hasNZ(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1);
int
    casadi__IMatrix__hasNZ(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        bool ret = obj->hasNZ(x0_, x1_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hasNonStructuralZeros" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::hasNonStructuralZeros"
// cWrapperName: "casadi__IMatrix__hasNonStructuralZeros"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__hasNonStructuralZeros(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->hasNonStructuralZeros()"
// params: []
extern "C"
int
    casadi__IMatrix__hasNonStructuralZeros(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__hasNonStructuralZeros(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->hasNonStructuralZeros();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::inf"
// cWrapperName: "casadi__IMatrix__inf__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__inf__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::IMatrix::inf(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__inf__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::IMatrix*
    casadi__IMatrix__inf__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::inf(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::inf"
// cWrapperName: "casadi__IMatrix__inf__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__inf__1(std::string ** err_msg)"
// call: "casadi::IMatrix::inf()"
// params: []
extern "C"
casadi::IMatrix*
    casadi__IMatrix__inf__1(std::string ** err_msg);
casadi::IMatrix*
    casadi__IMatrix__inf__1(std::string ** err_msg){
    try {

        casadi::IMatrix ret = casadi::IMatrix::inf();
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::inf"
// cWrapperName: "casadi__IMatrix__inf__2"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__inf__2(std::string ** err_msg, int x0)"
// call: "casadi::IMatrix::inf(x0_)"
// params: [CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__inf__2(std::string ** err_msg, int x0);
casadi::IMatrix*
    casadi__IMatrix__inf__2(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::inf(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::inf"
// cWrapperName: "casadi__IMatrix__inf__3"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__inf__3(std::string ** err_msg, int x0, int x1)"
// call: "casadi::IMatrix::inf(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__inf__3(std::string ** err_msg, int x0, int x1);
casadi::IMatrix*
    casadi__IMatrix__inf__3(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::IMatrix ret = casadi::IMatrix::inf(x0_, x1_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::inf"
// cWrapperName: "casadi__IMatrix__inf__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::IMatrix::inf(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::IMatrix*
    casadi__IMatrix__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::inf(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isCommutative" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isCommutative"
// cWrapperName: "casadi__IMatrix__isCommutative"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isCommutative(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isCommutative()"
// params: []
extern "C"
int
    casadi__IMatrix__isCommutative(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isCommutative(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isCommutative();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isConstant" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isConstant"
// cWrapperName: "casadi__IMatrix__isConstant"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isConstant(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isConstant()"
// params: []
extern "C"
int
    casadi__IMatrix__isConstant(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isConstant(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isConstant();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isIdentity" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isIdentity"
// cWrapperName: "casadi__IMatrix__isIdentity"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isIdentity(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isIdentity()"
// params: []
extern "C"
int
    casadi__IMatrix__isIdentity(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isIdentity(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isIdentity();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isInteger" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isInteger"
// cWrapperName: "casadi__IMatrix__isInteger"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isInteger(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isInteger()"
// params: []
extern "C"
int
    casadi__IMatrix__isInteger(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isInteger(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isInteger();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isLeaf" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isLeaf"
// cWrapperName: "casadi__IMatrix__isLeaf"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isLeaf(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isLeaf()"
// params: []
extern "C"
int
    casadi__IMatrix__isLeaf(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isLeaf(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isLeaf();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isMinusOne" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isMinusOne"
// cWrapperName: "casadi__IMatrix__isMinusOne"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isMinusOne(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isMinusOne()"
// params: []
extern "C"
int
    casadi__IMatrix__isMinusOne(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isMinusOne(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isMinusOne();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isOne" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isOne"
// cWrapperName: "casadi__IMatrix__isOne"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isOne(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isOne()"
// params: []
extern "C"
int
    casadi__IMatrix__isOne(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isOne(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isOne();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isRegular" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isRegular"
// cWrapperName: "casadi__IMatrix__isRegular"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isRegular(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isRegular()"
// params: []
extern "C"
int
    casadi__IMatrix__isRegular(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isRegular(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isRegular();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isSlice" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isSlice"
// cWrapperName: "casadi__IMatrix__isSlice__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isSlice__0(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isSlice()"
// params: []
extern "C"
int
    casadi__IMatrix__isSlice__0(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isSlice__0(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isSlice();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isSlice" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isSlice"
// cWrapperName: "casadi__IMatrix__isSlice__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isSlice__1(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// call: "obj->isSlice(x0_)"
// params: [CBool]
extern "C"
int
    casadi__IMatrix__isSlice__1(std::string ** err_msg, casadi::IMatrix* obj, int x0);
int
    casadi__IMatrix__isSlice__1(std::string ** err_msg, casadi::IMatrix* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->isSlice(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isSmooth" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isSmooth"
// cWrapperName: "casadi__IMatrix__isSmooth"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isSmooth(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isSmooth()"
// params: []
extern "C"
int
    casadi__IMatrix__isSmooth(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isSmooth(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isSmooth();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isSymbolic" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isSymbolic"
// cWrapperName: "casadi__IMatrix__isSymbolic"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isSymbolic(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isSymbolic()"
// params: []
extern "C"
int
    casadi__IMatrix__isSymbolic(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isSymbolic(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isSymbolic();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isValidInput" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isValidInput"
// cWrapperName: "casadi__IMatrix__isValidInput"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isValidInput(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isValidInput()"
// params: []
extern "C"
int
    casadi__IMatrix__isValidInput(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isValidInput(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isValidInput();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isZero" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isZero"
// cWrapperName: "casadi__IMatrix__isZero"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isZero(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isZero()"
// params: []
extern "C"
int
    casadi__IMatrix__isZero(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isZero(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isZero();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "iscolumn" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::iscolumn"
// cWrapperName: "casadi__IMatrix__iscolumn"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__iscolumn(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->iscolumn()"
// params: []
extern "C"
int
    casadi__IMatrix__iscolumn(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__iscolumn(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->iscolumn();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isdense" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isdense"
// cWrapperName: "casadi__IMatrix__isdense"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isdense(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isdense()"
// params: []
extern "C"
int
    casadi__IMatrix__isdense(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isdense(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isdense();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isempty" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isempty"
// cWrapperName: "casadi__IMatrix__isempty__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isempty__0(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isempty()"
// params: []
extern "C"
int
    casadi__IMatrix__isempty__0(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isempty__0(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isempty();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isempty" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isempty"
// cWrapperName: "casadi__IMatrix__isempty__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isempty__1(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// call: "obj->isempty(x0_)"
// params: [CBool]
extern "C"
int
    casadi__IMatrix__isempty__1(std::string ** err_msg, casadi::IMatrix* obj, int x0);
int
    casadi__IMatrix__isempty__1(std::string ** err_msg, casadi::IMatrix* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->isempty(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isrow" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isrow"
// cWrapperName: "casadi__IMatrix__isrow"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isrow(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isrow()"
// params: []
extern "C"
int
    casadi__IMatrix__isrow(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isrow(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isrow();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isscalar" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isscalar"
// cWrapperName: "casadi__IMatrix__isscalar__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isscalar__0(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isscalar()"
// params: []
extern "C"
int
    casadi__IMatrix__isscalar__0(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isscalar__0(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isscalar();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isscalar" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isscalar"
// cWrapperName: "casadi__IMatrix__isscalar__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isscalar__1(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// call: "obj->isscalar(x0_)"
// params: [CBool]
extern "C"
int
    casadi__IMatrix__isscalar__1(std::string ** err_msg, casadi::IMatrix* obj, int x0);
int
    casadi__IMatrix__isscalar__1(std::string ** err_msg, casadi::IMatrix* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->isscalar(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "issquare" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::issquare"
// cWrapperName: "casadi__IMatrix__issquare"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__issquare(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->issquare()"
// params: []
extern "C"
int
    casadi__IMatrix__issquare(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__issquare(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->issquare();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "istril" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::istril"
// cWrapperName: "casadi__IMatrix__istril"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__istril(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->istril()"
// params: []
extern "C"
int
    casadi__IMatrix__istril(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__istril(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->istril();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "istriu" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::istriu"
// cWrapperName: "casadi__IMatrix__istriu"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__istriu(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->istriu()"
// params: []
extern "C"
int
    casadi__IMatrix__istriu(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__istriu(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->istriu();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isvector" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::isvector"
// cWrapperName: "casadi__IMatrix__isvector"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__isvector(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->isvector()"
// params: []
extern "C"
int
    casadi__IMatrix__isvector(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__isvector(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        bool ret = obj->isvector();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "makeSparse" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::makeSparse"
// cWrapperName: "casadi__IMatrix__makeSparse__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__makeSparse__0(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->makeSparse()"
// params: []
extern "C"
void
    casadi__IMatrix__makeSparse__0(std::string ** err_msg, casadi::IMatrix* obj);
void
    casadi__IMatrix__makeSparse__0(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        obj->makeSparse();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "makeSparse" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::makeSparse"
// cWrapperName: "casadi__IMatrix__makeSparse__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__makeSparse__1(std::string ** err_msg, casadi::IMatrix* obj, double x0)"
// call: "obj->makeSparse(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__IMatrix__makeSparse__1(std::string ** err_msg, casadi::IMatrix* obj, double x0);
void
    casadi__IMatrix__makeSparse__1(std::string ** err_msg, casadi::IMatrix* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->makeSparse(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "matrix_matrix" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::matrix_matrix"
// cWrapperName: "casadi__IMatrix__matrix_matrix"
// protoArgs: "(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__matrix_matrix(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2)"
// call: "casadi::IMatrix::matrix_matrix(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__matrix_matrix(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2);
casadi::IMatrix*
    casadi__IMatrix__matrix_matrix(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::IMatrix& x1_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        casadi::IMatrix ret = casadi::IMatrix::matrix_matrix(x0_, x1_, x2_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "matrix_scalar" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::matrix_scalar"
// cWrapperName: "casadi__IMatrix__matrix_scalar"
// protoArgs: "(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__matrix_scalar(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2)"
// call: "casadi::IMatrix::matrix_scalar(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__matrix_scalar(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2);
casadi::IMatrix*
    casadi__IMatrix__matrix_scalar(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::IMatrix& x1_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        casadi::IMatrix ret = casadi::IMatrix::matrix_scalar(x0_, x1_, x2_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::nan"
// cWrapperName: "casadi__IMatrix__nan__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__nan__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::IMatrix::nan(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__nan__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::IMatrix*
    casadi__IMatrix__nan__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::nan(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::nan"
// cWrapperName: "casadi__IMatrix__nan__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__nan__1(std::string ** err_msg)"
// call: "casadi::IMatrix::nan()"
// params: []
extern "C"
casadi::IMatrix*
    casadi__IMatrix__nan__1(std::string ** err_msg);
casadi::IMatrix*
    casadi__IMatrix__nan__1(std::string ** err_msg){
    try {

        casadi::IMatrix ret = casadi::IMatrix::nan();
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::nan"
// cWrapperName: "casadi__IMatrix__nan__2"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__nan__2(std::string ** err_msg, int x0)"
// call: "casadi::IMatrix::nan(x0_)"
// params: [CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__nan__2(std::string ** err_msg, int x0);
casadi::IMatrix*
    casadi__IMatrix__nan__2(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::nan(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::nan"
// cWrapperName: "casadi__IMatrix__nan__3"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__nan__3(std::string ** err_msg, int x0, int x1)"
// call: "casadi::IMatrix::nan(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__nan__3(std::string ** err_msg, int x0, int x1);
casadi::IMatrix*
    casadi__IMatrix__nan__3(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::IMatrix ret = casadi::IMatrix::nan(x0_, x1_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::nan"
// cWrapperName: "casadi__IMatrix__nan__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::IMatrix::nan(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::IMatrix*
    casadi__IMatrix__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::nan(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::nnz"
// cWrapperName: "casadi__IMatrix__nnz"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__nnz(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->nnz()"
// params: []
extern "C"
int
    casadi__IMatrix__nnz(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__nnz(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        int ret = obj->nnz();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nonzeros" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::nonzeros"
// cWrapperName: "casadi__IMatrix__nonzeros"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__IMatrix__nonzeros(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->nonzeros()"
// params: []
extern "C"
std::vector< double >*
    casadi__IMatrix__nonzeros(std::string ** err_msg, casadi::IMatrix* obj);
std::vector< double >*
    casadi__IMatrix__nonzeros(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        std::vector< double > ret = obj->nonzeros();
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nonzeros_int" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::nonzeros_int"
// cWrapperName: "casadi__IMatrix__nonzeros_int"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__IMatrix__nonzeros_int(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->nonzeros_int()"
// params: []
extern "C"
std::vector< int >*
    casadi__IMatrix__nonzeros_int(std::string ** err_msg, casadi::IMatrix* obj);
std::vector< int >*
    casadi__IMatrix__nonzeros_int(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        std::vector< int > ret = obj->nonzeros_int();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::numel"
// cWrapperName: "casadi__IMatrix__numel__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__numel__0(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// call: "obj->numel(x0_)"
// params: [CInt]
extern "C"
int
    casadi__IMatrix__numel__0(std::string ** err_msg, casadi::IMatrix* obj, int x0);
int
    casadi__IMatrix__numel__0(std::string ** err_msg, casadi::IMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->numel(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::numel"
// cWrapperName: "casadi__IMatrix__numel__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__numel__1(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->numel()"
// params: []
extern "C"
int
    casadi__IMatrix__numel__1(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__numel__1(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        int ret = obj->numel();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::ones"
// cWrapperName: "casadi__IMatrix__ones__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__ones__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::IMatrix::ones(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__ones__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::IMatrix*
    casadi__IMatrix__ones__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::ones(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::ones"
// cWrapperName: "casadi__IMatrix__ones__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::IMatrix::ones(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::IMatrix*
    casadi__IMatrix__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::ones(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::ones"
// cWrapperName: "casadi__IMatrix__ones__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__ones__2(std::string ** err_msg)"
// call: "casadi::IMatrix::ones()"
// params: []
extern "C"
casadi::IMatrix*
    casadi__IMatrix__ones__2(std::string ** err_msg);
casadi::IMatrix*
    casadi__IMatrix__ones__2(std::string ** err_msg){
    try {

        casadi::IMatrix ret = casadi::IMatrix::ones();
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::ones"
// cWrapperName: "casadi__IMatrix__ones__3"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__ones__3(std::string ** err_msg, int x0)"
// call: "casadi::IMatrix::ones(x0_)"
// params: [CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__ones__3(std::string ** err_msg, int x0);
casadi::IMatrix*
    casadi__IMatrix__ones__3(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::ones(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::ones"
// cWrapperName: "casadi__IMatrix__ones__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__ones__4(std::string ** err_msg, int x0, int x1)"
// call: "casadi::IMatrix::ones(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__ones__4(std::string ** err_msg, int x0, int x1);
casadi::IMatrix*
    casadi__IMatrix__ones__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::IMatrix ret = casadi::IMatrix::ones(x0_, x1_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator +" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::operator +"
// cWrapperName: "casadi__IMatrix__operator_plus"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__operator_plus(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->operator +()"
// params: []
extern "C"
casadi::IMatrix*
    casadi__IMatrix__operator_plus(std::string ** err_msg, casadi::IMatrix* obj);
casadi::IMatrix*
    casadi__IMatrix__operator_plus(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        casadi::IMatrix ret = obj->operator +();
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator -" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::operator -"
// cWrapperName: "casadi__IMatrix__operator_minus"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__operator_minus(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->operator -()"
// params: []
extern "C"
casadi::IMatrix*
    casadi__IMatrix__operator_minus(std::string ** err_msg, casadi::IMatrix* obj);
casadi::IMatrix*
    casadi__IMatrix__operator_minus(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        casadi::IMatrix ret = obj->operator -();
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "printDense" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::printDense"
// cWrapperName: "casadi__IMatrix__printDense"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__printDense(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->printDense()"
// params: []
extern "C"
void
    casadi__IMatrix__printDense(std::string ** err_msg, casadi::IMatrix* obj);
void
    casadi__IMatrix__printDense(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        obj->printDense();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printScalar" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::printScalar"
// cWrapperName: "casadi__IMatrix__printScalar"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__printScalar(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->printScalar()"
// params: []
extern "C"
void
    casadi__IMatrix__printScalar(std::string ** err_msg, casadi::IMatrix* obj);
void
    casadi__IMatrix__printScalar(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        obj->printScalar();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printSparse" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::printSparse"
// cWrapperName: "casadi__IMatrix__printSparse"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__printSparse(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->printSparse()"
// params: []
extern "C"
void
    casadi__IMatrix__printSparse(std::string ** err_msg, casadi::IMatrix* obj);
void
    casadi__IMatrix__printSparse(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        obj->printSparse();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printSplit" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::printSplit"
// cWrapperName: "casadi__IMatrix__printSplit"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, std::vector< std::string* >* x0, std::vector< std::string* >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__printSplit(std::string ** err_msg, casadi::IMatrix* obj, std::vector< std::string* >* x0, std::vector< std::string* >* x1)"
// call: "obj->printSplit(x0_, x1_)"
// params: [Ref (StdVec StdString),Ref (StdVec StdString)]
extern "C"
void
    casadi__IMatrix__printSplit(std::string ** err_msg, casadi::IMatrix* obj, std::vector< std::string* >* x0, std::vector< std::string* >* x1);
void
    casadi__IMatrix__printSplit(std::string ** err_msg, casadi::IMatrix* obj, std::vector< std::string* >* x0, std::vector< std::string* >* x1){
    try {
        std::vector< std::string > x0_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);

        obj->printSplit(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printVector" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::printVector"
// cWrapperName: "casadi__IMatrix__printVector"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__printVector(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->printVector()"
// params: []
extern "C"
void
    casadi__IMatrix__printVector(std::string ** err_msg, casadi::IMatrix* obj);
void
    casadi__IMatrix__printVector(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        obj->printVector();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printme" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::printme"
// cWrapperName: "casadi__IMatrix__printme"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__printme(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0)"
// call: "obj->printme(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__printme(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0);
casadi::IMatrix*
    casadi__IMatrix__printme(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);

        casadi::IMatrix ret = obj->printme(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "remove" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::remove"
// cWrapperName: "casadi__IMatrix__remove"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__remove(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, std::vector< int >* x1)"
// call: "obj->remove(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__IMatrix__remove(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, std::vector< int >* x1);
void
    casadi__IMatrix__remove(std::string ** err_msg, casadi::IMatrix* obj, std::vector< int >* x0, std::vector< int >* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        obj->remove(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reserve" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::reserve"
// cWrapperName: "casadi__IMatrix__reserve__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__reserve__0(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1)"
// call: "obj->reserve(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
void
    casadi__IMatrix__reserve__0(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1);
void
    casadi__IMatrix__reserve__0(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->reserve(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reserve" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::reserve"
// cWrapperName: "casadi__IMatrix__reserve__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__reserve__1(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// call: "obj->reserve(x0_)"
// params: [CInt]
extern "C"
void
    casadi__IMatrix__reserve__1(std::string ** err_msg, casadi::IMatrix* obj, int x0);
void
    casadi__IMatrix__reserve__1(std::string ** err_msg, casadi::IMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        obj->reserve(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "resetInput" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::resetInput"
// cWrapperName: "casadi__IMatrix__resetInput"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__resetInput(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->resetInput()"
// params: []
extern "C"
void
    casadi__IMatrix__resetInput(std::string ** err_msg, casadi::IMatrix* obj);
void
    casadi__IMatrix__resetInput(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        obj->resetInput();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "resize" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::resize"
// cWrapperName: "casadi__IMatrix__resize"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__resize(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1)"
// call: "obj->resize(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
void
    casadi__IMatrix__resize(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1);
void
    casadi__IMatrix__resize(std::string ** err_msg, casadi::IMatrix* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->resize(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "row" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::row"
// cWrapperName: "casadi__IMatrix__row"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__row(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// call: "obj->row(x0_)"
// params: [CInt]
extern "C"
int
    casadi__IMatrix__row(std::string ** err_msg, casadi::IMatrix* obj, int x0);
int
    casadi__IMatrix__row(std::string ** err_msg, casadi::IMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->row(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sanityCheck" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sanityCheck"
// cWrapperName: "casadi__IMatrix__sanityCheck__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__sanityCheck__0(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->sanityCheck()"
// params: []
extern "C"
void
    casadi__IMatrix__sanityCheck__0(std::string ** err_msg, casadi::IMatrix* obj);
void
    casadi__IMatrix__sanityCheck__0(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        obj->sanityCheck();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "sanityCheck" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sanityCheck"
// cWrapperName: "casadi__IMatrix__sanityCheck__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__sanityCheck__1(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// call: "obj->sanityCheck(x0_)"
// params: [CBool]
extern "C"
void
    casadi__IMatrix__sanityCheck__1(std::string ** err_msg, casadi::IMatrix* obj, int x0);
void
    casadi__IMatrix__sanityCheck__1(std::string ** err_msg, casadi::IMatrix* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        obj->sanityCheck(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "scalar_matrix" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::scalar_matrix"
// cWrapperName: "casadi__IMatrix__scalar_matrix"
// protoArgs: "(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__scalar_matrix(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2)"
// call: "casadi::IMatrix::scalar_matrix(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__scalar_matrix(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2);
casadi::IMatrix*
    casadi__IMatrix__scalar_matrix(std::string ** err_msg, int x0, casadi::IMatrix* x1, casadi::IMatrix* x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::IMatrix& x1_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        casadi::IMatrix ret = casadi::IMatrix::scalar_matrix(x0_, x1_, x2_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::set"
// cWrapperName: "casadi__IMatrix__set__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__set__0(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__IMatrix__set__0(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3);
void
    casadi__IMatrix__set__0(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::set"
// cWrapperName: "casadi__IMatrix__set__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__set__1(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__IMatrix__set__1(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3);
void
    casadi__IMatrix__set__1(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::set"
// cWrapperName: "casadi__IMatrix__set__2"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__set__2(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__IMatrix__set__2(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3);
void
    casadi__IMatrix__set__2(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::set"
// cWrapperName: "casadi__IMatrix__set__3"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__set__3(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__IMatrix__set__3(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__IMatrix__set__3(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::set"
// cWrapperName: "casadi__IMatrix__set__4"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__set__4(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Sparsity* x2)"
// call: "obj->set(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
void
    casadi__IMatrix__set__4(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Sparsity* x2);
void
    casadi__IMatrix__set__4(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::set"
// cWrapperName: "casadi__IMatrix__set__5"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__set__5(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->set(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__IMatrix__set__5(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2);
void
    casadi__IMatrix__set__5(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::set"
// cWrapperName: "casadi__IMatrix__set__6"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__set__6(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2)"
// call: "obj->set(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__IMatrix__set__6(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2);
void
    casadi__IMatrix__set__6(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::set"
// cWrapperName: "casadi__IMatrix__set__7"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__set__7(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0)"
// call: "obj->set(x0_)"
// params: [Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__IMatrix__set__7(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0);
void
    casadi__IMatrix__set__7(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->set(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::set"
// cWrapperName: "casadi__IMatrix__set__8"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__set__8(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0, int x1)"
// call: "obj->set(x0_, x1_)"
// params: [Ref (Const (StdVec CDouble)),CBool]
extern "C"
void
    casadi__IMatrix__set__8(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0, int x1);
void
    casadi__IMatrix__set__8(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0, int x1){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->set(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::set"
// cWrapperName: "casadi__IMatrix__set__9"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__set__9(std::string ** err_msg, casadi::IMatrix* obj, double x0)"
// call: "obj->set(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__IMatrix__set__9(std::string ** err_msg, casadi::IMatrix* obj, double x0);
void
    casadi__IMatrix__set__9(std::string ** err_msg, casadi::IMatrix* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->set(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::set"
// cWrapperName: "casadi__IMatrix__set__10"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__set__10(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0)"
// call: "obj->set(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__IMatrix__set__10(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0);
void
    casadi__IMatrix__set__10(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);

        obj->set(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setEqualityCheckingDepth" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::setEqualityCheckingDepth"
// cWrapperName: "casadi__IMatrix__setEqualityCheckingDepth__0"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__setEqualityCheckingDepth__0(std::string ** err_msg)"
// call: "casadi::IMatrix::setEqualityCheckingDepth()"
// params: []
extern "C"
void
    casadi__IMatrix__setEqualityCheckingDepth__0(std::string ** err_msg);
void
    casadi__IMatrix__setEqualityCheckingDepth__0(std::string ** err_msg){
    try {

        casadi::IMatrix::setEqualityCheckingDepth();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setEqualityCheckingDepth" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::setEqualityCheckingDepth"
// cWrapperName: "casadi__IMatrix__setEqualityCheckingDepth__1"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__setEqualityCheckingDepth__1(std::string ** err_msg, int x0)"
// call: "casadi::IMatrix::setEqualityCheckingDepth(x0_)"
// params: [CInt]
extern "C"
void
    casadi__IMatrix__setEqualityCheckingDepth__1(std::string ** err_msg, int x0);
void
    casadi__IMatrix__setEqualityCheckingDepth__1(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::IMatrix::setEqualityCheckingDepth(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::setNZ"
// cWrapperName: "casadi__IMatrix__setNZ__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__setNZ__0(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->setNZ(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__IMatrix__setNZ__0(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2);
void
    casadi__IMatrix__setNZ__0(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->setNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::setNZ"
// cWrapperName: "casadi__IMatrix__setNZ__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__setNZ__1(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2)"
// call: "obj->setNZ(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__IMatrix__setNZ__1(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2);
void
    casadi__IMatrix__setNZ__1(std::string ** err_msg, casadi::IMatrix* obj, casadi::IMatrix* x0, int x1, casadi::Slice* x2){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->setNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::setNZ"
// cWrapperName: "casadi__IMatrix__setNZ__2"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__setNZ__2(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0)"
// call: "obj->setNZ(x0_)"
// params: [Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__IMatrix__setNZ__2(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0);
void
    casadi__IMatrix__setNZ__2(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->setNZ(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::setNZ"
// cWrapperName: "casadi__IMatrix__setNZ__3"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__setNZ__3(std::string ** err_msg, casadi::IMatrix* obj, double x0)"
// call: "obj->setNZ(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__IMatrix__setNZ__3(std::string ** err_msg, casadi::IMatrix* obj, double x0);
void
    casadi__IMatrix__setNZ__3(std::string ** err_msg, casadi::IMatrix* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->setNZ(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setPrecision" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::setPrecision"
// cWrapperName: "casadi__IMatrix__setPrecision"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__setPrecision(std::string ** err_msg, int x0)"
// call: "casadi::IMatrix::setPrecision(x0_)"
// params: [CInt]
extern "C"
void
    casadi__IMatrix__setPrecision(std::string ** err_msg, int x0);
void
    casadi__IMatrix__setPrecision(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::IMatrix::setPrecision(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setScientific" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::setScientific"
// cWrapperName: "casadi__IMatrix__setScientific"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__setScientific(std::string ** err_msg, int x0)"
// call: "casadi::IMatrix::setScientific(x0_)"
// params: [CBool]
extern "C"
void
    casadi__IMatrix__setScientific(std::string ** err_msg, int x0);
void
    casadi__IMatrix__setScientific(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::IMatrix::setScientific(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setSym" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::setSym"
// cWrapperName: "casadi__IMatrix__setSym"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__setSym(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0)"
// call: "obj->setSym(x0_)"
// params: [Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__IMatrix__setSym(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0);
void
    casadi__IMatrix__setSym(std::string ** err_msg, casadi::IMatrix* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->setSym(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setValue" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::setValue"
// cWrapperName: "casadi__IMatrix__setValue__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, double x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__setValue__0(std::string ** err_msg, casadi::IMatrix* obj, double x0, int x1)"
// call: "obj->setValue(x0_, x1_)"
// params: [CDouble,CInt]
extern "C"
void
    casadi__IMatrix__setValue__0(std::string ** err_msg, casadi::IMatrix* obj, double x0, int x1);
void
    casadi__IMatrix__setValue__0(std::string ** err_msg, casadi::IMatrix* obj, double x0, int x1){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->setValue(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setValue" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::setValue"
// cWrapperName: "casadi__IMatrix__setValue__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__setValue__1(std::string ** err_msg, casadi::IMatrix* obj, double x0)"
// call: "obj->setValue(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__IMatrix__setValue__1(std::string ** err_msg, casadi::IMatrix* obj, double x0);
void
    casadi__IMatrix__setValue__1(std::string ** err_msg, casadi::IMatrix* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->setValue(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setWidth" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::setWidth"
// cWrapperName: "casadi__IMatrix__setWidth"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__setWidth(std::string ** err_msg, int x0)"
// call: "casadi::IMatrix::setWidth(x0_)"
// params: [CInt]
extern "C"
void
    casadi__IMatrix__setWidth(std::string ** err_msg, int x0);
void
    casadi__IMatrix__setWidth(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::IMatrix::setWidth(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setZero" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::setZero"
// cWrapperName: "casadi__IMatrix__setZero"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IMatrix__setZero(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->setZero()"
// params: []
extern "C"
void
    casadi__IMatrix__setZero(std::string ** err_msg, casadi::IMatrix* obj);
void
    casadi__IMatrix__setZero(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        obj->setZero();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "shape" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::shape"
// cWrapperName: "casadi__IMatrix__shape__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__shape__0(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// call: "obj->shape(x0_)"
// params: [CInt]
extern "C"
int
    casadi__IMatrix__shape__0(std::string ** err_msg, casadi::IMatrix* obj, int x0);
int
    casadi__IMatrix__shape__0(std::string ** err_msg, casadi::IMatrix* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->shape(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "shape" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::shape"
// cWrapperName: "casadi__IMatrix__shape__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: StdPair CInt CInt
// cWrapperRetType: "std::pair< int, int >*"
// proto: "std::pair< int, int >*\n    casadi__IMatrix__shape__1(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->shape()"
// params: []
extern "C"
std::pair< int, int >*
    casadi__IMatrix__shape__1(std::string ** err_msg, casadi::IMatrix* obj);
std::pair< int, int >*
    casadi__IMatrix__shape__1(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        std::pair< int, int > ret = obj->shape();
        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::size"
// cWrapperName: "casadi__IMatrix__size"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__size(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->size()"
// params: []
extern "C"
int
    casadi__IMatrix__size(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__size(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        int ret = obj->size();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::size1"
// cWrapperName: "casadi__IMatrix__size1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__size1(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->size1()"
// params: []
extern "C"
int
    casadi__IMatrix__size1(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__size1(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        int ret = obj->size1();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::size2"
// cWrapperName: "casadi__IMatrix__size2"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__size2(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->size2()"
// params: []
extern "C"
int
    casadi__IMatrix__size2(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__size2(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        int ret = obj->size2();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeD" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sizeD"
// cWrapperName: "casadi__IMatrix__sizeD"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__sizeD(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->sizeD()"
// params: []
extern "C"
int
    casadi__IMatrix__sizeD(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__sizeD(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        int ret = obj->sizeD();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeL" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sizeL"
// cWrapperName: "casadi__IMatrix__sizeL"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__sizeL(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->sizeL()"
// params: []
extern "C"
int
    casadi__IMatrix__sizeL(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__sizeL(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        int ret = obj->sizeL();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeU" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sizeU"
// cWrapperName: "casadi__IMatrix__sizeU"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IMatrix__sizeU(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->sizeU()"
// params: []
extern "C"
int
    casadi__IMatrix__sizeU(std::string ** err_msg, casadi::IMatrix* obj);
int
    casadi__IMatrix__sizeU(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        int ret = obj->sizeU();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sparse"
// cWrapperName: "casadi__IMatrix__sparse__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::IMatrix* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__sparse__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::IMatrix* x1)"
// call: "casadi::IMatrix::sparse(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__sparse__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::IMatrix* x1);
casadi::IMatrix*
    casadi__IMatrix__sparse__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::IMatrix* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::IMatrix& x1_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x1);

        casadi::IMatrix ret = casadi::IMatrix::sparse(x0_, x1_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sparse"
// cWrapperName: "casadi__IMatrix__sparse__1"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__sparse__1(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::IMatrix::sparse(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__sparse__1(std::string ** err_msg, std::pair< int, int >* x0);
casadi::IMatrix*
    casadi__IMatrix__sparse__1(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::sparse(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sparse"
// cWrapperName: "casadi__IMatrix__sparse__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__sparse__2(std::string ** err_msg)"
// call: "casadi::IMatrix::sparse()"
// params: []
extern "C"
casadi::IMatrix*
    casadi__IMatrix__sparse__2(std::string ** err_msg);
casadi::IMatrix*
    casadi__IMatrix__sparse__2(std::string ** err_msg){
    try {

        casadi::IMatrix ret = casadi::IMatrix::sparse();
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sparse"
// cWrapperName: "casadi__IMatrix__sparse__3"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__sparse__3(std::string ** err_msg, int x0)"
// call: "casadi::IMatrix::sparse(x0_)"
// params: [CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__sparse__3(std::string ** err_msg, int x0);
casadi::IMatrix*
    casadi__IMatrix__sparse__3(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::sparse(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sparse"
// cWrapperName: "casadi__IMatrix__sparse__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__sparse__4(std::string ** err_msg, int x0, int x1)"
// call: "casadi::IMatrix::sparse(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__sparse__4(std::string ** err_msg, int x0, int x1);
casadi::IMatrix*
    casadi__IMatrix__sparse__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::IMatrix ret = casadi::IMatrix::sparse(x0_, x1_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sparsity"
// cWrapperName: "casadi__IMatrix__sparsity"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__IMatrix__sparsity(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->sparsity()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__IMatrix__sparsity(std::string ** err_msg, casadi::IMatrix* obj);
casadi::Sparsity*
    casadi__IMatrix__sparsity(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        casadi::Sparsity ret = obj->sparsity();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sym"
// cWrapperName: "casadi__IMatrix__sym__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IMatrix")))
// cWrapperRetType: "std::vector< std::vector< casadi::IMatrix* >* >*"
// proto: "std::vector< std::vector< casadi::IMatrix* >* >*\n    casadi__IMatrix__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
// call: "casadi::IMatrix::sym(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),CInt,CInt,CInt,CInt]
extern "C"
std::vector< std::vector< casadi::IMatrix* >* >*
    casadi__IMatrix__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4);
std::vector< std::vector< casadi::IMatrix* >* >*
    casadi__IMatrix__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);
        int x4_ = Marshaling<int,int>::marshal(x4);

        std::vector< std::vector< casadi::IMatrix > > ret = casadi::IMatrix::sym(x0_, x1_, x2_, x3_, x4_);
        return WrapReturn< std::vector< std::vector< casadi::IMatrix* >* >*, std::vector< std::vector< casadi::IMatrix > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sym"
// cWrapperName: "casadi__IMatrix__sym__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IMatrix")))
// cWrapperRetType: "std::vector< std::vector< casadi::IMatrix* >* >*"
// proto: "std::vector< std::vector< casadi::IMatrix* >* >*\n    casadi__IMatrix__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
// call: "casadi::IMatrix::sym(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt,CInt]
extern "C"
std::vector< std::vector< casadi::IMatrix* >* >*
    casadi__IMatrix__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3);
std::vector< std::vector< casadi::IMatrix* >* >*
    casadi__IMatrix__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);

        std::vector< std::vector< casadi::IMatrix > > ret = casadi::IMatrix::sym(x0_, x1_, x2_, x3_);
        return WrapReturn< std::vector< std::vector< casadi::IMatrix* >* >*, std::vector< std::vector< casadi::IMatrix > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sym"
// cWrapperName: "casadi__IMatrix__sym__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IMatrix"))
// cWrapperRetType: "std::vector< casadi::IMatrix* >*"
// proto: "std::vector< casadi::IMatrix* >*\n    casadi__IMatrix__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
// call: "casadi::IMatrix::sym(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),CInt,CInt,CInt]
extern "C"
std::vector< casadi::IMatrix* >*
    casadi__IMatrix__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3);
std::vector< casadi::IMatrix* >*
    casadi__IMatrix__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);

        std::vector< casadi::IMatrix > ret = casadi::IMatrix::sym(x0_, x1_, x2_, x3_);
        return WrapReturn< std::vector< casadi::IMatrix* >*, std::vector< casadi::IMatrix > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sym"
// cWrapperName: "casadi__IMatrix__sym__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IMatrix"))
// cWrapperRetType: "std::vector< casadi::IMatrix* >*"
// proto: "std::vector< casadi::IMatrix* >*\n    casadi__IMatrix__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
// call: "casadi::IMatrix::sym(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt]
extern "C"
std::vector< casadi::IMatrix* >*
    casadi__IMatrix__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2);
std::vector< casadi::IMatrix* >*
    casadi__IMatrix__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        std::vector< casadi::IMatrix > ret = casadi::IMatrix::sym(x0_, x1_, x2_);
        return WrapReturn< std::vector< casadi::IMatrix* >*, std::vector< casadi::IMatrix > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sym"
// cWrapperName: "casadi__IMatrix__sym__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// call: "casadi::IMatrix::sym(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
casadi::IMatrix*
    casadi__IMatrix__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::IMatrix ret = casadi::IMatrix::sym(x0_, x1_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sym"
// cWrapperName: "casadi__IMatrix__sym__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
// call: "casadi::IMatrix::sym(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1);
casadi::IMatrix*
    casadi__IMatrix__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);

        casadi::IMatrix ret = casadi::IMatrix::sym(x0_, x1_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sym"
// cWrapperName: "casadi__IMatrix__sym__6"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__sym__6(std::string ** err_msg, std::string* x0)"
// call: "casadi::IMatrix::sym(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__sym__6(std::string ** err_msg, std::string* x0);
casadi::IMatrix*
    casadi__IMatrix__sym__6(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::sym(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sym"
// cWrapperName: "casadi__IMatrix__sym__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__sym__7(std::string ** err_msg, std::string* x0, int x1)"
// call: "casadi::IMatrix::sym(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__sym__7(std::string ** err_msg, std::string* x0, int x1);
casadi::IMatrix*
    casadi__IMatrix__sym__7(std::string ** err_msg, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::IMatrix ret = casadi::IMatrix::sym(x0_, x1_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::sym"
// cWrapperName: "casadi__IMatrix__sym__8"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2)"
// call: "casadi::IMatrix::sym(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CInt,CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2);
casadi::IMatrix*
    casadi__IMatrix__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        casadi::IMatrix ret = casadi::IMatrix::sym(x0_, x1_, x2_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toSlice" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::toSlice"
// cWrapperName: "casadi__IMatrix__toSlice__0"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__IMatrix__toSlice__0(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->toSlice()"
// params: []
extern "C"
casadi::Slice*
    casadi__IMatrix__toSlice__0(std::string ** err_msg, casadi::IMatrix* obj);
casadi::Slice*
    casadi__IMatrix__toSlice__0(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        casadi::Slice ret = obj->toSlice();
        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toSlice" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::toSlice"
// cWrapperName: "casadi__IMatrix__toSlice__1"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__IMatrix__toSlice__1(std::string ** err_msg, casadi::IMatrix* obj, int x0)"
// call: "obj->toSlice(x0_)"
// params: [CBool]
extern "C"
casadi::Slice*
    casadi__IMatrix__toSlice__1(std::string ** err_msg, casadi::IMatrix* obj, int x0);
casadi::Slice*
    casadi__IMatrix__toSlice__1(std::string ** err_msg, casadi::IMatrix* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::Slice ret = obj->toSlice(x0_);
        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::triplet"
// cWrapperName: "casadi__IMatrix__triplet__0"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IMatrix* x2, std::pair< int, int >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IMatrix* x2, std::pair< int, int >* x3)"
// call: "casadi::IMatrix::triplet(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IMatrix* x2, std::pair< int, int >* x3);
casadi::IMatrix*
    casadi__IMatrix__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IMatrix* x2, std::pair< int, int >* x3){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        std::pair< int, int > x3_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x3);

        casadi::IMatrix ret = casadi::IMatrix::triplet(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::triplet"
// cWrapperName: "casadi__IMatrix__triplet__1"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IMatrix* x2, int x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IMatrix* x2, int x3, int x4)"
// call: "casadi::IMatrix::triplet(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),CInt,CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IMatrix* x2, int x3, int x4);
casadi::IMatrix*
    casadi__IMatrix__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IMatrix* x2, int x3, int x4){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);
        int x4_ = Marshaling<int,int>::marshal(x4);

        casadi::IMatrix ret = casadi::IMatrix::triplet(x0_, x1_, x2_, x3_, x4_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::triplet"
// cWrapperName: "casadi__IMatrix__triplet__2"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IMatrix* x2)"
// call: "casadi::IMatrix::triplet(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IMatrix* x2);
casadi::IMatrix*
    casadi__IMatrix__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IMatrix* x2){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        casadi::IMatrix ret = casadi::IMatrix::triplet(x0_, x1_, x2_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "unary" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::unary"
// cWrapperName: "casadi__IMatrix__unary"
// protoArgs: "(std::string ** err_msg, int x0, casadi::IMatrix* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__unary(std::string ** err_msg, int x0, casadi::IMatrix* x1)"
// call: "casadi::IMatrix::unary(x0_, x1_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__unary(std::string ** err_msg, int x0, casadi::IMatrix* x1);
casadi::IMatrix*
    casadi__IMatrix__unary(std::string ** err_msg, int x0, casadi::IMatrix* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::IMatrix& x1_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x1);

        casadi::IMatrix ret = casadi::IMatrix::unary(x0_, x1_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::zeros"
// cWrapperName: "casadi__IMatrix__zeros__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__zeros__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::IMatrix::zeros(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__zeros__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::IMatrix*
    casadi__IMatrix__zeros__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::zeros(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::zeros"
// cWrapperName: "casadi__IMatrix__zeros__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::IMatrix::zeros(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::IMatrix*
    casadi__IMatrix__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::zeros(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::zeros"
// cWrapperName: "casadi__IMatrix__zeros__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__zeros__2(std::string ** err_msg)"
// call: "casadi::IMatrix::zeros()"
// params: []
extern "C"
casadi::IMatrix*
    casadi__IMatrix__zeros__2(std::string ** err_msg);
casadi::IMatrix*
    casadi__IMatrix__zeros__2(std::string ** err_msg){
    try {

        casadi::IMatrix ret = casadi::IMatrix::zeros();
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::zeros"
// cWrapperName: "casadi__IMatrix__zeros__3"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__zeros__3(std::string ** err_msg, int x0)"
// call: "casadi::IMatrix::zeros(x0_)"
// params: [CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__zeros__3(std::string ** err_msg, int x0);
casadi::IMatrix*
    casadi__IMatrix__zeros__3(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::IMatrix ret = casadi::IMatrix::zeros(x0_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::zeros"
// cWrapperName: "casadi__IMatrix__zeros__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__IMatrix__zeros__4(std::string ** err_msg, int x0, int x1)"
// call: "casadi::IMatrix::zeros(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::IMatrix*
    casadi__IMatrix__zeros__4(std::string ** err_msg, int x0, int x1);
casadi::IMatrix*
    casadi__IMatrix__zeros__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::IMatrix ret = casadi::IMatrix::zeros(x0_, x1_);
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getRepresentation" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getRepresentation"
// cWrapperName: "casadi__IMatrix__getRepresentation"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__IMatrix__getRepresentation(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->getRepresentation()"
// params: []
extern "C"
std::string*
    casadi__IMatrix__getRepresentation(std::string ** err_msg, casadi::IMatrix* obj);
std::string*
    casadi__IMatrix__getRepresentation(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        std::string ret = obj->getRepresentation();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDescription" ===============
// class: "casadi::IMatrix"
// cppName: "casadi::IMatrix::getDescription"
// cWrapperName: "casadi__IMatrix__getDescription"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__IMatrix__getDescription(std::string ** err_msg, casadi::IMatrix* obj)"
// call: "obj->getDescription()"
// params: []
extern "C"
std::string*
    casadi__IMatrix__getDescription(std::string ** err_msg, casadi::IMatrix* obj);
std::string*
    casadi__IMatrix__getDescription(std::string ** err_msg, casadi::IMatrix* obj){
    try {

        std::string ret = obj->getDescription();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "ImplicitFunction")===============
// classType: UserType (Namespace ["casadi"]) (Name "ImplicitFunction")
extern "C"
void delete_casadi__ImplicitFunction(casadi::ImplicitFunction* obj);
void delete_casadi__ImplicitFunction(casadi::ImplicitFunction* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ImplicitFunction"
// cppName: "casadi::ImplicitFunction"
// cWrapperName: "casadi__ImplicitFunction__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "ImplicitFunction")
// cWrapperRetType: "casadi::ImplicitFunction*"
// proto: "casadi::ImplicitFunction*\n    casadi__ImplicitFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2)"
// call: "casadi::ImplicitFunction(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function")))]
extern "C"
casadi::ImplicitFunction*
    casadi__ImplicitFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2);
casadi::ImplicitFunction*
    casadi__ImplicitFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);

        return new casadi::ImplicitFunction(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ImplicitFunction"
// cppName: "casadi::ImplicitFunction"
// cWrapperName: "casadi__ImplicitFunction__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "ImplicitFunction")
// cWrapperRetType: "casadi::ImplicitFunction*"
// proto: "casadi::ImplicitFunction*\n    casadi__ImplicitFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::ImplicitFunction(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::ImplicitFunction*
    casadi__ImplicitFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::ImplicitFunction*
    casadi__ImplicitFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::ImplicitFunction(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::ImplicitFunction"
// cppName: "casadi::ImplicitFunction"
// cWrapperName: "casadi__ImplicitFunction__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "ImplicitFunction")
// cWrapperRetType: "casadi::ImplicitFunction*"
// proto: "casadi::ImplicitFunction*\n    casadi__ImplicitFunction__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::ImplicitFunction()"
// params: []
extern "C"
casadi::ImplicitFunction*
    casadi__ImplicitFunction__CONSTRUCTOR__2(std::string ** err_msg);
casadi::ImplicitFunction*
    casadi__ImplicitFunction__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::ImplicitFunction();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::ImplicitFunction"
// cppName: "casadi::ImplicitFunction::doc"
// cWrapperName: "casadi__ImplicitFunction__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__ImplicitFunction__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::ImplicitFunction::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__ImplicitFunction__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__ImplicitFunction__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::ImplicitFunction::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getF" ===============
// class: "casadi::ImplicitFunction"
// cppName: "casadi::ImplicitFunction::getF"
// cWrapperName: "casadi__ImplicitFunction__getF"
// protoArgs: "(std::string ** err_msg, casadi::ImplicitFunction* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__ImplicitFunction__getF(std::string ** err_msg, casadi::ImplicitFunction* obj)"
// call: "obj->getF()"
// params: []
extern "C"
casadi::Function*
    casadi__ImplicitFunction__getF(std::string ** err_msg, casadi::ImplicitFunction* obj);
casadi::Function*
    casadi__ImplicitFunction__getF(std::string ** err_msg, casadi::ImplicitFunction* obj){
    try {

        casadi::Function ret = obj->getF();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getJac" ===============
// class: "casadi::ImplicitFunction"
// cppName: "casadi::ImplicitFunction::getJac"
// cWrapperName: "casadi__ImplicitFunction__getJac"
// protoArgs: "(std::string ** err_msg, casadi::ImplicitFunction* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__ImplicitFunction__getJac(std::string ** err_msg, casadi::ImplicitFunction* obj)"
// call: "obj->getJac()"
// params: []
extern "C"
casadi::Function*
    casadi__ImplicitFunction__getJac(std::string ** err_msg, casadi::ImplicitFunction* obj);
casadi::Function*
    casadi__ImplicitFunction__getJac(std::string ** err_msg, casadi::ImplicitFunction* obj){
    try {

        casadi::Function ret = obj->getJac();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getLinsol" ===============
// class: "casadi::ImplicitFunction"
// cppName: "casadi::ImplicitFunction::getLinsol"
// cWrapperName: "casadi__ImplicitFunction__getLinsol"
// protoArgs: "(std::string ** err_msg, casadi::ImplicitFunction* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "LinearSolver")
// cWrapperRetType: "casadi::LinearSolver*"
// proto: "casadi::LinearSolver*\n    casadi__ImplicitFunction__getLinsol(std::string ** err_msg, casadi::ImplicitFunction* obj)"
// call: "obj->getLinsol()"
// params: []
extern "C"
casadi::LinearSolver*
    casadi__ImplicitFunction__getLinsol(std::string ** err_msg, casadi::ImplicitFunction* obj);
casadi::LinearSolver*
    casadi__ImplicitFunction__getLinsol(std::string ** err_msg, casadi::ImplicitFunction* obj){
    try {

        casadi::LinearSolver ret = obj->getLinsol();
        return WrapReturn< casadi::LinearSolver*, casadi::LinearSolver >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::ImplicitFunction"
// cppName: "casadi::ImplicitFunction::hasPlugin"
// cWrapperName: "casadi__ImplicitFunction__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__ImplicitFunction__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::ImplicitFunction::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__ImplicitFunction__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__ImplicitFunction__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::ImplicitFunction::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::ImplicitFunction"
// cppName: "casadi::ImplicitFunction::loadPlugin"
// cWrapperName: "casadi__ImplicitFunction__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__ImplicitFunction__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::ImplicitFunction::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__ImplicitFunction__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__ImplicitFunction__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::ImplicitFunction::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Integrator")===============
// classType: UserType (Namespace ["casadi"]) (Name "Integrator")
extern "C"
void delete_casadi__Integrator(casadi::Integrator* obj);
void delete_casadi__Integrator(casadi::Integrator* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator"
// cWrapperName: "casadi__Integrator__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Integrator")
// cWrapperRetType: "casadi::Integrator*"
// proto: "casadi::Integrator*\n    casadi__Integrator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
// call: "casadi::Integrator(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))))]
extern "C"
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);

        return new casadi::Integrator(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator"
// cWrapperName: "casadi__Integrator__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Integrator")
// cWrapperRetType: "casadi::Integrator*"
// proto: "casadi::Integrator*\n    casadi__Integrator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::Integrator(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::Integrator(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator"
// cWrapperName: "casadi__Integrator__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Integrator")
// cWrapperRetType: "casadi::Integrator*"
// proto: "casadi::Integrator*\n    casadi__Integrator__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
// call: "casadi::Integrator(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))))]
extern "C"
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);

        return new casadi::Integrator(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator"
// cWrapperName: "casadi__Integrator__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Integrator")
// cWrapperRetType: "casadi::Integrator*"
// proto: "casadi::Integrator*\n    casadi__Integrator__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::Integrator(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::Integrator(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator"
// cWrapperName: "casadi__Integrator__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::pair< casadi::Function*, casadi::Function* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Integrator")
// cWrapperRetType: "casadi::Integrator*"
// proto: "casadi::Integrator*\n    casadi__Integrator__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::string* x1, std::pair< casadi::Function*, casadi::Function* >* x2)"
// call: "casadi::Integrator(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdPair (UserType (Namespace ["casadi"]) (Name "Function")) (UserType (Namespace ["casadi"]) (Name "Function"))))]
extern "C"
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::string* x1, std::pair< casadi::Function*, casadi::Function* >* x2);
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::string* x1, std::pair< casadi::Function*, casadi::Function* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::pair< casadi::Function, casadi::Function > x2_ = Marshaling<std::pair< casadi::Function, casadi::Function >,std::pair< casadi::Function*, casadi::Function* >*>::marshal(x2);

        return new casadi::Integrator(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator"
// cWrapperName: "casadi__Integrator__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::pair< casadi::Function*, casadi::Function* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Integrator")
// cWrapperRetType: "casadi::Integrator*"
// proto: "casadi::Integrator*\n    casadi__Integrator__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::string* x1, std::pair< casadi::Function*, casadi::Function* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::Integrator(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdPair (UserType (Namespace ["casadi"]) (Name "Function")) (UserType (Namespace ["casadi"]) (Name "Function")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::string* x1, std::pair< casadi::Function*, casadi::Function* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::string* x1, std::pair< casadi::Function*, casadi::Function* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::pair< casadi::Function, casadi::Function > x2_ = Marshaling<std::pair< casadi::Function, casadi::Function >,std::pair< casadi::Function*, casadi::Function* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::Integrator(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator"
// cWrapperName: "casadi__Integrator__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Integrator")
// cWrapperRetType: "casadi::Integrator*"
// proto: "casadi::Integrator*\n    casadi__Integrator__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2)"
// call: "casadi::Integrator(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function")))]
extern "C"
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2);
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);

        return new casadi::Integrator(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator"
// cWrapperName: "casadi__Integrator__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Integrator")
// cWrapperRetType: "casadi::Integrator*"
// proto: "casadi::Integrator*\n    casadi__Integrator__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::Integrator(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::Integrator(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator"
// cWrapperName: "casadi__Integrator__CONSTRUCTOR__8"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Integrator")
// cWrapperRetType: "casadi::Integrator*"
// proto: "casadi::Integrator*\n    casadi__Integrator__CONSTRUCTOR__8(std::string ** err_msg)"
// call: "casadi::Integrator()"
// params: []
extern "C"
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__8(std::string ** err_msg);
casadi::Integrator*
    casadi__Integrator__CONSTRUCTOR__8(std::string ** err_msg){
    try {

        return new casadi::Integrator();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "clone" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator::clone"
// cWrapperName: "casadi__Integrator__clone"
// protoArgs: "(std::string ** err_msg, casadi::Integrator* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Integrator")
// cWrapperRetType: "casadi::Integrator*"
// proto: "casadi::Integrator*\n    casadi__Integrator__clone(std::string ** err_msg, casadi::Integrator* obj)"
// call: "obj->clone()"
// params: []
extern "C"
casadi::Integrator*
    casadi__Integrator__clone(std::string ** err_msg, casadi::Integrator* obj);
casadi::Integrator*
    casadi__Integrator__clone(std::string ** err_msg, casadi::Integrator* obj){
    try {

        casadi::Integrator ret = obj->clone();
        return WrapReturn< casadi::Integrator*, casadi::Integrator >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator::doc"
// cWrapperName: "casadi__Integrator__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Integrator__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::Integrator::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__Integrator__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__Integrator__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::Integrator::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getAugmented" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator::getAugmented"
// cWrapperName: "casadi__Integrator__getAugmented"
// protoArgs: "(std::string ** err_msg, casadi::Integrator* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdPair (UserType (Namespace ["casadi"]) (Name "Function")) (UserType (Namespace ["casadi"]) (Name "Function"))
// cWrapperRetType: "std::pair< casadi::Function*, casadi::Function* >*"
// proto: "std::pair< casadi::Function*, casadi::Function* >*\n    casadi__Integrator__getAugmented(std::string ** err_msg, casadi::Integrator* obj, int x0, int x1)"
// call: "obj->getAugmented(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
std::pair< casadi::Function*, casadi::Function* >*
    casadi__Integrator__getAugmented(std::string ** err_msg, casadi::Integrator* obj, int x0, int x1);
std::pair< casadi::Function*, casadi::Function* >*
    casadi__Integrator__getAugmented(std::string ** err_msg, casadi::Integrator* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        std::pair< casadi::Function, casadi::Function > ret = obj->getAugmented(x0_, x1_);
        return WrapReturn< std::pair< casadi::Function*, casadi::Function* >*, std::pair< casadi::Function, casadi::Function > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDAE" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator::getDAE"
// cWrapperName: "casadi__Integrator__getDAE"
// protoArgs: "(std::string ** err_msg, casadi::Integrator* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Integrator__getDAE(std::string ** err_msg, casadi::Integrator* obj)"
// call: "obj->getDAE()"
// params: []
extern "C"
casadi::Function*
    casadi__Integrator__getDAE(std::string ** err_msg, casadi::Integrator* obj);
casadi::Function*
    casadi__Integrator__getDAE(std::string ** err_msg, casadi::Integrator* obj){
    try {

        casadi::Function ret = obj->getDAE();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator::hasPlugin"
// cWrapperName: "casadi__Integrator__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Integrator__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::Integrator::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__Integrator__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__Integrator__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::Integrator::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "integrate" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator::integrate"
// cWrapperName: "casadi__Integrator__integrate"
// protoArgs: "(std::string ** err_msg, casadi::Integrator* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Integrator__integrate(std::string ** err_msg, casadi::Integrator* obj, double x0)"
// call: "obj->integrate(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__Integrator__integrate(std::string ** err_msg, casadi::Integrator* obj, double x0);
void
    casadi__Integrator__integrate(std::string ** err_msg, casadi::Integrator* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->integrate(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "integrateB" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator::integrateB"
// cWrapperName: "casadi__Integrator__integrateB"
// protoArgs: "(std::string ** err_msg, casadi::Integrator* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Integrator__integrateB(std::string ** err_msg, casadi::Integrator* obj, double x0)"
// call: "obj->integrateB(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__Integrator__integrateB(std::string ** err_msg, casadi::Integrator* obj, double x0);
void
    casadi__Integrator__integrateB(std::string ** err_msg, casadi::Integrator* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->integrateB(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator::loadPlugin"
// cWrapperName: "casadi__Integrator__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Integrator__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::Integrator::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__Integrator__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__Integrator__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Integrator::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printStats" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator::printStats"
// cWrapperName: "casadi__Integrator__printStats"
// protoArgs: "(std::string ** err_msg, casadi::Integrator* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Integrator__printStats(std::string ** err_msg, casadi::Integrator* obj)"
// call: "obj->printStats()"
// params: []
extern "C"
void
    casadi__Integrator__printStats(std::string ** err_msg, casadi::Integrator* obj);
void
    casadi__Integrator__printStats(std::string ** err_msg, casadi::Integrator* obj){
    try {

        obj->printStats();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reset" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator::reset"
// cWrapperName: "casadi__Integrator__reset"
// protoArgs: "(std::string ** err_msg, casadi::Integrator* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Integrator__reset(std::string ** err_msg, casadi::Integrator* obj)"
// call: "obj->reset()"
// params: []
extern "C"
void
    casadi__Integrator__reset(std::string ** err_msg, casadi::Integrator* obj);
void
    casadi__Integrator__reset(std::string ** err_msg, casadi::Integrator* obj){
    try {

        obj->reset();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "resetB" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator::resetB"
// cWrapperName: "casadi__Integrator__resetB"
// protoArgs: "(std::string ** err_msg, casadi::Integrator* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Integrator__resetB(std::string ** err_msg, casadi::Integrator* obj)"
// call: "obj->resetB()"
// params: []
extern "C"
void
    casadi__Integrator__resetB(std::string ** err_msg, casadi::Integrator* obj);
void
    casadi__Integrator__resetB(std::string ** err_msg, casadi::Integrator* obj){
    try {

        obj->resetB();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setStopTime" ===============
// class: "casadi::Integrator"
// cppName: "casadi::Integrator::setStopTime"
// cWrapperName: "casadi__Integrator__setStopTime"
// protoArgs: "(std::string ** err_msg, casadi::Integrator* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Integrator__setStopTime(std::string ** err_msg, casadi::Integrator* obj, double x0)"
// call: "obj->setStopTime(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__Integrator__setStopTime(std::string ** err_msg, casadi::Integrator* obj, double x0);
void
    casadi__Integrator__setStopTime(std::string ** err_msg, casadi::Integrator* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->setStopTime(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "IterationCallback")===============
// classType: UserType (Namespace ["casadi"]) (Name "IterationCallback")
extern "C"
void delete_casadi__IterationCallback(casadi::IterationCallback* obj);
void delete_casadi__IterationCallback(casadi::IterationCallback* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IterationCallback"
// cppName: "casadi::IterationCallback"
// cWrapperName: "casadi__IterationCallback__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IterationCallback")
// cWrapperRetType: "casadi::IterationCallback*"
// proto: "casadi::IterationCallback*\n    casadi__IterationCallback__CONSTRUCTOR(std::string ** err_msg)"
// call: "casadi::IterationCallback()"
// params: []
extern "C"
casadi::IterationCallback*
    casadi__IterationCallback__CONSTRUCTOR(std::string ** err_msg);
casadi::IterationCallback*
    casadi__IterationCallback__CONSTRUCTOR(std::string ** err_msg){
    try {

        return new casadi::IterationCallback();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::IterationCallback"
// cppName: "casadi::IterationCallback::operator ()"
// cWrapperName: "casadi__IterationCallback__operator_call"
// protoArgs: "(std::string ** err_msg, casadi::IterationCallback* obj, casadi::Function* x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__IterationCallback__operator_call(std::string ** err_msg, casadi::IterationCallback* obj, casadi::Function* x0)"
// call: "obj->operator ()(x0_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "Function"))]
extern "C"
int
    casadi__IterationCallback__operator_call(std::string ** err_msg, casadi::IterationCallback* obj, casadi::Function* x0);
int
    casadi__IterationCallback__operator_call(std::string ** err_msg, casadi::IterationCallback* obj, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        int ret = obj->operator ()(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "KernelSum2D")===============
// classType: UserType (Namespace ["casadi"]) (Name "KernelSum2D")
extern "C"
void delete_casadi__KernelSum2D(casadi::KernelSum2D* obj);
void delete_casadi__KernelSum2D(casadi::KernelSum2D* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::KernelSum2D"
// cppName: "casadi::KernelSum2D"
// cWrapperName: "casadi__KernelSum2D__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, std::pair< int, int >* x2, double x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "KernelSum2D")
// cWrapperRetType: "casadi::KernelSum2D*"
// proto: "casadi::KernelSum2D*\n    casadi__KernelSum2D__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, std::pair< int, int >* x2, double x3, int x4)"
// call: "casadi::KernelSum2D(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (StdPair CInt CInt)),CDouble,CInt]
extern "C"
casadi::KernelSum2D*
    casadi__KernelSum2D__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, std::pair< int, int >* x2, double x3, int x4);
casadi::KernelSum2D*
    casadi__KernelSum2D__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, std::pair< int, int >* x2, double x3, int x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        std::pair< int, int > x2_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x2);
        double x3_ = Marshaling<double,double>::marshal(x3);
        int x4_ = Marshaling<int,int>::marshal(x4);

        return new casadi::KernelSum2D(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::KernelSum2D"
// cppName: "casadi::KernelSum2D"
// cWrapperName: "casadi__KernelSum2D__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, std::pair< int, int >* x2, double x3, int x4, std::map< std::string, casadi::GenericType* >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: UserType (Namespace ["casadi"]) (Name "KernelSum2D")
// cWrapperRetType: "casadi::KernelSum2D*"
// proto: "casadi::KernelSum2D*\n    casadi__KernelSum2D__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, std::pair< int, int >* x2, double x3, int x4, std::map< std::string, casadi::GenericType* >* x5)"
// call: "casadi::KernelSum2D(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (StdPair CInt CInt)),CDouble,CInt,Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::KernelSum2D*
    casadi__KernelSum2D__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, std::pair< int, int >* x2, double x3, int x4, std::map< std::string, casadi::GenericType* >* x5);
casadi::KernelSum2D*
    casadi__KernelSum2D__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, std::pair< int, int >* x2, double x3, int x4, std::map< std::string, casadi::GenericType* >* x5){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        std::pair< int, int > x2_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x2);
        double x3_ = Marshaling<double,double>::marshal(x3);
        int x4_ = Marshaling<int,int>::marshal(x4);
        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);

        return new casadi::KernelSum2D(x0_, x1_, x2_, x3_, x4_, x5_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::KernelSum2D"
// cppName: "casadi::KernelSum2D"
// cWrapperName: "casadi__KernelSum2D__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "KernelSum2D")
// cWrapperRetType: "casadi::KernelSum2D*"
// proto: "casadi::KernelSum2D*\n    casadi__KernelSum2D__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::KernelSum2D()"
// params: []
extern "C"
casadi::KernelSum2D*
    casadi__KernelSum2D__CONSTRUCTOR__2(std::string ** err_msg);
casadi::KernelSum2D*
    casadi__KernelSum2D__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::KernelSum2D();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "LinearSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "LinearSolver")
extern "C"
void delete_casadi__LinearSolver(casadi::LinearSolver* obj);
void delete_casadi__LinearSolver(casadi::LinearSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver"
// cWrapperName: "casadi__LinearSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "LinearSolver")
// cWrapperRetType: "casadi::LinearSolver*"
// proto: "casadi::LinearSolver*\n    casadi__LinearSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3)"
// call: "casadi::LinearSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt]
extern "C"
casadi::LinearSolver*
    casadi__LinearSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3);
casadi::LinearSolver*
    casadi__LinearSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);

        return new casadi::LinearSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver"
// cWrapperName: "casadi__LinearSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "LinearSolver")
// cWrapperRetType: "casadi::LinearSolver*"
// proto: "casadi::LinearSolver*\n    casadi__LinearSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "casadi::LinearSolver(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt,Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::LinearSolver*
    casadi__LinearSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::LinearSolver*
    casadi__LinearSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        return new casadi::LinearSolver(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver"
// cWrapperName: "casadi__LinearSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "LinearSolver")
// cWrapperRetType: "casadi::LinearSolver*"
// proto: "casadi::LinearSolver*\n    casadi__LinearSolver__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2)"
// call: "casadi::LinearSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::LinearSolver*
    casadi__LinearSolver__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2);
casadi::LinearSolver*
    casadi__LinearSolver__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        return new casadi::LinearSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver"
// cWrapperName: "casadi__LinearSolver__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "LinearSolver")
// cWrapperRetType: "casadi::LinearSolver*"
// proto: "casadi::LinearSolver*\n    casadi__LinearSolver__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::LinearSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::LinearSolver*
    casadi__LinearSolver__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::LinearSolver*
    casadi__LinearSolver__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::LinearSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver::doc"
// cWrapperName: "casadi__LinearSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__LinearSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::LinearSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__LinearSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__LinearSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::LinearSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getFactorization" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver::getFactorization"
// cWrapperName: "casadi__LinearSolver__getFactorization__0"
// protoArgs: "(std::string ** err_msg, casadi::LinearSolver* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__LinearSolver__getFactorization__0(std::string ** err_msg, casadi::LinearSolver* obj)"
// call: "obj->getFactorization()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__LinearSolver__getFactorization__0(std::string ** err_msg, casadi::LinearSolver* obj);
casadi::DMatrix*
    casadi__LinearSolver__getFactorization__0(std::string ** err_msg, casadi::LinearSolver* obj){
    try {

        casadi::DMatrix ret = obj->getFactorization();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getFactorization" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver::getFactorization"
// cWrapperName: "casadi__LinearSolver__getFactorization__1"
// protoArgs: "(std::string ** err_msg, casadi::LinearSolver* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__LinearSolver__getFactorization__1(std::string ** err_msg, casadi::LinearSolver* obj, int x0)"
// call: "obj->getFactorization(x0_)"
// params: [CBool]
extern "C"
casadi::DMatrix*
    casadi__LinearSolver__getFactorization__1(std::string ** err_msg, casadi::LinearSolver* obj, int x0);
casadi::DMatrix*
    casadi__LinearSolver__getFactorization__1(std::string ** err_msg, casadi::LinearSolver* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::DMatrix ret = obj->getFactorization(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getFactorizationSparsity" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver::getFactorizationSparsity"
// cWrapperName: "casadi__LinearSolver__getFactorizationSparsity__0"
// protoArgs: "(std::string ** err_msg, casadi::LinearSolver* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__LinearSolver__getFactorizationSparsity__0(std::string ** err_msg, casadi::LinearSolver* obj)"
// call: "obj->getFactorizationSparsity()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__LinearSolver__getFactorizationSparsity__0(std::string ** err_msg, casadi::LinearSolver* obj);
casadi::Sparsity*
    casadi__LinearSolver__getFactorizationSparsity__0(std::string ** err_msg, casadi::LinearSolver* obj){
    try {

        casadi::Sparsity ret = obj->getFactorizationSparsity();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getFactorizationSparsity" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver::getFactorizationSparsity"
// cWrapperName: "casadi__LinearSolver__getFactorizationSparsity__1"
// protoArgs: "(std::string ** err_msg, casadi::LinearSolver* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__LinearSolver__getFactorizationSparsity__1(std::string ** err_msg, casadi::LinearSolver* obj, int x0)"
// call: "obj->getFactorizationSparsity(x0_)"
// params: [CBool]
extern "C"
casadi::Sparsity*
    casadi__LinearSolver__getFactorizationSparsity__1(std::string ** err_msg, casadi::LinearSolver* obj, int x0);
casadi::Sparsity*
    casadi__LinearSolver__getFactorizationSparsity__1(std::string ** err_msg, casadi::LinearSolver* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::Sparsity ret = obj->getFactorizationSparsity(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver::hasPlugin"
// cWrapperName: "casadi__LinearSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__LinearSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::LinearSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__LinearSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__LinearSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::LinearSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver::loadPlugin"
// cWrapperName: "casadi__LinearSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__LinearSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::LinearSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__LinearSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__LinearSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::LinearSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "prepare" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver::prepare"
// cWrapperName: "casadi__LinearSolver__prepare"
// protoArgs: "(std::string ** err_msg, casadi::LinearSolver* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__LinearSolver__prepare(std::string ** err_msg, casadi::LinearSolver* obj)"
// call: "obj->prepare()"
// params: []
extern "C"
void
    casadi__LinearSolver__prepare(std::string ** err_msg, casadi::LinearSolver* obj);
void
    casadi__LinearSolver__prepare(std::string ** err_msg, casadi::LinearSolver* obj){
    try {

        obj->prepare();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "prepared" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver::prepared"
// cWrapperName: "casadi__LinearSolver__prepared"
// protoArgs: "(std::string ** err_msg, casadi::LinearSolver* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__LinearSolver__prepared(std::string ** err_msg, casadi::LinearSolver* obj)"
// call: "obj->prepared()"
// params: []
extern "C"
int
    casadi__LinearSolver__prepared(std::string ** err_msg, casadi::LinearSolver* obj);
int
    casadi__LinearSolver__prepared(std::string ** err_msg, casadi::LinearSolver* obj){
    try {

        bool ret = obj->prepared();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "solve" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver::solve"
// cWrapperName: "casadi__LinearSolver__solve__0"
// protoArgs: "(std::string ** err_msg, casadi::LinearSolver* obj, casadi::MX* x0, casadi::MX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__LinearSolver__solve__0(std::string ** err_msg, casadi::LinearSolver* obj, casadi::MX* x0, casadi::MX* x1)"
// call: "obj->solve(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
casadi::MX*
    casadi__LinearSolver__solve__0(std::string ** err_msg, casadi::LinearSolver* obj, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi__LinearSolver__solve__0(std::string ** err_msg, casadi::LinearSolver* obj, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = obj->solve(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "solve" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver::solve"
// cWrapperName: "casadi__LinearSolver__solve__1"
// protoArgs: "(std::string ** err_msg, casadi::LinearSolver* obj, casadi::MX* x0, casadi::MX* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__LinearSolver__solve__1(std::string ** err_msg, casadi::LinearSolver* obj, casadi::MX* x0, casadi::MX* x1, int x2)"
// call: "obj->solve(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool]
extern "C"
casadi::MX*
    casadi__LinearSolver__solve__1(std::string ** err_msg, casadi::LinearSolver* obj, casadi::MX* x0, casadi::MX* x1, int x2);
casadi::MX*
    casadi__LinearSolver__solve__1(std::string ** err_msg, casadi::LinearSolver* obj, casadi::MX* x0, casadi::MX* x1, int x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::MX ret = obj->solve(x0_, x1_, x2_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "solve" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver::solve"
// cWrapperName: "casadi__LinearSolver__solve__2"
// protoArgs: "(std::string ** err_msg, casadi::LinearSolver* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__LinearSolver__solve__2(std::string ** err_msg, casadi::LinearSolver* obj)"
// call: "obj->solve()"
// params: []
extern "C"
void
    casadi__LinearSolver__solve__2(std::string ** err_msg, casadi::LinearSolver* obj);
void
    casadi__LinearSolver__solve__2(std::string ** err_msg, casadi::LinearSolver* obj){
    try {

        obj->solve();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "solve" ===============
// class: "casadi::LinearSolver"
// cppName: "casadi::LinearSolver::solve"
// cWrapperName: "casadi__LinearSolver__solve__3"
// protoArgs: "(std::string ** err_msg, casadi::LinearSolver* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__LinearSolver__solve__3(std::string ** err_msg, casadi::LinearSolver* obj, int x0)"
// call: "obj->solve(x0_)"
// params: [CBool]
extern "C"
void
    casadi__LinearSolver__solve__3(std::string ** err_msg, casadi::LinearSolver* obj, int x0);
void
    casadi__LinearSolver__solve__3(std::string ** err_msg, casadi::LinearSolver* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        obj->solve(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "LpSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "LpSolver")
extern "C"
void delete_casadi__LpSolver(casadi::LpSolver* obj);
void delete_casadi__LpSolver(casadi::LpSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::LpSolver"
// cppName: "casadi::LpSolver"
// cWrapperName: "casadi__LpSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "LpSolver")
// cWrapperRetType: "casadi::LpSolver*"
// proto: "casadi::LpSolver*\n    casadi__LpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// call: "casadi::LpSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::LpSolver*
    casadi__LpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
casadi::LpSolver*
    casadi__LpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);

        return new casadi::LpSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::LpSolver"
// cppName: "casadi::LpSolver"
// cWrapperName: "casadi__LpSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "LpSolver")
// cWrapperRetType: "casadi::LpSolver*"
// proto: "casadi::LpSolver*\n    casadi__LpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::LpSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::LpSolver*
    casadi__LpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::LpSolver*
    casadi__LpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::LpSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::LpSolver"
// cppName: "casadi::LpSolver"
// cWrapperName: "casadi__LpSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "LpSolver")
// cWrapperRetType: "casadi::LpSolver*"
// proto: "casadi::LpSolver*\n    casadi__LpSolver__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::LpSolver()"
// params: []
extern "C"
casadi::LpSolver*
    casadi__LpSolver__CONSTRUCTOR__2(std::string ** err_msg);
casadi::LpSolver*
    casadi__LpSolver__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::LpSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::LpSolver"
// cppName: "casadi::LpSolver::doc"
// cWrapperName: "casadi__LpSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__LpSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::LpSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__LpSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__LpSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::LpSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::LpSolver"
// cppName: "casadi::LpSolver::hasPlugin"
// cWrapperName: "casadi__LpSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__LpSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::LpSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__LpSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__LpSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::LpSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::LpSolver"
// cppName: "casadi::LpSolver::loadPlugin"
// cWrapperName: "casadi__LpSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__LpSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::LpSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__LpSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__LpSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::LpSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "LrDleSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "LrDleSolver")
extern "C"
void delete_casadi__LrDleSolver(casadi::LrDleSolver* obj);
void delete_casadi__LrDleSolver(casadi::LrDleSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::LrDleSolver"
// cppName: "casadi::LrDleSolver"
// cWrapperName: "casadi__LrDleSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "LrDleSolver")
// cWrapperRetType: "casadi::LrDleSolver*"
// proto: "casadi::LrDleSolver*\n    casadi__LrDleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// call: "casadi::LrDleSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::LrDleSolver*
    casadi__LrDleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
casadi::LrDleSolver*
    casadi__LrDleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);

        return new casadi::LrDleSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::LrDleSolver"
// cppName: "casadi::LrDleSolver"
// cWrapperName: "casadi__LrDleSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "LrDleSolver")
// cWrapperRetType: "casadi::LrDleSolver*"
// proto: "casadi::LrDleSolver*\n    casadi__LrDleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::LrDleSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::LrDleSolver*
    casadi__LrDleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::LrDleSolver*
    casadi__LrDleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::LrDleSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::LrDleSolver"
// cppName: "casadi::LrDleSolver"
// cWrapperName: "casadi__LrDleSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "LrDleSolver")
// cWrapperRetType: "casadi::LrDleSolver*"
// proto: "casadi::LrDleSolver*\n    casadi__LrDleSolver__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::LrDleSolver()"
// params: []
extern "C"
casadi::LrDleSolver*
    casadi__LrDleSolver__CONSTRUCTOR__2(std::string ** err_msg);
casadi::LrDleSolver*
    casadi__LrDleSolver__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::LrDleSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "clone" ===============
// class: "casadi::LrDleSolver"
// cppName: "casadi::LrDleSolver::clone"
// cWrapperName: "casadi__LrDleSolver__clone"
// protoArgs: "(std::string ** err_msg, casadi::LrDleSolver* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "LrDleSolver")
// cWrapperRetType: "casadi::LrDleSolver*"
// proto: "casadi::LrDleSolver*\n    casadi__LrDleSolver__clone(std::string ** err_msg, casadi::LrDleSolver* obj)"
// call: "obj->clone()"
// params: []
extern "C"
casadi::LrDleSolver*
    casadi__LrDleSolver__clone(std::string ** err_msg, casadi::LrDleSolver* obj);
casadi::LrDleSolver*
    casadi__LrDleSolver__clone(std::string ** err_msg, casadi::LrDleSolver* obj){
    try {

        casadi::LrDleSolver ret = obj->clone();
        return WrapReturn< casadi::LrDleSolver*, casadi::LrDleSolver >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::LrDleSolver"
// cppName: "casadi::LrDleSolver::doc"
// cWrapperName: "casadi__LrDleSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__LrDleSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::LrDleSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__LrDleSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__LrDleSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::LrDleSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getSparsity" ===============
// class: "casadi::LrDleSolver"
// cppName: "casadi::LrDleSolver::getSparsity"
// cWrapperName: "casadi__LrDleSolver__getSparsity__0"
// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::Sparsity* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__LrDleSolver__getSparsity__0(std::string ** err_msg, std::map< std::string, casadi::Sparsity* >* x0)"
// call: "casadi::LrDleSolver::getSparsity(x0_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::Sparsity*
    casadi__LrDleSolver__getSparsity__0(std::string ** err_msg, std::map< std::string, casadi::Sparsity* >* x0);
casadi::Sparsity*
    casadi__LrDleSolver__getSparsity__0(std::string ** err_msg, std::map< std::string, casadi::Sparsity* >* x0){
    try {
        std::map< std::string, casadi::Sparsity > x0_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x0);

        casadi::Sparsity ret = casadi::LrDleSolver::getSparsity(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getSparsity" ===============
// class: "casadi::LrDleSolver"
// cppName: "casadi::LrDleSolver::getSparsity"
// cWrapperName: "casadi__LrDleSolver__getSparsity__1"
// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::Sparsity* >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__LrDleSolver__getSparsity__1(std::string ** err_msg, std::map< std::string, casadi::Sparsity* >* x0, std::vector< int >* x1)"
// call: "casadi::LrDleSolver::getSparsity(x0_, x1_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdVec CInt))]
extern "C"
casadi::Sparsity*
    casadi__LrDleSolver__getSparsity__1(std::string ** err_msg, std::map< std::string, casadi::Sparsity* >* x0, std::vector< int >* x1);
casadi::Sparsity*
    casadi__LrDleSolver__getSparsity__1(std::string ** err_msg, std::map< std::string, casadi::Sparsity* >* x0, std::vector< int >* x1){
    try {
        std::map< std::string, casadi::Sparsity > x0_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        casadi::Sparsity ret = casadi::LrDleSolver::getSparsity(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::LrDleSolver"
// cppName: "casadi::LrDleSolver::hasPlugin"
// cWrapperName: "casadi__LrDleSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__LrDleSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::LrDleSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__LrDleSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__LrDleSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::LrDleSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::LrDleSolver"
// cppName: "casadi::LrDleSolver::loadPlugin"
// cWrapperName: "casadi__LrDleSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__LrDleSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::LrDleSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__LrDleSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__LrDleSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::LrDleSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printStats" ===============
// class: "casadi::LrDleSolver"
// cppName: "casadi::LrDleSolver::printStats"
// cWrapperName: "casadi__LrDleSolver__printStats"
// protoArgs: "(std::string ** err_msg, casadi::LrDleSolver* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__LrDleSolver__printStats(std::string ** err_msg, casadi::LrDleSolver* obj)"
// call: "obj->printStats()"
// params: []
extern "C"
void
    casadi__LrDleSolver__printStats(std::string ** err_msg, casadi::LrDleSolver* obj);
void
    casadi__LrDleSolver__printStats(std::string ** err_msg, casadi::LrDleSolver* obj){
    try {

        obj->printStats();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "LrDpleSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "LrDpleSolver")
extern "C"
void delete_casadi__LrDpleSolver(casadi::LrDpleSolver* obj);
void delete_casadi__LrDpleSolver(casadi::LrDpleSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::LrDpleSolver"
// cppName: "casadi::LrDpleSolver"
// cWrapperName: "casadi__LrDpleSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "LrDpleSolver")
// cWrapperRetType: "casadi::LrDpleSolver*"
// proto: "casadi::LrDpleSolver*\n    casadi__LrDpleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2)"
// call: "casadi::LrDpleSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))))]
extern "C"
casadi::LrDpleSolver*
    casadi__LrDpleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2);
casadi::LrDpleSolver*
    casadi__LrDpleSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, std::vector< casadi::Sparsity > > x2_ = Marshaling<std::map< std::string, std::vector< casadi::Sparsity > >,std::map< std::string, std::vector< casadi::Sparsity* >* >*>::marshal(x2);

        return new casadi::LrDpleSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::LrDpleSolver"
// cppName: "casadi::LrDpleSolver"
// cWrapperName: "casadi__LrDpleSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "LrDpleSolver")
// cWrapperRetType: "casadi::LrDpleSolver*"
// proto: "casadi::LrDpleSolver*\n    casadi__LrDpleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::LrDpleSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::LrDpleSolver*
    casadi__LrDpleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::LrDpleSolver*
    casadi__LrDpleSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, std::vector< casadi::Sparsity* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, std::vector< casadi::Sparsity > > x2_ = Marshaling<std::map< std::string, std::vector< casadi::Sparsity > >,std::map< std::string, std::vector< casadi::Sparsity* >* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::LrDpleSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::LrDpleSolver"
// cppName: "casadi::LrDpleSolver"
// cWrapperName: "casadi__LrDpleSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "LrDpleSolver")
// cWrapperRetType: "casadi::LrDpleSolver*"
// proto: "casadi::LrDpleSolver*\n    casadi__LrDpleSolver__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::LrDpleSolver()"
// params: []
extern "C"
casadi::LrDpleSolver*
    casadi__LrDpleSolver__CONSTRUCTOR__2(std::string ** err_msg);
casadi::LrDpleSolver*
    casadi__LrDpleSolver__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::LrDpleSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "clone" ===============
// class: "casadi::LrDpleSolver"
// cppName: "casadi::LrDpleSolver::clone"
// cWrapperName: "casadi__LrDpleSolver__clone"
// protoArgs: "(std::string ** err_msg, casadi::LrDpleSolver* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "LrDpleSolver")
// cWrapperRetType: "casadi::LrDpleSolver*"
// proto: "casadi::LrDpleSolver*\n    casadi__LrDpleSolver__clone(std::string ** err_msg, casadi::LrDpleSolver* obj)"
// call: "obj->clone()"
// params: []
extern "C"
casadi::LrDpleSolver*
    casadi__LrDpleSolver__clone(std::string ** err_msg, casadi::LrDpleSolver* obj);
casadi::LrDpleSolver*
    casadi__LrDpleSolver__clone(std::string ** err_msg, casadi::LrDpleSolver* obj){
    try {

        casadi::LrDpleSolver ret = obj->clone();
        return WrapReturn< casadi::LrDpleSolver*, casadi::LrDpleSolver >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::LrDpleSolver"
// cppName: "casadi::LrDpleSolver::doc"
// cWrapperName: "casadi__LrDpleSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__LrDpleSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::LrDpleSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__LrDpleSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__LrDpleSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::LrDpleSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::LrDpleSolver"
// cppName: "casadi::LrDpleSolver::hasPlugin"
// cWrapperName: "casadi__LrDpleSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__LrDpleSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::LrDpleSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__LrDpleSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__LrDpleSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::LrDpleSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::LrDpleSolver"
// cppName: "casadi::LrDpleSolver::loadPlugin"
// cWrapperName: "casadi__LrDpleSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__LrDpleSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::LrDpleSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__LrDpleSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__LrDpleSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::LrDpleSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printStats" ===============
// class: "casadi::LrDpleSolver"
// cppName: "casadi::LrDpleSolver::printStats"
// cWrapperName: "casadi__LrDpleSolver__printStats"
// protoArgs: "(std::string ** err_msg, casadi::LrDpleSolver* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__LrDpleSolver__printStats(std::string ** err_msg, casadi::LrDpleSolver* obj)"
// call: "obj->printStats()"
// params: []
extern "C"
void
    casadi__LrDpleSolver__printStats(std::string ** err_msg, casadi::LrDpleSolver* obj);
void
    casadi__LrDpleSolver__printStats(std::string ** err_msg, casadi::LrDpleSolver* obj){
    try {

        obj->printStats();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "MX")===============
// classType: UserType (Namespace ["casadi"]) (Name "MX")
extern "C"
void delete_casadi__MX(casadi::MX* obj);
void delete_casadi__MX(casadi::MX* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DMatrix* x0)"
// call: "casadi::MX(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DMatrix* x0);
casadi::MX*
    casadi__MX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DMatrix* x0){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);

        return new casadi::MX(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0)"
// call: "casadi::MX(x0_)"
// params: [Ref (Const (StdVec CDouble))]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0);
casadi::MX*
    casadi__MX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        return new casadi::MX(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__2(std::string ** err_msg, casadi::MX* x0)"
// call: "casadi::MX(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__2(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi__MX__CONSTRUCTOR__2(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        return new casadi::MX(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, double x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__3(std::string ** err_msg, double x0)"
// call: "casadi::MX(x0_)"
// params: [CDouble]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__3(std::string ** err_msg, double x0);
casadi::MX*
    casadi__MX__CONSTRUCTOR__3(std::string ** err_msg, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        return new casadi::MX(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1)"
// call: "casadi::MX(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1);
casadi::MX*
    casadi__MX__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        return new casadi::MX(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::MX(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0);
casadi::MX*
    casadi__MX__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        return new casadi::MX(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__6(std::string ** err_msg, int x0, int x1)"
// call: "casadi::MX(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__6(std::string ** err_msg, int x0, int x1);
casadi::MX*
    casadi__MX__CONSTRUCTOR__6(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        return new casadi::MX(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__7(std::string ** err_msg)"
// call: "casadi::MX()"
// params: []
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__7(std::string ** err_msg);
casadi::MX*
    casadi__MX__CONSTRUCTOR__7(std::string ** err_msg){
    try {

        return new casadi::MX();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "T" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::T"
// cWrapperName: "casadi__MX__T"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__T(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->T()"
// params: []
extern "C"
casadi::MX*
    casadi__MX__T(std::string ** err_msg, casadi::MX* obj);
casadi::MX*
    casadi__MX__T(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::MX ret = obj->T();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "__nonzero__" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::__nonzero__"
// cWrapperName: "casadi__MX____nonzero__"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX____nonzero__(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->__nonzero__()"
// params: []
extern "C"
int
    casadi__MX____nonzero__(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX____nonzero__(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->__nonzero__();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "append" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::append"
// cWrapperName: "casadi__MX__append"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__append(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// call: "obj->append(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
void
    casadi__MX__append(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
void
    casadi__MX__append(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        obj->append(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "appendColumns" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::appendColumns"
// cWrapperName: "casadi__MX__appendColumns"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__appendColumns(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// call: "obj->appendColumns(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
void
    casadi__MX__appendColumns(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
void
    casadi__MX__appendColumns(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        obj->appendColumns(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "attachAssert" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::attachAssert"
// cWrapperName: "casadi__MX__attachAssert__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__attachAssert__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// call: "obj->attachAssert(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
casadi::MX*
    casadi__MX__attachAssert__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
casadi::MX*
    casadi__MX__attachAssert__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = obj->attachAssert(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "attachAssert" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::attachAssert"
// cWrapperName: "casadi__MX__attachAssert__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__attachAssert__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1)"
// call: "obj->attachAssert(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MX__attachAssert__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1);
casadi::MX*
    casadi__MX__attachAssert__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::MX ret = obj->attachAssert(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "binary" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::binary"
// cWrapperName: "casadi__MX__binary"
// protoArgs: "(std::string ** err_msg, int x0, casadi::MX* x1, casadi::MX* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__binary(std::string ** err_msg, int x0, casadi::MX* x1, casadi::MX* x2)"
// call: "casadi::MX::binary(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
casadi::MX*
    casadi__MX__binary(std::string ** err_msg, int x0, casadi::MX* x1, casadi::MX* x2);
casadi::MX*
    casadi__MX__binary(std::string ** err_msg, int x0, casadi::MX* x1, casadi::MX* x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);

        casadi::MX ret = casadi::MX::binary(x0_, x1_, x2_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "colind" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::colind"
// cWrapperName: "casadi__MX__colind"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__colind(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "obj->colind(x0_)"
// params: [CInt]
extern "C"
int
    casadi__MX__colind(std::string ** err_msg, casadi::MX* obj, int x0);
int
    casadi__MX__colind(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->colind(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dimString" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::dimString"
// cWrapperName: "casadi__MX__dimString"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__MX__dimString(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->dimString()"
// params: []
extern "C"
std::string*
    casadi__MX__dimString(std::string ** err_msg, casadi::MX* obj);
std::string*
    casadi__MX__dimString(std::string ** err_msg, casadi::MX* obj){
    try {

        std::string ret = obj->dimString();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::enlarge"
// cWrapperName: "casadi__MX__enlarge__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__enlarge__0(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// call: "obj->enlarge(x0_, x1_, x2_, x3_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__MX__enlarge__0(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
void
    casadi__MX__enlarge__0(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);

        obj->enlarge(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::enlarge"
// cWrapperName: "casadi__MX__enlarge__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__enlarge__1(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
// call: "obj->enlarge(x0_, x1_, x2_, x3_, x4_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__MX__enlarge__1(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4);
void
    casadi__MX__enlarge__1(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::erase"
// cWrapperName: "casadi__MX__erase__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__erase__0(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0)"
// call: "obj->erase(x0_)"
// params: [Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__MX__erase__0(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0);
void
    casadi__MX__erase__0(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        obj->erase(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::erase"
// cWrapperName: "casadi__MX__erase__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__erase__1(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, int x1)"
// call: "obj->erase(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__MX__erase__1(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, int x1);
void
    casadi__MX__erase__1(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, int x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->erase(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::erase"
// cWrapperName: "casadi__MX__erase__2"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__erase__2(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1)"
// call: "obj->erase(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__MX__erase__2(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1);
void
    casadi__MX__erase__2(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        obj->erase(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::erase"
// cWrapperName: "casadi__MX__erase__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__erase__3(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
// call: "obj->erase(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__MX__erase__3(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2);
void
    casadi__MX__erase__3(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->erase(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "eye" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::eye"
// cWrapperName: "casadi__MX__eye"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__eye(std::string ** err_msg, int x0)"
// call: "casadi::MX::eye(x0_)"
// params: [CInt]
extern "C"
casadi::MX*
    casadi__MX__eye(std::string ** err_msg, int x0);
casadi::MX*
    casadi__MX__eye(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX ret = casadi::MX::eye(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "find" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::find"
// cWrapperName: "casadi__MX__find__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__MX__find__0(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->find()"
// params: []
extern "C"
std::vector< int >*
    casadi__MX__find__0(std::string ** err_msg, casadi::MX* obj);
std::vector< int >*
    casadi__MX__find__0(std::string ** err_msg, casadi::MX* obj){
    try {

        std::vector< int > ret = obj->find();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "find" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::find"
// cWrapperName: "casadi__MX__find__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__MX__find__1(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "obj->find(x0_)"
// params: [CBool]
extern "C"
std::vector< int >*
    casadi__MX__find__1(std::string ** err_msg, casadi::MX* obj, int x0);
std::vector< int >*
    casadi__MX__find__1(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::vector< int > ret = obj->find(x0_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "MX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__MX__get__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3);
void
    casadi__MX__get__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "MX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__MX__get__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3);
void
    casadi__MX__get__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__2"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "MX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__MX__get__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3);
void
    casadi__MX__get__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "MX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__MX__get__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__MX__get__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2)"
// call: "obj->get(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "MX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
void
    casadi__MX__get__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2);
void
    casadi__MX__get__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__5"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->get(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "MX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__MX__get__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2);
void
    casadi__MX__get__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
// call: "obj->get(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "MX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__MX__get__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2);
void
    casadi__MX__get__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getColind" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getColind"
// cWrapperName: "casadi__MX__getColind"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__MX__getColind(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getColind()"
// params: []
extern "C"
std::vector< int >*
    casadi__MX__getColind(std::string ** err_msg, casadi::MX* obj);
std::vector< int >*
    casadi__MX__getColind(std::string ** err_msg, casadi::MX* obj){
    try {

        std::vector< int > ret = obj->getColind();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDep" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getDep"
// cWrapperName: "casadi__MX__getDep__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__getDep__0(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getDep()"
// params: []
extern "C"
casadi::MX*
    casadi__MX__getDep__0(std::string ** err_msg, casadi::MX* obj);
casadi::MX*
    casadi__MX__getDep__0(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::MX ret = obj->getDep();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDep" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getDep"
// cWrapperName: "casadi__MX__getDep__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__getDep__1(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "obj->getDep(x0_)"
// params: [CInt]
extern "C"
casadi::MX*
    casadi__MX__getDep__1(std::string ** err_msg, casadi::MX* obj, int x0);
casadi::MX*
    casadi__MX__getDep__1(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX ret = obj->getDep(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getEqualityCheckingDepth" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getEqualityCheckingDepth"
// cWrapperName: "casadi__MX__getEqualityCheckingDepth"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__getEqualityCheckingDepth(std::string ** err_msg)"
// call: "casadi::MX::getEqualityCheckingDepth()"
// params: []
extern "C"
int
    casadi__MX__getEqualityCheckingDepth(std::string ** err_msg);
int
    casadi__MX__getEqualityCheckingDepth(std::string ** err_msg){
    try {

        int ret = casadi::MX::getEqualityCheckingDepth();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getEvaluationOutput" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getEvaluationOutput"
// cWrapperName: "casadi__MX__getEvaluationOutput"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__getEvaluationOutput(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getEvaluationOutput()"
// params: []
extern "C"
int
    casadi__MX__getEvaluationOutput(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__getEvaluationOutput(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->getEvaluationOutput();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getFunction" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getFunction"
// cWrapperName: "casadi__MX__getFunction__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__MX__getFunction__0(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getFunction()"
// params: []
extern "C"
casadi::Function*
    casadi__MX__getFunction__0(std::string ** err_msg, casadi::MX* obj);
casadi::Function*
    casadi__MX__getFunction__0(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::Function ret = obj->getFunction();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getFunction" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getFunction"
// cWrapperName: "casadi__MX__getFunction__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__MX__getFunction__1(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "obj->getFunction(x0_)"
// params: [CInt]
extern "C"
casadi::Function*
    casadi__MX__getFunction__1(std::string ** err_msg, casadi::MX* obj, int x0);
casadi::Function*
    casadi__MX__getFunction__1(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Function ret = obj->getFunction(x0_);
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getMatrixValue" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getMatrixValue"
// cWrapperName: "casadi__MX__getMatrixValue"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__MX__getMatrixValue(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getMatrixValue()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__MX__getMatrixValue(std::string ** err_msg, casadi::MX* obj);
casadi::DMatrix*
    casadi__MX__getMatrixValue(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::DMatrix ret = obj->getMatrixValue();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getNZ"
// cWrapperName: "casadi__MX__getNZ__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__getNZ__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->getNZ(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "MX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__MX__getNZ__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2);
void
    casadi__MX__getNZ__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->getNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getNZ"
// cWrapperName: "casadi__MX__getNZ__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__getNZ__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
// call: "obj->getNZ(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "MX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__MX__getNZ__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2);
void
    casadi__MX__getNZ__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->getNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getName" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getName"
// cWrapperName: "casadi__MX__getName"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__MX__getName(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getName()"
// params: []
extern "C"
std::string*
    casadi__MX__getName(std::string ** err_msg, casadi::MX* obj);
std::string*
    casadi__MX__getName(std::string ** err_msg, casadi::MX* obj){
    try {

        std::string ret = obj->getName();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getNdeps" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getNdeps"
// cWrapperName: "casadi__MX__getNdeps"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__getNdeps(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getNdeps()"
// params: []
extern "C"
int
    casadi__MX__getNdeps(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__getNdeps(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->getNdeps();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOp" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getOp"
// cWrapperName: "casadi__MX__getOp"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__getOp(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getOp()"
// params: []
extern "C"
int
    casadi__MX__getOp(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__getOp(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->getOp();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOutput" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getOutput"
// cWrapperName: "casadi__MX__getOutput__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__getOutput__0(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getOutput()"
// params: []
extern "C"
casadi::MX*
    casadi__MX__getOutput__0(std::string ** err_msg, casadi::MX* obj);
casadi::MX*
    casadi__MX__getOutput__0(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::MX ret = obj->getOutput();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOutput" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getOutput"
// cWrapperName: "casadi__MX__getOutput__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__getOutput__1(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "obj->getOutput(x0_)"
// params: [CInt]
extern "C"
casadi::MX*
    casadi__MX__getOutput__1(std::string ** err_msg, casadi::MX* obj, int x0);
casadi::MX*
    casadi__MX__getOutput__1(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX ret = obj->getOutput(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getPrimitives" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getPrimitives"
// cWrapperName: "casadi__MX__getPrimitives"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__MX__getPrimitives(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getPrimitives()"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__MX__getPrimitives(std::string ** err_msg, casadi::MX* obj);
std::vector< casadi::MX* >*
    casadi__MX__getPrimitives(std::string ** err_msg, casadi::MX* obj){
    try {

        std::vector< casadi::MX > ret = obj->getPrimitives();
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getRow" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getRow"
// cWrapperName: "casadi__MX__getRow"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__MX__getRow(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getRow()"
// params: []
extern "C"
std::vector< int >*
    casadi__MX__getRow(std::string ** err_msg, casadi::MX* obj);
std::vector< int >*
    casadi__MX__getRow(std::string ** err_msg, casadi::MX* obj){
    try {

        std::vector< int > ret = obj->getRow();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getSparsity" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getSparsity"
// cWrapperName: "casadi__MX__getSparsity"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__MX__getSparsity(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getSparsity()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__MX__getSparsity(std::string ** err_msg, casadi::MX* obj);
casadi::Sparsity*
    casadi__MX__getSparsity(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::Sparsity ret = obj->getSparsity();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getTemp" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getTemp"
// cWrapperName: "casadi__MX__getTemp"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__getTemp(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getTemp()"
// params: []
extern "C"
int
    casadi__MX__getTemp(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__getTemp(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->getTemp();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getValue" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::getValue"
// cWrapperName: "casadi__MX__getValue"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__MX__getValue(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->getValue()"
// params: []
extern "C"
double
    casadi__MX__getValue(std::string ** err_msg, casadi::MX* obj);
double
    casadi__MX__getValue(std::string ** err_msg, casadi::MX* obj){
    try {

        double ret = obj->getValue();
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hasDuplicates" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::hasDuplicates"
// cWrapperName: "casadi__MX__hasDuplicates"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__hasDuplicates(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->hasDuplicates()"
// params: []
extern "C"
int
    casadi__MX__hasDuplicates(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__hasDuplicates(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->hasDuplicates();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::inf"
// cWrapperName: "casadi__MX__inf__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__inf__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::MX::inf(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::MX*
    casadi__MX__inf__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::MX*
    casadi__MX__inf__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::MX ret = casadi::MX::inf(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::inf"
// cWrapperName: "casadi__MX__inf__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__inf__1(std::string ** err_msg)"
// call: "casadi::MX::inf()"
// params: []
extern "C"
casadi::MX*
    casadi__MX__inf__1(std::string ** err_msg);
casadi::MX*
    casadi__MX__inf__1(std::string ** err_msg){
    try {

        casadi::MX ret = casadi::MX::inf();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::inf"
// cWrapperName: "casadi__MX__inf__2"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__inf__2(std::string ** err_msg, int x0)"
// call: "casadi::MX::inf(x0_)"
// params: [CInt]
extern "C"
casadi::MX*
    casadi__MX__inf__2(std::string ** err_msg, int x0);
casadi::MX*
    casadi__MX__inf__2(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX ret = casadi::MX::inf(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::inf"
// cWrapperName: "casadi__MX__inf__3"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__inf__3(std::string ** err_msg, int x0, int x1)"
// call: "casadi::MX::inf(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::MX*
    casadi__MX__inf__3(std::string ** err_msg, int x0, int x1);
casadi::MX*
    casadi__MX__inf__3(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = casadi::MX::inf(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::inf"
// cWrapperName: "casadi__MX__inf__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::MX::inf(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::MX*
    casadi__MX__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::MX*
    casadi__MX__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::MX ret = casadi::MX::inf(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isBinary" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isBinary"
// cWrapperName: "casadi__MX__isBinary"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isBinary(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isBinary()"
// params: []
extern "C"
int
    casadi__MX__isBinary(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isBinary(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isBinary();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isCommutative" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isCommutative"
// cWrapperName: "casadi__MX__isCommutative"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isCommutative(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isCommutative()"
// params: []
extern "C"
int
    casadi__MX__isCommutative(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isCommutative(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isCommutative();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isConstant" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isConstant"
// cWrapperName: "casadi__MX__isConstant"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isConstant(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isConstant()"
// params: []
extern "C"
int
    casadi__MX__isConstant(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isConstant(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isConstant();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isEvaluation" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isEvaluation"
// cWrapperName: "casadi__MX__isEvaluation"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isEvaluation(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isEvaluation()"
// params: []
extern "C"
int
    casadi__MX__isEvaluation(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isEvaluation(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isEvaluation();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isEvaluationOutput" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isEvaluationOutput"
// cWrapperName: "casadi__MX__isEvaluationOutput"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isEvaluationOutput(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isEvaluationOutput()"
// params: []
extern "C"
int
    casadi__MX__isEvaluationOutput(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isEvaluationOutput(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isEvaluationOutput();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isIdentity" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isIdentity"
// cWrapperName: "casadi__MX__isIdentity"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isIdentity(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isIdentity()"
// params: []
extern "C"
int
    casadi__MX__isIdentity(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isIdentity(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isIdentity();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isMinusOne" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isMinusOne"
// cWrapperName: "casadi__MX__isMinusOne"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isMinusOne(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isMinusOne()"
// params: []
extern "C"
int
    casadi__MX__isMinusOne(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isMinusOne(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isMinusOne();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isMultiplication" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isMultiplication"
// cWrapperName: "casadi__MX__isMultiplication"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isMultiplication(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isMultiplication()"
// params: []
extern "C"
int
    casadi__MX__isMultiplication(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isMultiplication(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isMultiplication();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isNorm" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isNorm"
// cWrapperName: "casadi__MX__isNorm"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isNorm(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isNorm()"
// params: []
extern "C"
int
    casadi__MX__isNorm(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isNorm(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isNorm();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isOne" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isOne"
// cWrapperName: "casadi__MX__isOne"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isOne(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isOne()"
// params: []
extern "C"
int
    casadi__MX__isOne(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isOne(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isOne();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isOperation" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isOperation"
// cWrapperName: "casadi__MX__isOperation"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isOperation(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "obj->isOperation(x0_)"
// params: [CInt]
extern "C"
int
    casadi__MX__isOperation(std::string ** err_msg, casadi::MX* obj, int x0);
int
    casadi__MX__isOperation(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        bool ret = obj->isOperation(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isRegular" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isRegular"
// cWrapperName: "casadi__MX__isRegular"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isRegular(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isRegular()"
// params: []
extern "C"
int
    casadi__MX__isRegular(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isRegular(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isRegular();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isSymbolic" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isSymbolic"
// cWrapperName: "casadi__MX__isSymbolic"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isSymbolic(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isSymbolic()"
// params: []
extern "C"
int
    casadi__MX__isSymbolic(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isSymbolic(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isSymbolic();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isTranspose" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isTranspose"
// cWrapperName: "casadi__MX__isTranspose"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isTranspose(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isTranspose()"
// params: []
extern "C"
int
    casadi__MX__isTranspose(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isTranspose(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isTranspose();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isUnary" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isUnary"
// cWrapperName: "casadi__MX__isUnary"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isUnary(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isUnary()"
// params: []
extern "C"
int
    casadi__MX__isUnary(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isUnary(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isUnary();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isValidInput" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isValidInput"
// cWrapperName: "casadi__MX__isValidInput"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isValidInput(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isValidInput()"
// params: []
extern "C"
int
    casadi__MX__isValidInput(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isValidInput(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isValidInput();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isZero" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isZero"
// cWrapperName: "casadi__MX__isZero"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isZero(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isZero()"
// params: []
extern "C"
int
    casadi__MX__isZero(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isZero(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isZero();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "iscolumn" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::iscolumn"
// cWrapperName: "casadi__MX__iscolumn"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__iscolumn(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->iscolumn()"
// params: []
extern "C"
int
    casadi__MX__iscolumn(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__iscolumn(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->iscolumn();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isdense" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isdense"
// cWrapperName: "casadi__MX__isdense"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isdense(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isdense()"
// params: []
extern "C"
int
    casadi__MX__isdense(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isdense(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isdense();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isempty" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isempty"
// cWrapperName: "casadi__MX__isempty__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isempty__0(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isempty()"
// params: []
extern "C"
int
    casadi__MX__isempty__0(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isempty__0(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isempty();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isempty" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isempty"
// cWrapperName: "casadi__MX__isempty__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isempty__1(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "obj->isempty(x0_)"
// params: [CBool]
extern "C"
int
    casadi__MX__isempty__1(std::string ** err_msg, casadi::MX* obj, int x0);
int
    casadi__MX__isempty__1(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->isempty(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isrow" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isrow"
// cWrapperName: "casadi__MX__isrow"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isrow(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isrow()"
// params: []
extern "C"
int
    casadi__MX__isrow(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isrow(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isrow();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isscalar" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isscalar"
// cWrapperName: "casadi__MX__isscalar__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isscalar__0(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isscalar()"
// params: []
extern "C"
int
    casadi__MX__isscalar__0(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isscalar__0(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isscalar();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isscalar" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isscalar"
// cWrapperName: "casadi__MX__isscalar__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isscalar__1(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "obj->isscalar(x0_)"
// params: [CBool]
extern "C"
int
    casadi__MX__isscalar__1(std::string ** err_msg, casadi::MX* obj, int x0);
int
    casadi__MX__isscalar__1(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->isscalar(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "issquare" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::issquare"
// cWrapperName: "casadi__MX__issquare"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__issquare(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->issquare()"
// params: []
extern "C"
int
    casadi__MX__issquare(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__issquare(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->issquare();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "istril" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::istril"
// cWrapperName: "casadi__MX__istril"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__istril(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->istril()"
// params: []
extern "C"
int
    casadi__MX__istril(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__istril(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->istril();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "istriu" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::istriu"
// cWrapperName: "casadi__MX__istriu"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__istriu(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->istriu()"
// params: []
extern "C"
int
    casadi__MX__istriu(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__istriu(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->istriu();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isvector" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::isvector"
// cWrapperName: "casadi__MX__isvector"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__isvector(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->isvector()"
// params: []
extern "C"
int
    casadi__MX__isvector(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__isvector(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->isvector();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "joinPrimitives" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::joinPrimitives"
// cWrapperName: "casadi__MX__joinPrimitives"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__joinPrimitives(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0)"
// call: "obj->joinPrimitives(x0_)"
// params: [Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
casadi::MX*
    casadi__MX__joinPrimitives(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0);
casadi::MX*
    casadi__MX__joinPrimitives(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        casadi::MX ret = obj->joinPrimitives(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "lift" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::lift"
// cWrapperName: "casadi__MX__lift"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__lift(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// call: "obj->lift(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
void
    casadi__MX__lift(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
void
    casadi__MX__lift(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        obj->lift(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "makeDense" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::makeDense"
// cWrapperName: "casadi__MX__makeDense__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__makeDense__0(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->makeDense()"
// params: []
extern "C"
void
    casadi__MX__makeDense__0(std::string ** err_msg, casadi::MX* obj);
void
    casadi__MX__makeDense__0(std::string ** err_msg, casadi::MX* obj){
    try {

        obj->makeDense();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "makeDense" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::makeDense"
// cWrapperName: "casadi__MX__makeDense__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__makeDense__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// call: "obj->makeDense(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
void
    casadi__MX__makeDense__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
void
    casadi__MX__makeDense__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        obj->makeDense(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "mapping" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::mapping"
// cWrapperName: "casadi__MX__mapping"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IMatrix")
// cWrapperRetType: "casadi::IMatrix*"
// proto: "casadi::IMatrix*\n    casadi__MX__mapping(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->mapping()"
// params: []
extern "C"
casadi::IMatrix*
    casadi__MX__mapping(std::string ** err_msg, casadi::MX* obj);
casadi::IMatrix*
    casadi__MX__mapping(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::IMatrix ret = obj->mapping();
        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "monitor" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::monitor"
// cWrapperName: "casadi__MX__monitor"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__monitor(std::string ** err_msg, casadi::MX* obj, std::string* x0)"
// call: "obj->monitor(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MX__monitor(std::string ** err_msg, casadi::MX* obj, std::string* x0);
casadi::MX*
    casadi__MX__monitor(std::string ** err_msg, casadi::MX* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->monitor(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nOut" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nOut"
// cWrapperName: "casadi__MX__nOut"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__nOut(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->nOut()"
// params: []
extern "C"
int
    casadi__MX__nOut(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__nOut(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->nOut();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nan"
// cWrapperName: "casadi__MX__nan__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__nan__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::MX::nan(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::MX*
    casadi__MX__nan__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::MX*
    casadi__MX__nan__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::MX ret = casadi::MX::nan(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nan"
// cWrapperName: "casadi__MX__nan__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__nan__1(std::string ** err_msg)"
// call: "casadi::MX::nan()"
// params: []
extern "C"
casadi::MX*
    casadi__MX__nan__1(std::string ** err_msg);
casadi::MX*
    casadi__MX__nan__1(std::string ** err_msg){
    try {

        casadi::MX ret = casadi::MX::nan();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nan"
// cWrapperName: "casadi__MX__nan__2"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__nan__2(std::string ** err_msg, int x0)"
// call: "casadi::MX::nan(x0_)"
// params: [CInt]
extern "C"
casadi::MX*
    casadi__MX__nan__2(std::string ** err_msg, int x0);
casadi::MX*
    casadi__MX__nan__2(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX ret = casadi::MX::nan(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nan"
// cWrapperName: "casadi__MX__nan__3"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__nan__3(std::string ** err_msg, int x0, int x1)"
// call: "casadi::MX::nan(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::MX*
    casadi__MX__nan__3(std::string ** err_msg, int x0, int x1);
casadi::MX*
    casadi__MX__nan__3(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = casadi::MX::nan(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nan"
// cWrapperName: "casadi__MX__nan__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::MX::nan(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::MX*
    casadi__MX__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::MX*
    casadi__MX__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::MX ret = casadi::MX::nan(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nnz"
// cWrapperName: "casadi__MX__nnz"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__nnz(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->nnz()"
// params: []
extern "C"
int
    casadi__MX__nnz(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__nnz(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->nnz();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numFunctions" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::numFunctions"
// cWrapperName: "casadi__MX__numFunctions"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__numFunctions(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->numFunctions()"
// params: []
extern "C"
int
    casadi__MX__numFunctions(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__numFunctions(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->numFunctions();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numPrimitives" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::numPrimitives"
// cWrapperName: "casadi__MX__numPrimitives"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__numPrimitives(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->numPrimitives()"
// params: []
extern "C"
int
    casadi__MX__numPrimitives(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__numPrimitives(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->numPrimitives();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::numel"
// cWrapperName: "casadi__MX__numel__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__numel__0(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "obj->numel(x0_)"
// params: [CInt]
extern "C"
int
    casadi__MX__numel__0(std::string ** err_msg, casadi::MX* obj, int x0);
int
    casadi__MX__numel__0(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->numel(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::numel"
// cWrapperName: "casadi__MX__numel__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__numel__1(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->numel()"
// params: []
extern "C"
int
    casadi__MX__numel__1(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__numel__1(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->numel();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::ones"
// cWrapperName: "casadi__MX__ones__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__ones__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::MX::ones(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::MX*
    casadi__MX__ones__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::MX*
    casadi__MX__ones__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::MX ret = casadi::MX::ones(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::ones"
// cWrapperName: "casadi__MX__ones__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::MX::ones(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::MX*
    casadi__MX__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::MX*
    casadi__MX__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::MX ret = casadi::MX::ones(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::ones"
// cWrapperName: "casadi__MX__ones__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__ones__2(std::string ** err_msg)"
// call: "casadi::MX::ones()"
// params: []
extern "C"
casadi::MX*
    casadi__MX__ones__2(std::string ** err_msg);
casadi::MX*
    casadi__MX__ones__2(std::string ** err_msg){
    try {

        casadi::MX ret = casadi::MX::ones();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::ones"
// cWrapperName: "casadi__MX__ones__3"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__ones__3(std::string ** err_msg, int x0)"
// call: "casadi::MX::ones(x0_)"
// params: [CInt]
extern "C"
casadi::MX*
    casadi__MX__ones__3(std::string ** err_msg, int x0);
casadi::MX*
    casadi__MX__ones__3(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX ret = casadi::MX::ones(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::ones"
// cWrapperName: "casadi__MX__ones__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__ones__4(std::string ** err_msg, int x0, int x1)"
// call: "casadi::MX::ones(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::MX*
    casadi__MX__ones__4(std::string ** err_msg, int x0, int x1);
casadi::MX*
    casadi__MX__ones__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = casadi::MX::ones(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator -" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::operator -"
// cWrapperName: "casadi__MX__operator_minus"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__operator_minus(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->operator -()"
// params: []
extern "C"
casadi::MX*
    casadi__MX__operator_minus(std::string ** err_msg, casadi::MX* obj);
casadi::MX*
    casadi__MX__operator_minus(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::MX ret = obj->operator -();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "printme" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::printme"
// cWrapperName: "casadi__MX__printme"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__printme(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// call: "obj->printme(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
casadi::MX*
    casadi__MX__printme(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
casadi::MX*
    casadi__MX__printme(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = obj->printme(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "resetInput" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::resetInput"
// cWrapperName: "casadi__MX__resetInput"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__resetInput(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->resetInput()"
// params: []
extern "C"
void
    casadi__MX__resetInput(std::string ** err_msg, casadi::MX* obj);
void
    casadi__MX__resetInput(std::string ** err_msg, casadi::MX* obj){
    try {

        obj->resetInput();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "row" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::row"
// cWrapperName: "casadi__MX__row"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__row(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "obj->row(x0_)"
// params: [CInt]
extern "C"
int
    casadi__MX__row(std::string ** err_msg, casadi::MX* obj, int x0);
int
    casadi__MX__row(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->row(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__MX__set__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3);
void
    casadi__MX__set__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__MX__set__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3);
void
    casadi__MX__set__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__2"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__MX__set__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3);
void
    casadi__MX__set__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__MX__set__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__MX__set__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2)"
// call: "obj->set(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
void
    casadi__MX__set__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2);
void
    casadi__MX__set__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__5"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->set(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__MX__set__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2);
void
    casadi__MX__set__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
// call: "obj->set(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__MX__set__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2);
void
    casadi__MX__set__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setEqualityCheckingDepth" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::setEqualityCheckingDepth"
// cWrapperName: "casadi__MX__setEqualityCheckingDepth__0"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__setEqualityCheckingDepth__0(std::string ** err_msg)"
// call: "casadi::MX::setEqualityCheckingDepth()"
// params: []
extern "C"
void
    casadi__MX__setEqualityCheckingDepth__0(std::string ** err_msg);
void
    casadi__MX__setEqualityCheckingDepth__0(std::string ** err_msg){
    try {

        casadi::MX::setEqualityCheckingDepth();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setEqualityCheckingDepth" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::setEqualityCheckingDepth"
// cWrapperName: "casadi__MX__setEqualityCheckingDepth__1"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__setEqualityCheckingDepth__1(std::string ** err_msg, int x0)"
// call: "casadi::MX::setEqualityCheckingDepth(x0_)"
// params: [CInt]
extern "C"
void
    casadi__MX__setEqualityCheckingDepth__1(std::string ** err_msg, int x0);
void
    casadi__MX__setEqualityCheckingDepth__1(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX::setEqualityCheckingDepth(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::setNZ"
// cWrapperName: "casadi__MX__setNZ__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__setNZ__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->setNZ(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__MX__setNZ__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2);
void
    casadi__MX__setNZ__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->setNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::setNZ"
// cWrapperName: "casadi__MX__setNZ__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__setNZ__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
// call: "obj->setNZ(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__MX__setNZ__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2);
void
    casadi__MX__setNZ__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->setNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setTemp" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::setTemp"
// cWrapperName: "casadi__MX__setTemp"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__setTemp(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "obj->setTemp(x0_)"
// params: [CInt]
extern "C"
void
    casadi__MX__setTemp(std::string ** err_msg, casadi::MX* obj, int x0);
void
    casadi__MX__setTemp(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        obj->setTemp(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "shape" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::shape"
// cWrapperName: "casadi__MX__shape__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__shape__0(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "obj->shape(x0_)"
// params: [CInt]
extern "C"
int
    casadi__MX__shape__0(std::string ** err_msg, casadi::MX* obj, int x0);
int
    casadi__MX__shape__0(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->shape(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "shape" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::shape"
// cWrapperName: "casadi__MX__shape__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdPair CInt CInt
// cWrapperRetType: "std::pair< int, int >*"
// proto: "std::pair< int, int >*\n    casadi__MX__shape__1(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->shape()"
// params: []
extern "C"
std::pair< int, int >*
    casadi__MX__shape__1(std::string ** err_msg, casadi::MX* obj);
std::pair< int, int >*
    casadi__MX__shape__1(std::string ** err_msg, casadi::MX* obj){
    try {

        std::pair< int, int > ret = obj->shape();
        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::size"
// cWrapperName: "casadi__MX__size"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__size(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->size()"
// params: []
extern "C"
int
    casadi__MX__size(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__size(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->size();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::size1"
// cWrapperName: "casadi__MX__size1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__size1(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->size1()"
// params: []
extern "C"
int
    casadi__MX__size1(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__size1(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->size1();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::size2"
// cWrapperName: "casadi__MX__size2"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__size2(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->size2()"
// params: []
extern "C"
int
    casadi__MX__size2(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__size2(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->size2();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeD" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sizeD"
// cWrapperName: "casadi__MX__sizeD"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__sizeD(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->sizeD()"
// params: []
extern "C"
int
    casadi__MX__sizeD(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__sizeD(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->sizeD();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeL" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sizeL"
// cWrapperName: "casadi__MX__sizeL"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__sizeL(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->sizeL()"
// params: []
extern "C"
int
    casadi__MX__sizeL(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__sizeL(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->sizeL();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeU" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sizeU"
// cWrapperName: "casadi__MX__sizeU"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__sizeU(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->sizeU()"
// params: []
extern "C"
int
    casadi__MX__sizeU(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__sizeU(std::string ** err_msg, casadi::MX* obj){
    try {

        int ret = obj->sizeU();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sparse"
// cWrapperName: "casadi__MX__sparse__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sparse__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1)"
// call: "casadi::MX::sparse(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
casadi::MX*
    casadi__MX__sparse__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1);
casadi::MX*
    casadi__MX__sparse__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = casadi::MX::sparse(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sparse"
// cWrapperName: "casadi__MX__sparse__1"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sparse__1(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::MX::sparse(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::MX*
    casadi__MX__sparse__1(std::string ** err_msg, std::pair< int, int >* x0);
casadi::MX*
    casadi__MX__sparse__1(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::MX ret = casadi::MX::sparse(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sparse"
// cWrapperName: "casadi__MX__sparse__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sparse__2(std::string ** err_msg)"
// call: "casadi::MX::sparse()"
// params: []
extern "C"
casadi::MX*
    casadi__MX__sparse__2(std::string ** err_msg);
casadi::MX*
    casadi__MX__sparse__2(std::string ** err_msg){
    try {

        casadi::MX ret = casadi::MX::sparse();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sparse"
// cWrapperName: "casadi__MX__sparse__3"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sparse__3(std::string ** err_msg, int x0)"
// call: "casadi::MX::sparse(x0_)"
// params: [CInt]
extern "C"
casadi::MX*
    casadi__MX__sparse__3(std::string ** err_msg, int x0);
casadi::MX*
    casadi__MX__sparse__3(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX ret = casadi::MX::sparse(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sparse"
// cWrapperName: "casadi__MX__sparse__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sparse__4(std::string ** err_msg, int x0, int x1)"
// call: "casadi::MX::sparse(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::MX*
    casadi__MX__sparse__4(std::string ** err_msg, int x0, int x1);
casadi::MX*
    casadi__MX__sparse__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = casadi::MX::sparse(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sparsity"
// cWrapperName: "casadi__MX__sparsity"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__MX__sparsity(std::string ** err_msg, casadi::MX* obj)"
// call: "obj->sparsity()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__MX__sparsity(std::string ** err_msg, casadi::MX* obj);
casadi::Sparsity*
    casadi__MX__sparsity(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::Sparsity ret = obj->sparsity();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "splitPrimitives" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::splitPrimitives"
// cWrapperName: "casadi__MX__splitPrimitives"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__MX__splitPrimitives(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// call: "obj->splitPrimitives(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
std::vector< casadi::MX* >*
    casadi__MX__splitPrimitives(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
std::vector< casadi::MX* >*
    casadi__MX__splitPrimitives(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< casadi::MX > ret = obj->splitPrimitives(x0_);
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi__MX__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
// call: "casadi::MX::sym(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),CInt,CInt,CInt,CInt]
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi__MX__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4);
std::vector< std::vector< casadi::MX* >* >*
    casadi__MX__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);
        int x4_ = Marshaling<int,int>::marshal(x4);

        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_, x4_);
        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi__MX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
// call: "casadi::MX::sym(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt,CInt]
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi__MX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3);
std::vector< std::vector< casadi::MX* >* >*
    casadi__MX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);

        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);
        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__MX__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
// call: "casadi::MX::sym(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),CInt,CInt,CInt]
extern "C"
std::vector< casadi::MX* >*
    casadi__MX__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3);
std::vector< casadi::MX* >*
    casadi__MX__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);

        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__MX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
// call: "casadi::MX::sym(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt]
extern "C"
std::vector< casadi::MX* >*
    casadi__MX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2);
std::vector< casadi::MX* >*
    casadi__MX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_);
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// call: "casadi::MX::sym(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::MX*
    casadi__MX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
casadi::MX*
    casadi__MX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::MX ret = casadi::MX::sym(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
// call: "casadi::MX::sym(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::MX*
    casadi__MX__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1);
casadi::MX*
    casadi__MX__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);

        casadi::MX ret = casadi::MX::sym(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__6"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sym__6(std::string ** err_msg, std::string* x0)"
// call: "casadi::MX::sym(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MX__sym__6(std::string ** err_msg, std::string* x0);
casadi::MX*
    casadi__MX__sym__6(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = casadi::MX::sym(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sym__7(std::string ** err_msg, std::string* x0, int x1)"
// call: "casadi::MX::sym(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::MX*
    casadi__MX__sym__7(std::string ** err_msg, std::string* x0, int x1);
casadi::MX*
    casadi__MX__sym__7(std::string ** err_msg, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = casadi::MX::sym(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__8"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2)"
// call: "casadi::MX::sym(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CInt,CInt]
extern "C"
casadi::MX*
    casadi__MX__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2);
casadi::MX*
    casadi__MX__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        casadi::MX ret = casadi::MX::sym(x0_, x1_, x2_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "unary" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::unary"
// cWrapperName: "casadi__MX__unary"
// protoArgs: "(std::string ** err_msg, int x0, casadi::MX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__unary(std::string ** err_msg, int x0, casadi::MX* x1)"
// call: "casadi::MX::unary(x0_, x1_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
extern "C"
casadi::MX*
    casadi__MX__unary(std::string ** err_msg, int x0, casadi::MX* x1);
casadi::MX*
    casadi__MX__unary(std::string ** err_msg, int x0, casadi::MX* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = casadi::MX::unary(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::zeros"
// cWrapperName: "casadi__MX__zeros__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__zeros__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::MX::zeros(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::MX*
    casadi__MX__zeros__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::MX*
    casadi__MX__zeros__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::MX ret = casadi::MX::zeros(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::zeros"
// cWrapperName: "casadi__MX__zeros__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::MX::zeros(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::MX*
    casadi__MX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::MX*
    casadi__MX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::MX ret = casadi::MX::zeros(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::zeros"
// cWrapperName: "casadi__MX__zeros__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__zeros__2(std::string ** err_msg)"
// call: "casadi::MX::zeros()"
// params: []
extern "C"
casadi::MX*
    casadi__MX__zeros__2(std::string ** err_msg);
casadi::MX*
    casadi__MX__zeros__2(std::string ** err_msg){
    try {

        casadi::MX ret = casadi::MX::zeros();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::zeros"
// cWrapperName: "casadi__MX__zeros__3"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__zeros__3(std::string ** err_msg, int x0)"
// call: "casadi::MX::zeros(x0_)"
// params: [CInt]
extern "C"
casadi::MX*
    casadi__MX__zeros__3(std::string ** err_msg, int x0);
casadi::MX*
    casadi__MX__zeros__3(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX ret = casadi::MX::zeros(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::zeros"
// cWrapperName: "casadi__MX__zeros__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__zeros__4(std::string ** err_msg, int x0, int x1)"
// call: "casadi::MX::zeros(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::MX*
    casadi__MX__zeros__4(std::string ** err_msg, int x0, int x1);
casadi::MX*
    casadi__MX__zeros__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = casadi::MX::zeros(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "zz_project" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::zz_project"
// cWrapperName: "casadi__MX__zz_project__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__zz_project__0(std::string ** err_msg, casadi::MX* obj, casadi::Sparsity* x0)"
// call: "obj->zz_project(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::MX*
    casadi__MX__zz_project__0(std::string ** err_msg, casadi::MX* obj, casadi::Sparsity* x0);
casadi::MX*
    casadi__MX__zz_project__0(std::string ** err_msg, casadi::MX* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::MX ret = obj->zz_project(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "zz_project" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::zz_project"
// cWrapperName: "casadi__MX__zz_project__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::Sparsity* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__zz_project__1(std::string ** err_msg, casadi::MX* obj, casadi::Sparsity* x0, int x1)"
// call: "obj->zz_project(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CBool]
extern "C"
casadi::MX*
    casadi__MX__zz_project__1(std::string ** err_msg, casadi::MX* obj, casadi::Sparsity* x0, int x1);
casadi::MX*
    casadi__MX__zz_project__1(std::string ** err_msg, casadi::MX* obj, casadi::Sparsity* x0, int x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::MX ret = obj->zz_project(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "MXFunction")===============
// classType: UserType (Namespace ["casadi"]) (Name "MXFunction")
extern "C"
void delete_casadi__MXFunction(casadi::MXFunction* obj);
void delete_casadi__MXFunction(casadi::MXFunction* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction"
// cWrapperName: "casadi__MXFunction__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MXFunction")
// cWrapperRetType: "casadi::MXFunction*"
// proto: "casadi::MXFunction*\n    casadi__MXFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2)"
// call: "casadi::MXFunction(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))) (StdVec StdString))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))) (StdVec StdString)))]
extern "C"
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2);
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > > x1_ = Marshaling<std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >*>::marshal(x1);
        std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > > x2_ = Marshaling<std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >*>::marshal(x2);

        return new casadi::MXFunction(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction"
// cWrapperName: "casadi__MXFunction__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MXFunction")
// cWrapperRetType: "casadi::MXFunction*"
// proto: "casadi::MXFunction*\n    casadi__MXFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::MXFunction(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))) (StdVec StdString))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))) (StdVec StdString))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > > x1_ = Marshaling<std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >*>::marshal(x1);
        std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > > x2_ = Marshaling<std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::MXFunction(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction"
// cWrapperName: "casadi__MXFunction__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MXFunction")
// cWrapperRetType: "casadi::MXFunction*"
// proto: "casadi::MXFunction*\n    casadi__MXFunction__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2)"
// call: "casadi::MXFunction(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))) (StdVec StdString)))]
extern "C"
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2);
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > > x2_ = Marshaling<std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >*>::marshal(x2);

        return new casadi::MXFunction(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction"
// cWrapperName: "casadi__MXFunction__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MXFunction")
// cWrapperRetType: "casadi::MXFunction*"
// proto: "casadi::MXFunction*\n    casadi__MXFunction__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::MXFunction(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))) (StdVec StdString))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > > x2_ = Marshaling<std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::MXFunction(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction"
// cWrapperName: "casadi__MXFunction__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::MX* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MXFunction")
// cWrapperRetType: "casadi::MXFunction*"
// proto: "casadi::MXFunction*\n    casadi__MXFunction__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::MX* >* x2)"
// call: "casadi::MXFunction(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))) (StdVec StdString))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
extern "C"
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::MX* >* x2);
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::MX* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > > x1_ = Marshaling<std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >*>::marshal(x1);
        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);

        return new casadi::MXFunction(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction"
// cWrapperName: "casadi__MXFunction__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MXFunction")
// cWrapperRetType: "casadi::MXFunction*"
// proto: "casadi::MXFunction*\n    casadi__MXFunction__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::MXFunction(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))) (StdVec StdString))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > > x1_ = Marshaling<std::pair< std::map< std::string, casadi::MX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::MX* >*, std::vector< std::string* >* >*>::marshal(x1);
        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::MXFunction(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction"
// cWrapperName: "casadi__MXFunction__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MXFunction")
// cWrapperRetType: "casadi::MXFunction*"
// proto: "casadi::MXFunction*\n    casadi__MXFunction__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
// call: "casadi::MXFunction(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
extern "C"
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);

        return new casadi::MXFunction(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction"
// cWrapperName: "casadi__MXFunction__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MXFunction")
// cWrapperRetType: "casadi::MXFunction*"
// proto: "casadi::MXFunction*\n    casadi__MXFunction__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::MXFunction(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::MXFunction(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction"
// cWrapperName: "casadi__MXFunction__CONSTRUCTOR__8"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MXFunction")
// cWrapperRetType: "casadi::MXFunction*"
// proto: "casadi::MXFunction*\n    casadi__MXFunction__CONSTRUCTOR__8(std::string ** err_msg, casadi::Function* x0)"
// call: "casadi::MXFunction(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Function")))]
extern "C"
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__8(std::string ** err_msg, casadi::Function* x0);
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__8(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        return new casadi::MXFunction(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction"
// cWrapperName: "casadi__MXFunction__CONSTRUCTOR__9"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MXFunction")
// cWrapperRetType: "casadi::MXFunction*"
// proto: "casadi::MXFunction*\n    casadi__MXFunction__CONSTRUCTOR__9(std::string ** err_msg)"
// call: "casadi::MXFunction()"
// params: []
extern "C"
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__9(std::string ** err_msg);
casadi::MXFunction*
    casadi__MXFunction__CONSTRUCTOR__9(std::string ** err_msg){
    try {

        return new casadi::MXFunction();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "countNodes" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::countNodes"
// cWrapperName: "casadi__MXFunction__countNodes"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__MXFunction__countNodes(std::string ** err_msg, casadi::MXFunction* obj)"
// call: "obj->countNodes()"
// params: []
extern "C"
int
    casadi__MXFunction__countNodes(std::string ** err_msg, casadi::MXFunction* obj);
int
    casadi__MXFunction__countNodes(std::string ** err_msg, casadi::MXFunction* obj){
    try {

        int ret = obj->countNodes();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "expand" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::expand"
// cWrapperName: "casadi__MXFunction__expand__0"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SXFunction")
// cWrapperRetType: "casadi::SXFunction*"
// proto: "casadi::SXFunction*\n    casadi__MXFunction__expand__0(std::string ** err_msg, casadi::MXFunction* obj)"
// call: "obj->expand()"
// params: []
extern "C"
casadi::SXFunction*
    casadi__MXFunction__expand__0(std::string ** err_msg, casadi::MXFunction* obj);
casadi::SXFunction*
    casadi__MXFunction__expand__0(std::string ** err_msg, casadi::MXFunction* obj){
    try {

        casadi::SXFunction ret = obj->expand();
        return WrapReturn< casadi::SXFunction*, casadi::SXFunction >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "expand" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::expand"
// cWrapperName: "casadi__MXFunction__expand__1"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::vector< casadi::SX* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SXFunction")
// cWrapperRetType: "casadi::SXFunction*"
// proto: "casadi::SXFunction*\n    casadi__MXFunction__expand__1(std::string ** err_msg, casadi::MXFunction* obj, std::vector< casadi::SX* >* x0)"
// call: "obj->expand(x0_)"
// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
extern "C"
casadi::SXFunction*
    casadi__MXFunction__expand__1(std::string ** err_msg, casadi::MXFunction* obj, std::vector< casadi::SX* >* x0);
casadi::SXFunction*
    casadi__MXFunction__expand__1(std::string ** err_msg, casadi::MXFunction* obj, std::vector< casadi::SX* >* x0){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);

        casadi::SXFunction ret = obj->expand(x0_);
        return WrapReturn< casadi::SXFunction*, casadi::SXFunction >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generateLiftingFunctions" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::generateLiftingFunctions"
// cWrapperName: "casadi__MXFunction__generateLiftingFunctions"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, casadi::MXFunction* x0, casadi::MXFunction* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MXFunction__generateLiftingFunctions(std::string ** err_msg, casadi::MXFunction* obj, casadi::MXFunction* x0, casadi::MXFunction* x1)"
// call: "obj->generateLiftingFunctions(x0_, x1_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "MXFunction")),Ref (UserType (Namespace ["casadi"]) (Name "MXFunction"))]
extern "C"
void
    casadi__MXFunction__generateLiftingFunctions(std::string ** err_msg, casadi::MXFunction* obj, casadi::MXFunction* x0, casadi::MXFunction* x1);
void
    casadi__MXFunction__generateLiftingFunctions(std::string ** err_msg, casadi::MXFunction* obj, casadi::MXFunction* x0, casadi::MXFunction* x1){
    try {
        casadi::MXFunction& x0_ = Marshaling<casadi::MXFunction&,casadi::MXFunction*>::marshal(x0);
        casadi::MXFunction& x1_ = Marshaling<casadi::MXFunction&,casadi::MXFunction*>::marshal(x1);

        obj->generateLiftingFunctions(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getFree" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::getFree"
// cWrapperName: "casadi__MXFunction__getFree"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__MXFunction__getFree(std::string ** err_msg, casadi::MXFunction* obj)"
// call: "obj->getFree()"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__MXFunction__getFree(std::string ** err_msg, casadi::MXFunction* obj);
std::vector< casadi::MX* >*
    casadi__MXFunction__getFree(std::string ** err_msg, casadi::MXFunction* obj){
    try {

        std::vector< casadi::MX > ret = obj->getFree();
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::grad"
// cWrapperName: "casadi__MXFunction__grad__0"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__grad__0(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1)"
// call: "obj->grad(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MXFunction__grad__0(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1);
casadi::MX*
    casadi__MXFunction__grad__0(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::MX ret = obj->grad(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::grad"
// cWrapperName: "casadi__MXFunction__grad__1"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__grad__1(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1)"
// call: "obj->grad(x0_, x1_)"
// params: [CInt,Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MXFunction__grad__1(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1);
casadi::MX*
    casadi__MXFunction__grad__1(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::MX ret = obj->grad(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::grad"
// cWrapperName: "casadi__MXFunction__grad__2"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__grad__2(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0)"
// call: "obj->grad(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MXFunction__grad__2(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0);
casadi::MX*
    casadi__MXFunction__grad__2(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->grad(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::grad"
// cWrapperName: "casadi__MXFunction__grad__3"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__grad__3(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1)"
// call: "obj->grad(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::MX*
    casadi__MXFunction__grad__3(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1);
casadi::MX*
    casadi__MXFunction__grad__3(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = obj->grad(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::grad"
// cWrapperName: "casadi__MXFunction__grad__4"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__grad__4(std::string ** err_msg, casadi::MXFunction* obj)"
// call: "obj->grad()"
// params: []
extern "C"
casadi::MX*
    casadi__MXFunction__grad__4(std::string ** err_msg, casadi::MXFunction* obj);
casadi::MX*
    casadi__MXFunction__grad__4(std::string ** err_msg, casadi::MXFunction* obj){
    try {

        casadi::MX ret = obj->grad();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::grad"
// cWrapperName: "casadi__MXFunction__grad__5"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__grad__5(std::string ** err_msg, casadi::MXFunction* obj, int x0)"
// call: "obj->grad(x0_)"
// params: [CInt]
extern "C"
casadi::MX*
    casadi__MXFunction__grad__5(std::string ** err_msg, casadi::MXFunction* obj, int x0);
casadi::MX*
    casadi__MXFunction__grad__5(std::string ** err_msg, casadi::MXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX ret = obj->grad(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::grad"
// cWrapperName: "casadi__MXFunction__grad__6"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__grad__6(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1)"
// call: "obj->grad(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::MX*
    casadi__MXFunction__grad__6(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1);
casadi::MX*
    casadi__MXFunction__grad__6(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = obj->grad(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputExpr" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::inputExpr"
// cWrapperName: "casadi__MXFunction__inputExpr__0"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj)"
// args: "()"
// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__MXFunction__inputExpr__0(std::string ** err_msg, casadi::MXFunction* obj)"
// call: "obj->inputExpr()"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__MXFunction__inputExpr__0(std::string ** err_msg, casadi::MXFunction* obj);
std::vector< casadi::MX* >*
    casadi__MXFunction__inputExpr__0(std::string ** err_msg, casadi::MXFunction* obj){
    try {

        std::vector< casadi::MX > ret = obj->inputExpr();
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputExpr" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::inputExpr"
// cWrapperName: "casadi__MXFunction__inputExpr__1"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__inputExpr__1(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0)"
// call: "obj->inputExpr(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MXFunction__inputExpr__1(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0);
casadi::MX*
    casadi__MXFunction__inputExpr__1(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->inputExpr(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputExpr" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::inputExpr"
// cWrapperName: "casadi__MXFunction__inputExpr__2"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__inputExpr__2(std::string ** err_msg, casadi::MXFunction* obj, int x0)"
// call: "obj->inputExpr(x0_)"
// params: [CInt]
extern "C"
casadi::MX*
    casadi__MXFunction__inputExpr__2(std::string ** err_msg, casadi::MXFunction* obj, int x0);
casadi::MX*
    casadi__MXFunction__inputExpr__2(std::string ** err_msg, casadi::MXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX ret = obj->inputExpr(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__0"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__0(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1)"
// call: "obj->jac(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__0(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1);
casadi::MX*
    casadi__MXFunction__jac__0(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::MX ret = obj->jac(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__1"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__1(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1, int x2)"
// call: "obj->jac(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),CBool]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__1(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1, int x2);
casadi::MX*
    casadi__MXFunction__jac__1(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::MX ret = obj->jac(x0_, x1_, x2_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__2"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__2(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1, int x2, int x3)"
// call: "obj->jac(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),CBool,CBool]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__2(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1, int x2, int x3);
casadi::MX*
    casadi__MXFunction__jac__2(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::MX ret = obj->jac(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__3"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__3(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1)"
// call: "obj->jac(x0_, x1_)"
// params: [CInt,Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__3(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1);
casadi::MX*
    casadi__MXFunction__jac__3(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::MX ret = obj->jac(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__4"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__4(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1, int x2)"
// call: "obj->jac(x0_, x1_, x2_)"
// params: [CInt,Ref (Const StdString),CBool]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__4(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1, int x2);
casadi::MX*
    casadi__MXFunction__jac__4(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1, int x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::MX ret = obj->jac(x0_, x1_, x2_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__5"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__5(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1, int x2, int x3)"
// call: "obj->jac(x0_, x1_, x2_, x3_)"
// params: [CInt,Ref (Const StdString),CBool,CBool]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__5(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1, int x2, int x3);
casadi::MX*
    casadi__MXFunction__jac__5(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1, int x2, int x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::MX ret = obj->jac(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__6"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__6(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0)"
// call: "obj->jac(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__6(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0);
casadi::MX*
    casadi__MXFunction__jac__6(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->jac(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__7"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__7(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1)"
// call: "obj->jac(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__7(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1);
casadi::MX*
    casadi__MXFunction__jac__7(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = obj->jac(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__8"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__8(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1, int x2)"
// call: "obj->jac(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CInt,CBool]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__8(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1, int x2);
casadi::MX*
    casadi__MXFunction__jac__8(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::MX ret = obj->jac(x0_, x1_, x2_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__9"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__9(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1, int x2, int x3)"
// call: "obj->jac(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),CInt,CBool,CBool]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__9(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1, int x2, int x3);
casadi::MX*
    casadi__MXFunction__jac__9(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::MX ret = obj->jac(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__10"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__10(std::string ** err_msg, casadi::MXFunction* obj)"
// call: "obj->jac()"
// params: []
extern "C"
casadi::MX*
    casadi__MXFunction__jac__10(std::string ** err_msg, casadi::MXFunction* obj);
casadi::MX*
    casadi__MXFunction__jac__10(std::string ** err_msg, casadi::MXFunction* obj){
    try {

        casadi::MX ret = obj->jac();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__11"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__11(std::string ** err_msg, casadi::MXFunction* obj, int x0)"
// call: "obj->jac(x0_)"
// params: [CInt]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__11(std::string ** err_msg, casadi::MXFunction* obj, int x0);
casadi::MX*
    casadi__MXFunction__jac__11(std::string ** err_msg, casadi::MXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX ret = obj->jac(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__12"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__12(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1)"
// call: "obj->jac(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__12(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1);
casadi::MX*
    casadi__MXFunction__jac__12(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = obj->jac(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__13"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__13(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1, int x2)"
// call: "obj->jac(x0_, x1_, x2_)"
// params: [CInt,CInt,CBool]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__13(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1, int x2);
casadi::MX*
    casadi__MXFunction__jac__13(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1, int x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::MX ret = obj->jac(x0_, x1_, x2_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::jac"
// cWrapperName: "casadi__MXFunction__jac__14"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__jac__14(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1, int x2, int x3)"
// call: "obj->jac(x0_, x1_, x2_, x3_)"
// params: [CInt,CInt,CBool,CBool]
extern "C"
casadi::MX*
    casadi__MXFunction__jac__14(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1, int x2, int x3);
casadi::MX*
    casadi__MXFunction__jac__14(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1, int x2, int x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::MX ret = obj->jac(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputExpr" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::outputExpr"
// cWrapperName: "casadi__MXFunction__outputExpr__0"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj)"
// args: "()"
// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__MXFunction__outputExpr__0(std::string ** err_msg, casadi::MXFunction* obj)"
// call: "obj->outputExpr()"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__MXFunction__outputExpr__0(std::string ** err_msg, casadi::MXFunction* obj);
std::vector< casadi::MX* >*
    casadi__MXFunction__outputExpr__0(std::string ** err_msg, casadi::MXFunction* obj){
    try {

        std::vector< casadi::MX > ret = obj->outputExpr();
        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputExpr" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::outputExpr"
// cWrapperName: "casadi__MXFunction__outputExpr__1"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__outputExpr__1(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0)"
// call: "obj->outputExpr(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MXFunction__outputExpr__1(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0);
casadi::MX*
    casadi__MXFunction__outputExpr__1(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->outputExpr(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputExpr" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::outputExpr"
// cWrapperName: "casadi__MXFunction__outputExpr__2"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__outputExpr__2(std::string ** err_msg, casadi::MXFunction* obj, int x0)"
// call: "obj->outputExpr(x0_)"
// params: [CInt]
extern "C"
casadi::MX*
    casadi__MXFunction__outputExpr__2(std::string ** err_msg, casadi::MXFunction* obj, int x0);
casadi::MX*
    casadi__MXFunction__outputExpr__2(std::string ** err_msg, casadi::MXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX ret = obj->outputExpr(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::tang"
// cWrapperName: "casadi__MXFunction__tang__0"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__tang__0(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1)"
// call: "obj->tang(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MXFunction__tang__0(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1);
casadi::MX*
    casadi__MXFunction__tang__0(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::MX ret = obj->tang(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::tang"
// cWrapperName: "casadi__MXFunction__tang__1"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__tang__1(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1)"
// call: "obj->tang(x0_, x1_)"
// params: [CInt,Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MXFunction__tang__1(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1);
casadi::MX*
    casadi__MXFunction__tang__1(std::string ** err_msg, casadi::MXFunction* obj, int x0, std::string* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::MX ret = obj->tang(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::tang"
// cWrapperName: "casadi__MXFunction__tang__2"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__tang__2(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0)"
// call: "obj->tang(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::MX*
    casadi__MXFunction__tang__2(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0);
casadi::MX*
    casadi__MXFunction__tang__2(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->tang(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::tang"
// cWrapperName: "casadi__MXFunction__tang__3"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__tang__3(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1)"
// call: "obj->tang(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::MX*
    casadi__MXFunction__tang__3(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1);
casadi::MX*
    casadi__MXFunction__tang__3(std::string ** err_msg, casadi::MXFunction* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = obj->tang(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::tang"
// cWrapperName: "casadi__MXFunction__tang__4"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__tang__4(std::string ** err_msg, casadi::MXFunction* obj)"
// call: "obj->tang()"
// params: []
extern "C"
casadi::MX*
    casadi__MXFunction__tang__4(std::string ** err_msg, casadi::MXFunction* obj);
casadi::MX*
    casadi__MXFunction__tang__4(std::string ** err_msg, casadi::MXFunction* obj){
    try {

        casadi::MX ret = obj->tang();
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::tang"
// cWrapperName: "casadi__MXFunction__tang__5"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__tang__5(std::string ** err_msg, casadi::MXFunction* obj, int x0)"
// call: "obj->tang(x0_)"
// params: [CInt]
extern "C"
casadi::MX*
    casadi__MXFunction__tang__5(std::string ** err_msg, casadi::MXFunction* obj, int x0);
casadi::MX*
    casadi__MXFunction__tang__5(std::string ** err_msg, casadi::MXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::MX ret = obj->tang(x0_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::MXFunction"
// cppName: "casadi::MXFunction::tang"
// cWrapperName: "casadi__MXFunction__tang__6"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MXFunction__tang__6(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1)"
// call: "obj->tang(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::MX*
    casadi__MXFunction__tang__6(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1);
casadi::MX*
    casadi__MXFunction__tang__6(std::string ** err_msg, casadi::MXFunction* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::MX ret = obj->tang(x0_, x1_);
        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Map")===============
// classType: UserType (Namespace ["casadi"]) (Name "Map")
extern "C"
void delete_casadi__Map(casadi::Map* obj);
void delete_casadi__Map(casadi::Map* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Map"
// cppName: "casadi::Map"
// cWrapperName: "casadi__Map__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Map")
// cWrapperRetType: "casadi::Map*"
// proto: "casadi::Map*\n    casadi__Map__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4)"
// call: "casadi::Map(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),CInt,Ref (Const (StdVec CBool)),Ref (Const (StdVec CBool))]
extern "C"
casadi::Map*
    casadi__Map__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4);
casadi::Map*
    casadi__Map__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        std::vector< bool > x3_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x3);
        std::vector< bool > x4_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x4);

        return new casadi::Map(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Map"
// cppName: "casadi::Map"
// cWrapperName: "casadi__Map__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, std::map< std::string, casadi::GenericType* >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Map")
// cWrapperRetType: "casadi::Map*"
// proto: "casadi::Map*\n    casadi__Map__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, std::map< std::string, casadi::GenericType* >* x5)"
// call: "casadi::Map(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),CInt,Ref (Const (StdVec CBool)),Ref (Const (StdVec CBool)),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::Map*
    casadi__Map__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, std::map< std::string, casadi::GenericType* >* x5);
casadi::Map*
    casadi__Map__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, std::map< std::string, casadi::GenericType* >* x5){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        std::vector< bool > x3_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x3);
        std::vector< bool > x4_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x4);
        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);

        return new casadi::Map(x0_, x1_, x2_, x3_, x4_, x5_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Map"
// cppName: "casadi::Map"
// cWrapperName: "casadi__Map__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Map")
// cWrapperRetType: "casadi::Map*"
// proto: "casadi::Map*\n    casadi__Map__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::Map()"
// params: []
extern "C"
casadi::Map*
    casadi__Map__CONSTRUCTOR__2(std::string ** err_msg);
casadi::Map*
    casadi__Map__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::Map();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "MapAccum")===============
// classType: UserType (Namespace ["casadi"]) (Name "MapAccum")
extern "C"
void delete_casadi__MapAccum(casadi::MapAccum* obj);
void delete_casadi__MapAccum(casadi::MapAccum* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MapAccum"
// cppName: "casadi::MapAccum"
// cWrapperName: "casadi__MapAccum__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MapAccum")
// cWrapperRetType: "casadi::MapAccum*"
// proto: "casadi::MapAccum*\n    casadi__MapAccum__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4)"
// call: "casadi::MapAccum(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),CInt,Ref (Const (StdVec CBool)),Ref (Const (StdVec CInt))]
extern "C"
casadi::MapAccum*
    casadi__MapAccum__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4);
casadi::MapAccum*
    casadi__MapAccum__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        std::vector< bool > x3_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x3);
        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);

        return new casadi::MapAccum(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MapAccum"
// cppName: "casadi::MapAccum"
// cWrapperName: "casadi__MapAccum__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, int x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MapAccum")
// cWrapperRetType: "casadi::MapAccum*"
// proto: "casadi::MapAccum*\n    casadi__MapAccum__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, int x5)"
// call: "casadi::MapAccum(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),CInt,Ref (Const (StdVec CBool)),Ref (Const (StdVec CInt)),CBool]
extern "C"
casadi::MapAccum*
    casadi__MapAccum__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, int x5);
casadi::MapAccum*
    casadi__MapAccum__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, int x5){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        std::vector< bool > x3_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x3);
        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
        bool x5_ = Marshaling<bool,int>::marshal(x5);

        return new casadi::MapAccum(x0_, x1_, x2_, x3_, x4_, x5_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MapAccum"
// cppName: "casadi::MapAccum"
// cWrapperName: "casadi__MapAccum__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, int x5, std::map< std::string, casadi::GenericType* >* x6)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MapAccum")
// cWrapperRetType: "casadi::MapAccum*"
// proto: "casadi::MapAccum*\n    casadi__MapAccum__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, int x5, std::map< std::string, casadi::GenericType* >* x6)"
// call: "casadi::MapAccum(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),CInt,Ref (Const (StdVec CBool)),Ref (Const (StdVec CInt)),CBool,Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::MapAccum*
    casadi__MapAccum__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, int x5, std::map< std::string, casadi::GenericType* >* x6);
casadi::MapAccum*
    casadi__MapAccum__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, casadi::Function* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, int x5, std::map< std::string, casadi::GenericType* >* x6){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        std::vector< bool > x3_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x3);
        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
        bool x5_ = Marshaling<bool,int>::marshal(x5);
        std::map< std::string, casadi::GenericType > x6_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x6);

        return new casadi::MapAccum(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MapAccum"
// cppName: "casadi::MapAccum"
// cWrapperName: "casadi__MapAccum__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MapAccum")
// cWrapperRetType: "casadi::MapAccum*"
// proto: "casadi::MapAccum*\n    casadi__MapAccum__CONSTRUCTOR__3(std::string ** err_msg)"
// call: "casadi::MapAccum()"
// params: []
extern "C"
casadi::MapAccum*
    casadi__MapAccum__CONSTRUCTOR__3(std::string ** err_msg);
casadi::MapAccum*
    casadi__MapAccum__CONSTRUCTOR__3(std::string ** err_msg){
    try {

        return new casadi::MapAccum();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "MatrixCommon")===============
// classType: UserType (Namespace ["casadi"]) (Name "MatrixCommon")
extern "C"
void delete_casadi__MatrixCommon(casadi::MatrixCommon* obj);
void delete_casadi__MatrixCommon(casadi::MatrixCommon* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "NlpBuilder")===============
// classType: UserType (Namespace ["casadi"]) (Name "NlpBuilder")
extern "C"
void delete_casadi__NlpBuilder(casadi::NlpBuilder* obj);
void delete_casadi__NlpBuilder(casadi::NlpBuilder* obj){
    delete obj;
}

// ================== Normal method: "parseNL" ===============
// class: "casadi::NlpBuilder"
// cppName: "casadi::NlpBuilder::parseNL"
// cWrapperName: "casadi__NlpBuilder__parseNL__0"
// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__NlpBuilder__parseNL__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0)"
// call: "obj->parseNL(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__NlpBuilder__parseNL__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0);
void
    casadi__NlpBuilder__parseNL__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->parseNL(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "parseNL" ===============
// class: "casadi::NlpBuilder"
// cppName: "casadi::NlpBuilder::parseNL"
// cWrapperName: "casadi__NlpBuilder__parseNL__1"
// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__NlpBuilder__parseNL__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "obj->parseNL(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
void
    casadi__NlpBuilder__parseNL__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
void
    casadi__NlpBuilder__parseNL__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        obj->parseNL(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getRepresentation" ===============
// class: "casadi::NlpBuilder"
// cppName: "casadi::NlpBuilder::getRepresentation"
// cWrapperName: "casadi__NlpBuilder__getRepresentation"
// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__NlpBuilder__getRepresentation(std::string ** err_msg, casadi::NlpBuilder* obj)"
// call: "obj->getRepresentation()"
// params: []
extern "C"
std::string*
    casadi__NlpBuilder__getRepresentation(std::string ** err_msg, casadi::NlpBuilder* obj);
std::string*
    casadi__NlpBuilder__getRepresentation(std::string ** err_msg, casadi::NlpBuilder* obj){
    try {

        std::string ret = obj->getRepresentation();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDescription" ===============
// class: "casadi::NlpBuilder"
// cppName: "casadi::NlpBuilder::getDescription"
// cWrapperName: "casadi__NlpBuilder__getDescription"
// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__NlpBuilder__getDescription(std::string ** err_msg, casadi::NlpBuilder* obj)"
// call: "obj->getDescription()"
// params: []
extern "C"
std::string*
    casadi__NlpBuilder__getDescription(std::string ** err_msg, casadi::NlpBuilder* obj);
std::string*
    casadi__NlpBuilder__getDescription(std::string ** err_msg, casadi::NlpBuilder* obj){
    try {

        std::string ret = obj->getDescription();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "NlpSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "NlpSolver")
extern "C"
void delete_casadi__NlpSolver(casadi::NlpSolver* obj);
void delete_casadi__NlpSolver(casadi::NlpSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver"
// cWrapperName: "casadi__NlpSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "NlpSolver")
// cWrapperRetType: "casadi::NlpSolver*"
// proto: "casadi::NlpSolver*\n    casadi__NlpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
// call: "casadi::NlpSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))))]
extern "C"
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);

        return new casadi::NlpSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver"
// cWrapperName: "casadi__NlpSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "NlpSolver")
// cWrapperRetType: "casadi::NlpSolver*"
// proto: "casadi::NlpSolver*\n    casadi__NlpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::NlpSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::NlpSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver"
// cWrapperName: "casadi__NlpSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "NlpSolver")
// cWrapperRetType: "casadi::NlpSolver*"
// proto: "casadi::NlpSolver*\n    casadi__NlpSolver__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
// call: "casadi::NlpSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))))]
extern "C"
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);

        return new casadi::NlpSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver"
// cWrapperName: "casadi__NlpSolver__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "NlpSolver")
// cWrapperRetType: "casadi::NlpSolver*"
// proto: "casadi::NlpSolver*\n    casadi__NlpSolver__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::NlpSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::NlpSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver"
// cWrapperName: "casadi__NlpSolver__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "NlpSolver")
// cWrapperRetType: "casadi::NlpSolver*"
// proto: "casadi::NlpSolver*\n    casadi__NlpSolver__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2)"
// call: "casadi::NlpSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function")))]
extern "C"
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2);
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);

        return new casadi::NlpSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver"
// cWrapperName: "casadi__NlpSolver__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "NlpSolver")
// cWrapperRetType: "casadi::NlpSolver*"
// proto: "casadi::NlpSolver*\n    casadi__NlpSolver__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::NlpSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::NlpSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver"
// cWrapperName: "casadi__NlpSolver__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "NlpSolver")
// cWrapperRetType: "casadi::NlpSolver*"
// proto: "casadi::NlpSolver*\n    casadi__NlpSolver__CONSTRUCTOR__6(std::string ** err_msg)"
// call: "casadi::NlpSolver()"
// params: []
extern "C"
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__6(std::string ** err_msg);
casadi::NlpSolver*
    casadi__NlpSolver__CONSTRUCTOR__6(std::string ** err_msg){
    try {

        return new casadi::NlpSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver::doc"
// cWrapperName: "casadi__NlpSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__NlpSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::NlpSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__NlpSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__NlpSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::NlpSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getReducedHessian" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver::getReducedHessian"
// cWrapperName: "casadi__NlpSolver__getReducedHessian"
// protoArgs: "(std::string ** err_msg, casadi::NlpSolver* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__NlpSolver__getReducedHessian(std::string ** err_msg, casadi::NlpSolver* obj)"
// call: "obj->getReducedHessian()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__NlpSolver__getReducedHessian(std::string ** err_msg, casadi::NlpSolver* obj);
casadi::DMatrix*
    casadi__NlpSolver__getReducedHessian(std::string ** err_msg, casadi::NlpSolver* obj){
    try {

        casadi::DMatrix ret = obj->getReducedHessian();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getReportConstraints" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver::getReportConstraints"
// cWrapperName: "casadi__NlpSolver__getReportConstraints"
// protoArgs: "(std::string ** err_msg, casadi::NlpSolver* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__NlpSolver__getReportConstraints(std::string ** err_msg, casadi::NlpSolver* obj)"
// call: "obj->getReportConstraints()"
// params: []
extern "C"
std::string*
    casadi__NlpSolver__getReportConstraints(std::string ** err_msg, casadi::NlpSolver* obj);
std::string*
    casadi__NlpSolver__getReportConstraints(std::string ** err_msg, casadi::NlpSolver* obj){
    try {

        std::string ret = obj->getReportConstraints();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "gradF" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver::gradF"
// cWrapperName: "casadi__NlpSolver__gradF"
// protoArgs: "(std::string ** err_msg, casadi::NlpSolver* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__NlpSolver__gradF(std::string ** err_msg, casadi::NlpSolver* obj)"
// call: "obj->gradF()"
// params: []
extern "C"
casadi::Function*
    casadi__NlpSolver__gradF(std::string ** err_msg, casadi::NlpSolver* obj);
casadi::Function*
    casadi__NlpSolver__gradF(std::string ** err_msg, casadi::NlpSolver* obj){
    try {

        casadi::Function ret = obj->gradF();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver::hasPlugin"
// cWrapperName: "casadi__NlpSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__NlpSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::NlpSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__NlpSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__NlpSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::NlpSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hessLag" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver::hessLag"
// cWrapperName: "casadi__NlpSolver__hessLag"
// protoArgs: "(std::string ** err_msg, casadi::NlpSolver* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__NlpSolver__hessLag(std::string ** err_msg, casadi::NlpSolver* obj)"
// call: "obj->hessLag()"
// params: []
extern "C"
casadi::Function*
    casadi__NlpSolver__hessLag(std::string ** err_msg, casadi::NlpSolver* obj);
casadi::Function*
    casadi__NlpSolver__hessLag(std::string ** err_msg, casadi::NlpSolver* obj){
    try {

        casadi::Function ret = obj->hessLag();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacG" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver::jacG"
// cWrapperName: "casadi__NlpSolver__jacG"
// protoArgs: "(std::string ** err_msg, casadi::NlpSolver* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__NlpSolver__jacG(std::string ** err_msg, casadi::NlpSolver* obj)"
// call: "obj->jacG()"
// params: []
extern "C"
casadi::Function*
    casadi__NlpSolver__jacG(std::string ** err_msg, casadi::NlpSolver* obj);
casadi::Function*
    casadi__NlpSolver__jacG(std::string ** err_msg, casadi::NlpSolver* obj){
    try {

        casadi::Function ret = obj->jacG();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver::loadPlugin"
// cWrapperName: "casadi__NlpSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__NlpSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::NlpSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__NlpSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__NlpSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::NlpSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "nlp" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver::nlp"
// cWrapperName: "casadi__NlpSolver__nlp"
// protoArgs: "(std::string ** err_msg, casadi::NlpSolver* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__NlpSolver__nlp(std::string ** err_msg, casadi::NlpSolver* obj)"
// call: "obj->nlp()"
// params: []
extern "C"
casadi::Function*
    casadi__NlpSolver__nlp(std::string ** err_msg, casadi::NlpSolver* obj);
casadi::Function*
    casadi__NlpSolver__nlp(std::string ** err_msg, casadi::NlpSolver* obj){
    try {

        casadi::Function ret = obj->nlp();
        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "reportConstraints" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver::reportConstraints"
// cWrapperName: "casadi__NlpSolver__reportConstraints"
// protoArgs: "(std::string ** err_msg, casadi::NlpSolver* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__NlpSolver__reportConstraints(std::string ** err_msg, casadi::NlpSolver* obj)"
// call: "obj->reportConstraints()"
// params: []
extern "C"
void
    casadi__NlpSolver__reportConstraints(std::string ** err_msg, casadi::NlpSolver* obj);
void
    casadi__NlpSolver__reportConstraints(std::string ** err_msg, casadi::NlpSolver* obj){
    try {

        obj->reportConstraints();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setOptionsFromFile" ===============
// class: "casadi::NlpSolver"
// cppName: "casadi::NlpSolver::setOptionsFromFile"
// cWrapperName: "casadi__NlpSolver__setOptionsFromFile"
// protoArgs: "(std::string ** err_msg, casadi::NlpSolver* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__NlpSolver__setOptionsFromFile(std::string ** err_msg, casadi::NlpSolver* obj, std::string* x0)"
// call: "obj->setOptionsFromFile(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__NlpSolver__setOptionsFromFile(std::string ** err_msg, casadi::NlpSolver* obj, std::string* x0);
void
    casadi__NlpSolver__setOptionsFromFile(std::string ** err_msg, casadi::NlpSolver* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->setOptionsFromFile(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Nullspace")===============
// classType: UserType (Namespace ["casadi"]) (Name "Nullspace")
extern "C"
void delete_casadi__Nullspace(casadi::Nullspace* obj);
void delete_casadi__Nullspace(casadi::Nullspace* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Nullspace"
// cppName: "casadi::Nullspace"
// cWrapperName: "casadi__Nullspace__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Nullspace")
// cWrapperRetType: "casadi::Nullspace*"
// proto: "casadi::Nullspace*\n    casadi__Nullspace__CONSTRUCTOR(std::string ** err_msg)"
// call: "casadi::Nullspace()"
// params: []
extern "C"
casadi::Nullspace*
    casadi__Nullspace__CONSTRUCTOR(std::string ** err_msg);
casadi::Nullspace*
    casadi__Nullspace__CONSTRUCTOR(std::string ** err_msg){
    try {

        return new casadi::Nullspace();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "OptionsFunctionality")===============
// classType: UserType (Namespace ["casadi"]) (Name "OptionsFunctionality")
extern "C"
void delete_casadi__OptionsFunctionality(casadi::OptionsFunctionality* obj);
void delete_casadi__OptionsFunctionality(casadi::OptionsFunctionality* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality"
// cWrapperName: "casadi__OptionsFunctionality__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "OptionsFunctionality")
// cWrapperRetType: "casadi::OptionsFunctionality*"
// proto: "casadi::OptionsFunctionality*\n    casadi__OptionsFunctionality__CONSTRUCTOR(std::string ** err_msg)"
// call: "casadi::OptionsFunctionality()"
// params: []
extern "C"
casadi::OptionsFunctionality*
    casadi__OptionsFunctionality__CONSTRUCTOR(std::string ** err_msg);
casadi::OptionsFunctionality*
    casadi__OptionsFunctionality__CONSTRUCTOR(std::string ** err_msg){
    try {

        return new casadi::OptionsFunctionality();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "addOptionRecipe" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::addOptionRecipe"
// cWrapperName: "casadi__OptionsFunctionality__addOptionRecipe"
// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__OptionsFunctionality__addOptionRecipe(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0, std::string* x1)"
// call: "casadi::OptionsFunctionality::addOptionRecipe(x0_, x1_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),Ref (Const StdString)]
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__OptionsFunctionality__addOptionRecipe(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0, std::string* x1);
std::map< std::string, casadi::GenericType* >*
    casadi__OptionsFunctionality__addOptionRecipe(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0, std::string* x1){
    try {
        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        std::map< std::string, casadi::GenericType > ret = casadi::OptionsFunctionality::addOptionRecipe(x0_, x1_);
        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "copyOptions" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::copyOptions"
// cWrapperName: "casadi__OptionsFunctionality__copyOptions__0"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, casadi::OptionsFunctionality* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptionsFunctionality__copyOptions__0(std::string ** err_msg, casadi::OptionsFunctionality* obj, casadi::OptionsFunctionality* x0)"
// call: "obj->copyOptions(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "OptionsFunctionality")))]
extern "C"
void
    casadi__OptionsFunctionality__copyOptions__0(std::string ** err_msg, casadi::OptionsFunctionality* obj, casadi::OptionsFunctionality* x0);
void
    casadi__OptionsFunctionality__copyOptions__0(std::string ** err_msg, casadi::OptionsFunctionality* obj, casadi::OptionsFunctionality* x0){
    try {
        casadi::OptionsFunctionality& x0_ = Marshaling<casadi::OptionsFunctionality&,casadi::OptionsFunctionality*>::marshal(x0);

        obj->copyOptions(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "copyOptions" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::copyOptions"
// cWrapperName: "casadi__OptionsFunctionality__copyOptions__1"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, casadi::OptionsFunctionality* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptionsFunctionality__copyOptions__1(std::string ** err_msg, casadi::OptionsFunctionality* obj, casadi::OptionsFunctionality* x0, int x1)"
// call: "obj->copyOptions(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "OptionsFunctionality"))),CBool]
extern "C"
void
    casadi__OptionsFunctionality__copyOptions__1(std::string ** err_msg, casadi::OptionsFunctionality* obj, casadi::OptionsFunctionality* x0, int x1);
void
    casadi__OptionsFunctionality__copyOptions__1(std::string ** err_msg, casadi::OptionsFunctionality* obj, casadi::OptionsFunctionality* x0, int x1){
    try {
        casadi::OptionsFunctionality& x0_ = Marshaling<casadi::OptionsFunctionality&,casadi::OptionsFunctionality*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->copyOptions(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "dictionary" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::dictionary"
// cWrapperName: "casadi__OptionsFunctionality__dictionary"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj)"
// args: "()"
// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__OptionsFunctionality__dictionary(std::string ** err_msg, casadi::OptionsFunctionality* obj)"
// call: "obj->dictionary()"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__OptionsFunctionality__dictionary(std::string ** err_msg, casadi::OptionsFunctionality* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__OptionsFunctionality__dictionary(std::string ** err_msg, casadi::OptionsFunctionality* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->dictionary();
        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOption" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::getOption"
// cWrapperName: "casadi__OptionsFunctionality__getOption"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__OptionsFunctionality__getOption(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// call: "obj->getOption(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::GenericType*
    casadi__OptionsFunctionality__getOption(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0);
casadi::GenericType*
    casadi__OptionsFunctionality__getOption(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::GenericType ret = obj->getOption(x0_);
        return WrapReturn< casadi::GenericType*, casadi::GenericType >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOptionAllowed" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::getOptionAllowed"
// cWrapperName: "casadi__OptionsFunctionality__getOptionAllowed"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::vector< casadi::GenericType* >*"
// proto: "std::vector< casadi::GenericType* >*\n    casadi__OptionsFunctionality__getOptionAllowed(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// call: "obj->getOptionAllowed(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::vector< casadi::GenericType* >*
    casadi__OptionsFunctionality__getOptionAllowed(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0);
std::vector< casadi::GenericType* >*
    casadi__OptionsFunctionality__getOptionAllowed(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::vector< casadi::GenericType > ret = obj->getOptionAllowed(x0_);
        return WrapReturn< std::vector< casadi::GenericType* >*, std::vector< casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOptionAllowedIndex" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::getOptionAllowedIndex"
// cWrapperName: "casadi__OptionsFunctionality__getOptionAllowedIndex"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__OptionsFunctionality__getOptionAllowedIndex(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// call: "obj->getOptionAllowedIndex(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__OptionsFunctionality__getOptionAllowedIndex(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0);
int
    casadi__OptionsFunctionality__getOptionAllowedIndex(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        int ret = obj->getOptionAllowedIndex(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOptionDefault" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::getOptionDefault"
// cWrapperName: "casadi__OptionsFunctionality__getOptionDefault"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__OptionsFunctionality__getOptionDefault(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// call: "obj->getOptionDefault(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::GenericType*
    casadi__OptionsFunctionality__getOptionDefault(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0);
casadi::GenericType*
    casadi__OptionsFunctionality__getOptionDefault(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::GenericType ret = obj->getOptionDefault(x0_);
        return WrapReturn< casadi::GenericType*, casadi::GenericType >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOptionDescription" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::getOptionDescription"
// cWrapperName: "casadi__OptionsFunctionality__getOptionDescription"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__OptionsFunctionality__getOptionDescription(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// call: "obj->getOptionDescription(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__OptionsFunctionality__getOptionDescription(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0);
std::string*
    casadi__OptionsFunctionality__getOptionDescription(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = obj->getOptionDescription(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOptionEnumValue" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::getOptionEnumValue"
// cWrapperName: "casadi__OptionsFunctionality__getOptionEnumValue"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__OptionsFunctionality__getOptionEnumValue(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// call: "obj->getOptionEnumValue(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__OptionsFunctionality__getOptionEnumValue(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0);
int
    casadi__OptionsFunctionality__getOptionEnumValue(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        int ret = obj->getOptionEnumValue(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOptionNames" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::getOptionNames"
// cWrapperName: "casadi__OptionsFunctionality__getOptionNames"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj)"
// args: "()"
// rettype: StdVec StdString
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    casadi__OptionsFunctionality__getOptionNames(std::string ** err_msg, casadi::OptionsFunctionality* obj)"
// call: "obj->getOptionNames()"
// params: []
extern "C"
std::vector< std::string* >*
    casadi__OptionsFunctionality__getOptionNames(std::string ** err_msg, casadi::OptionsFunctionality* obj);
std::vector< std::string* >*
    casadi__OptionsFunctionality__getOptionNames(std::string ** err_msg, casadi::OptionsFunctionality* obj){
    try {

        std::vector< std::string > ret = obj->getOptionNames();
        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOptionType" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::getOptionType"
// cWrapperName: "casadi__OptionsFunctionality__getOptionType"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CEnum (Namespace ["casadi"]) (Name "TypeID")
// cWrapperRetType: "int"
// proto: "int\n    casadi__OptionsFunctionality__getOptionType(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// call: "obj->getOptionType(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__OptionsFunctionality__getOptionType(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0);
int
    casadi__OptionsFunctionality__getOptionType(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::TypeID ret = obj->getOptionType(x0_);
        return WrapReturn< int, casadi::TypeID >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOptionTypeName" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::getOptionTypeName"
// cWrapperName: "casadi__OptionsFunctionality__getOptionTypeName"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__OptionsFunctionality__getOptionTypeName(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// call: "obj->getOptionTypeName(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__OptionsFunctionality__getOptionTypeName(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0);
std::string*
    casadi__OptionsFunctionality__getOptionTypeName(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = obj->getOptionTypeName(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hasOption" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::hasOption"
// cWrapperName: "casadi__OptionsFunctionality__hasOption"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__OptionsFunctionality__hasOption(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// call: "obj->hasOption(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__OptionsFunctionality__hasOption(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0);
int
    casadi__OptionsFunctionality__hasOption(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = obj->hasOption(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hasSetOption" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::hasSetOption"
// cWrapperName: "casadi__OptionsFunctionality__hasSetOption"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__OptionsFunctionality__hasSetOption(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0)"
// call: "obj->hasSetOption(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__OptionsFunctionality__hasSetOption(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0);
int
    casadi__OptionsFunctionality__hasSetOption(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = obj->hasSetOption(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "printOptions" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::printOptions"
// cWrapperName: "casadi__OptionsFunctionality__printOptions"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptionsFunctionality__printOptions(std::string ** err_msg, casadi::OptionsFunctionality* obj)"
// call: "obj->printOptions()"
// params: []
extern "C"
void
    casadi__OptionsFunctionality__printOptions(std::string ** err_msg, casadi::OptionsFunctionality* obj);
void
    casadi__OptionsFunctionality__printOptions(std::string ** err_msg, casadi::OptionsFunctionality* obj){
    try {

        obj->printOptions();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setOption" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::setOption"
// cWrapperName: "casadi__OptionsFunctionality__setOption__0"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::map< std::string, casadi::GenericType* >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptionsFunctionality__setOption__0(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::map< std::string, casadi::GenericType* >* x0)"
// call: "obj->setOption(x0_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
void
    casadi__OptionsFunctionality__setOption__0(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::map< std::string, casadi::GenericType* >* x0);
void
    casadi__OptionsFunctionality__setOption__0(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::map< std::string, casadi::GenericType* >* x0){
    try {
        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);

        obj->setOption(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setOption" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::setOption"
// cWrapperName: "casadi__OptionsFunctionality__setOption__1"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::map< std::string, casadi::GenericType* >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptionsFunctionality__setOption__1(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::map< std::string, casadi::GenericType* >* x0, int x1)"
// call: "obj->setOption(x0_, x1_)"
// params: [Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),CBool]
extern "C"
void
    casadi__OptionsFunctionality__setOption__1(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::map< std::string, casadi::GenericType* >* x0, int x1);
void
    casadi__OptionsFunctionality__setOption__1(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::map< std::string, casadi::GenericType* >* x0, int x1){
    try {
        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->setOption(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setOption" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::setOption"
// cWrapperName: "casadi__OptionsFunctionality__setOption__2"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0, casadi::GenericType* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptionsFunctionality__setOption__2(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0, casadi::GenericType* x1)"
// call: "obj->setOption(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "GenericType")))]
extern "C"
void
    casadi__OptionsFunctionality__setOption__2(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0, casadi::GenericType* x1);
void
    casadi__OptionsFunctionality__setOption__2(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0, casadi::GenericType* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::GenericType& x1_ = Marshaling<casadi::GenericType&,casadi::GenericType*>::marshal(x1);

        obj->setOption(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setOptionByAllowedIndex" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::setOptionByAllowedIndex"
// cWrapperName: "casadi__OptionsFunctionality__setOptionByAllowedIndex"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptionsFunctionality__setOptionByAllowedIndex(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0, int x1)"
// call: "obj->setOptionByAllowedIndex(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
void
    casadi__OptionsFunctionality__setOptionByAllowedIndex(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0, int x1);
void
    casadi__OptionsFunctionality__setOptionByAllowedIndex(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->setOptionByAllowedIndex(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setOptionByEnumValue" ===============
// class: "casadi::OptionsFunctionality"
// cppName: "casadi::OptionsFunctionality::setOptionByEnumValue"
// cWrapperName: "casadi__OptionsFunctionality__setOptionByEnumValue"
// protoArgs: "(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptionsFunctionality__setOptionByEnumValue(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0, int x1)"
// call: "obj->setOptionByEnumValue(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
void
    casadi__OptionsFunctionality__setOptionByEnumValue(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0, int x1);
void
    casadi__OptionsFunctionality__setOptionByEnumValue(std::string ** err_msg, casadi::OptionsFunctionality* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->setOptionByEnumValue(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "QcqpSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "QcqpSolver")
extern "C"
void delete_casadi__QcqpSolver(casadi::QcqpSolver* obj);
void delete_casadi__QcqpSolver(casadi::QcqpSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::QcqpSolver"
// cppName: "casadi::QcqpSolver"
// cWrapperName: "casadi__QcqpSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "QcqpSolver")
// cWrapperRetType: "casadi::QcqpSolver*"
// proto: "casadi::QcqpSolver*\n    casadi__QcqpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// call: "casadi::QcqpSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::QcqpSolver*
    casadi__QcqpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
casadi::QcqpSolver*
    casadi__QcqpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);

        return new casadi::QcqpSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::QcqpSolver"
// cppName: "casadi::QcqpSolver"
// cWrapperName: "casadi__QcqpSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "QcqpSolver")
// cWrapperRetType: "casadi::QcqpSolver*"
// proto: "casadi::QcqpSolver*\n    casadi__QcqpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::QcqpSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::QcqpSolver*
    casadi__QcqpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::QcqpSolver*
    casadi__QcqpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::QcqpSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::QcqpSolver"
// cppName: "casadi::QcqpSolver"
// cWrapperName: "casadi__QcqpSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "QcqpSolver")
// cWrapperRetType: "casadi::QcqpSolver*"
// proto: "casadi::QcqpSolver*\n    casadi__QcqpSolver__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::QcqpSolver()"
// params: []
extern "C"
casadi::QcqpSolver*
    casadi__QcqpSolver__CONSTRUCTOR__2(std::string ** err_msg);
casadi::QcqpSolver*
    casadi__QcqpSolver__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::QcqpSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::QcqpSolver"
// cppName: "casadi::QcqpSolver::doc"
// cWrapperName: "casadi__QcqpSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__QcqpSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::QcqpSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__QcqpSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__QcqpSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::QcqpSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::QcqpSolver"
// cppName: "casadi::QcqpSolver::hasPlugin"
// cWrapperName: "casadi__QcqpSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__QcqpSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::QcqpSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__QcqpSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__QcqpSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::QcqpSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::QcqpSolver"
// cppName: "casadi::QcqpSolver::loadPlugin"
// cWrapperName: "casadi__QcqpSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__QcqpSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::QcqpSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__QcqpSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__QcqpSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::QcqpSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "QpSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "QpSolver")
extern "C"
void delete_casadi__QpSolver(casadi::QpSolver* obj);
void delete_casadi__QpSolver(casadi::QpSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::QpSolver"
// cppName: "casadi::QpSolver"
// cWrapperName: "casadi__QpSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "QpSolver")
// cWrapperRetType: "casadi::QpSolver*"
// proto: "casadi::QpSolver*\n    casadi__QpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// call: "casadi::QpSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::QpSolver*
    casadi__QpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
casadi::QpSolver*
    casadi__QpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);

        return new casadi::QpSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::QpSolver"
// cppName: "casadi::QpSolver"
// cWrapperName: "casadi__QpSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "QpSolver")
// cWrapperRetType: "casadi::QpSolver*"
// proto: "casadi::QpSolver*\n    casadi__QpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::QpSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::QpSolver*
    casadi__QpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::QpSolver*
    casadi__QpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::QpSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::QpSolver"
// cppName: "casadi::QpSolver"
// cWrapperName: "casadi__QpSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "QpSolver")
// cWrapperRetType: "casadi::QpSolver*"
// proto: "casadi::QpSolver*\n    casadi__QpSolver__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::QpSolver()"
// params: []
extern "C"
casadi::QpSolver*
    casadi__QpSolver__CONSTRUCTOR__2(std::string ** err_msg);
casadi::QpSolver*
    casadi__QpSolver__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::QpSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::QpSolver"
// cppName: "casadi::QpSolver::doc"
// cWrapperName: "casadi__QpSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__QpSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::QpSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__QpSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__QpSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::QpSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generateNativeCode" ===============
// class: "casadi::QpSolver"
// cppName: "casadi::QpSolver::generateNativeCode"
// cWrapperName: "casadi__QpSolver__generateNativeCode"
// protoArgs: "(std::string ** err_msg, casadi::QpSolver* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__QpSolver__generateNativeCode(std::string ** err_msg, casadi::QpSolver* obj, std::string* x0)"
// call: "obj->generateNativeCode(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__QpSolver__generateNativeCode(std::string ** err_msg, casadi::QpSolver* obj, std::string* x0);
void
    casadi__QpSolver__generateNativeCode(std::string ** err_msg, casadi::QpSolver* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->generateNativeCode(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::QpSolver"
// cppName: "casadi::QpSolver::hasPlugin"
// cWrapperName: "casadi__QpSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__QpSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::QpSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__QpSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__QpSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::QpSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::QpSolver"
// cppName: "casadi::QpSolver::loadPlugin"
// cWrapperName: "casadi__QpSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__QpSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::QpSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__QpSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__QpSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::QpSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "SX")===============
// classType: UserType (Namespace ["casadi"]) (Name "SX")
extern "C"
void delete_casadi__SX(casadi::SX* obj);
void delete_casadi__SX(casadi::SX* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__0(std::string ** err_msg, std::vector< double >* x0)"
// call: "casadi::SX(x0_)"
// params: [Ref (Const (StdVec CDouble))]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__0(std::string ** err_msg, std::vector< double >* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__0(std::string ** err_msg, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        return new casadi::SX(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, casadi::DMatrix* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__1(std::string ** err_msg, casadi::DMatrix* x0)"
// call: "casadi::SX(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__1(std::string ** err_msg, casadi::DMatrix* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__1(std::string ** err_msg, casadi::DMatrix* x0){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);

        return new casadi::SX(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__2(std::string ** err_msg, std::vector< int >* x0)"
// call: "casadi::SX(x0_)"
// params: [Ref (Const (StdVec CInt))]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__2(std::string ** err_msg, std::vector< int >* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__2(std::string ** err_msg, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        return new casadi::SX(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, casadi::IMatrix* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__3(std::string ** err_msg, casadi::IMatrix* x0)"
// call: "casadi::SX(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__3(std::string ** err_msg, casadi::IMatrix* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__3(std::string ** err_msg, casadi::IMatrix* x0){
    try {
        casadi::IMatrix& x0_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x0);

        return new casadi::SX(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// call: "casadi::SX(x0_)"
// params: [Ref (Const (StdVec (StdVec CDouble)))]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
    try {
        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);

        return new casadi::SX(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, double x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__5(std::string ** err_msg, double x0)"
// call: "casadi::SX(x0_)"
// params: [CDouble]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__5(std::string ** err_msg, double x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__5(std::string ** err_msg, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        return new casadi::SX(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1)"
// call: "casadi::SX(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1);
casadi::SX*
    casadi__SX__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        return new casadi::SX(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::SX(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        return new casadi::SX(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__8"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__8(std::string ** err_msg, int x0, int x1)"
// call: "casadi::SX(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__8(std::string ** err_msg, int x0, int x1);
casadi::SX*
    casadi__SX__CONSTRUCTOR__8(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        return new casadi::SX(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__9"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__9(std::string ** err_msg, casadi::SX* x0)"
// call: "casadi::SX(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__9(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__9(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        return new casadi::SX(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__10"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__10(std::string ** err_msg)"
// call: "casadi::SX()"
// params: []
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__10(std::string ** err_msg);
casadi::SX*
    casadi__SX__CONSTRUCTOR__10(std::string ** err_msg){
    try {

        return new casadi::SX();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "T" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::T"
// cWrapperName: "casadi__SX__T"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__T(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->T()"
// params: []
extern "C"
casadi::SX*
    casadi__SX__T(std::string ** err_msg, casadi::SX* obj);
casadi::SX*
    casadi__SX__T(std::string ** err_msg, casadi::SX* obj){
    try {

        casadi::SX ret = obj->T();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "__nonzero__" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::__nonzero__"
// cWrapperName: "casadi__SX____nonzero__"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX____nonzero__(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->__nonzero__()"
// params: []
extern "C"
int
    casadi__SX____nonzero__(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX____nonzero__(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->__nonzero__();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "append" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::append"
// cWrapperName: "casadi__SX__append"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__append(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
// call: "obj->append(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
void
    casadi__SX__append(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0);
void
    casadi__SX__append(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        obj->append(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "appendColumns" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::appendColumns"
// cWrapperName: "casadi__SX__appendColumns"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__appendColumns(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
// call: "obj->appendColumns(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
void
    casadi__SX__appendColumns(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0);
void
    casadi__SX__appendColumns(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        obj->appendColumns(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "binary" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::binary"
// cWrapperName: "casadi__SX__binary"
// protoArgs: "(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__binary(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
// call: "casadi::SX::binary(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
casadi::SX*
    casadi__SX__binary(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi__SX__binary(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = casadi::SX::binary(x0_, x1_, x2_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "className" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::className"
// cWrapperName: "casadi__SX__className"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SX__className(std::string ** err_msg)"
// call: "casadi::SX::className()"
// params: []
extern "C"
std::string*
    casadi__SX__className(std::string ** err_msg);
std::string*
    casadi__SX__className(std::string ** err_msg){
    try {

        std::string ret = casadi::SX::className();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "clear" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::clear"
// cWrapperName: "casadi__SX__clear"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__clear(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->clear()"
// params: []
extern "C"
void
    casadi__SX__clear(std::string ** err_msg, casadi::SX* obj);
void
    casadi__SX__clear(std::string ** err_msg, casadi::SX* obj){
    try {

        obj->clear();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "colind" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::colind"
// cWrapperName: "casadi__SX__colind"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__colind(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "obj->colind(x0_)"
// params: [CInt]
extern "C"
int
    casadi__SX__colind(std::string ** err_msg, casadi::SX* obj, int x0);
int
    casadi__SX__colind(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->colind(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dimString" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::dimString"
// cWrapperName: "casadi__SX__dimString"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SX__dimString(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->dimString()"
// params: []
extern "C"
std::string*
    casadi__SX__dimString(std::string ** err_msg, casadi::SX* obj);
std::string*
    casadi__SX__dimString(std::string ** err_msg, casadi::SX* obj){
    try {

        std::string ret = obj->dimString();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::enlarge"
// cWrapperName: "casadi__SX__enlarge__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__enlarge__0(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// call: "obj->enlarge(x0_, x1_, x2_, x3_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__SX__enlarge__0(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
void
    casadi__SX__enlarge__0(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);

        obj->enlarge(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::enlarge"
// cWrapperName: "casadi__SX__enlarge__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__enlarge__1(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
// call: "obj->enlarge(x0_, x1_, x2_, x3_, x4_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__SX__enlarge__1(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4);
void
    casadi__SX__enlarge__1(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::erase"
// cWrapperName: "casadi__SX__erase__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__erase__0(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0)"
// call: "obj->erase(x0_)"
// params: [Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__SX__erase__0(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0);
void
    casadi__SX__erase__0(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        obj->erase(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::erase"
// cWrapperName: "casadi__SX__erase__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__erase__1(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, int x1)"
// call: "obj->erase(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__SX__erase__1(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, int x1);
void
    casadi__SX__erase__1(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, int x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->erase(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::erase"
// cWrapperName: "casadi__SX__erase__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__erase__2(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1)"
// call: "obj->erase(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__SX__erase__2(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1);
void
    casadi__SX__erase__2(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        obj->erase(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::erase"
// cWrapperName: "casadi__SX__erase__3"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__erase__3(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
// call: "obj->erase(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__SX__erase__3(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2);
void
    casadi__SX__erase__3(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->erase(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "eye" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::eye"
// cWrapperName: "casadi__SX__eye"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__eye(std::string ** err_msg, int x0)"
// call: "casadi::SX::eye(x0_)"
// params: [CInt]
extern "C"
casadi::SX*
    casadi__SX__eye(std::string ** err_msg, int x0);
casadi::SX*
    casadi__SX__eye(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX ret = casadi::SX::eye(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "find" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::find"
// cWrapperName: "casadi__SX__find__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__SX__find__0(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->find()"
// params: []
extern "C"
std::vector< int >*
    casadi__SX__find__0(std::string ** err_msg, casadi::SX* obj);
std::vector< int >*
    casadi__SX__find__0(std::string ** err_msg, casadi::SX* obj){
    try {

        std::vector< int > ret = obj->find();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "find" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::find"
// cWrapperName: "casadi__SX__find__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__SX__find__1(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "obj->find(x0_)"
// params: [CBool]
extern "C"
std::vector< int >*
    casadi__SX__find__1(std::string ** err_msg, casadi::SX* obj, int x0);
std::vector< int >*
    casadi__SX__find__1(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::vector< int > ret = obj->find(x0_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "SX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__SX__get__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3);
void
    casadi__SX__get__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "SX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__SX__get__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3);
void
    casadi__SX__get__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "SX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__SX__get__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3);
void
    casadi__SX__get__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__3"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "obj->get(x0_, x1_, x2_, x3_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "SX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__SX__get__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__SX__get__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__4"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2)"
// call: "obj->get(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "SX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
void
    casadi__SX__get__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2);
void
    casadi__SX__get__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__5"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->get(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "SX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__SX__get__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2);
void
    casadi__SX__get__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__6"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
// call: "obj->get(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "SX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__SX__get__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2);
void
    casadi__SX__get__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__7"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__7(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0)"
// call: "obj->get(x0_)"
// params: [Ref (StdVec CDouble)]
extern "C"
void
    casadi__SX__get__7(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0);
void
    casadi__SX__get__7(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->get(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getColind" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getColind"
// cWrapperName: "casadi__SX__getColind"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__SX__getColind(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->getColind()"
// params: []
extern "C"
std::vector< int >*
    casadi__SX__getColind(std::string ** err_msg, casadi::SX* obj);
std::vector< int >*
    casadi__SX__getColind(std::string ** err_msg, casadi::SX* obj){
    try {

        std::vector< int > ret = obj->getColind();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDep" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getDep"
// cWrapperName: "casadi__SX__getDep__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__getDep__0(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->getDep()"
// params: []
extern "C"
casadi::SX*
    casadi__SX__getDep__0(std::string ** err_msg, casadi::SX* obj);
casadi::SX*
    casadi__SX__getDep__0(std::string ** err_msg, casadi::SX* obj){
    try {

        casadi::SX ret = obj->getDep();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDep" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getDep"
// cWrapperName: "casadi__SX__getDep__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__getDep__1(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "obj->getDep(x0_)"
// params: [CInt]
extern "C"
casadi::SX*
    casadi__SX__getDep__1(std::string ** err_msg, casadi::SX* obj, int x0);
casadi::SX*
    casadi__SX__getDep__1(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX ret = obj->getDep(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getElementHash" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getElementHash"
// cWrapperName: "casadi__SX__getElementHash"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__SX__getElementHash(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->getElementHash()"
// params: []
extern "C"
size_t
    casadi__SX__getElementHash(std::string ** err_msg, casadi::SX* obj);
size_t
    casadi__SX__getElementHash(std::string ** err_msg, casadi::SX* obj){
    try {

        size_t ret = obj->getElementHash();
        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getEqualityCheckingDepth" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getEqualityCheckingDepth"
// cWrapperName: "casadi__SX__getEqualityCheckingDepth"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__getEqualityCheckingDepth(std::string ** err_msg)"
// call: "casadi::SX::getEqualityCheckingDepth()"
// params: []
extern "C"
int
    casadi__SX__getEqualityCheckingDepth(std::string ** err_msg);
int
    casadi__SX__getEqualityCheckingDepth(std::string ** err_msg){
    try {

        int ret = casadi::SX::getEqualityCheckingDepth();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getIntValue" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getIntValue"
// cWrapperName: "casadi__SX__getIntValue"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__getIntValue(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->getIntValue()"
// params: []
extern "C"
int
    casadi__SX__getIntValue(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__getIntValue(std::string ** err_msg, casadi::SX* obj){
    try {

        int ret = obj->getIntValue();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getNZ"
// cWrapperName: "casadi__SX__getNZ__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__getNZ__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->getNZ(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "SX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__SX__getNZ__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2);
void
    casadi__SX__getNZ__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->getNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getNZ"
// cWrapperName: "casadi__SX__getNZ__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__getNZ__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
// call: "obj->getNZ(x0_, x1_, x2_)"
// params: [Ref (UserType (Namespace ["casadi"]) (Name "SX")),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__SX__getNZ__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2);
void
    casadi__SX__getNZ__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->getNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getNZ"
// cWrapperName: "casadi__SX__getNZ__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__getNZ__2(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0)"
// call: "obj->getNZ(x0_)"
// params: [Ref (StdVec CDouble)]
extern "C"
void
    casadi__SX__getNZ__2(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0);
void
    casadi__SX__getNZ__2(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->getNZ(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getName" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getName"
// cWrapperName: "casadi__SX__getName"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SX__getName(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->getName()"
// params: []
extern "C"
std::string*
    casadi__SX__getName(std::string ** err_msg, casadi::SX* obj);
std::string*
    casadi__SX__getName(std::string ** err_msg, casadi::SX* obj){
    try {

        std::string ret = obj->getName();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getNdeps" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getNdeps"
// cWrapperName: "casadi__SX__getNdeps"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__getNdeps(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->getNdeps()"
// params: []
extern "C"
int
    casadi__SX__getNdeps(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__getNdeps(std::string ** err_msg, casadi::SX* obj){
    try {

        int ret = obj->getNdeps();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getRow" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getRow"
// cWrapperName: "casadi__SX__getRow"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__SX__getRow(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->getRow()"
// params: []
extern "C"
std::vector< int >*
    casadi__SX__getRow(std::string ** err_msg, casadi::SX* obj);
std::vector< int >*
    casadi__SX__getRow(std::string ** err_msg, casadi::SX* obj){
    try {

        std::vector< int > ret = obj->getRow();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getSparsity" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getSparsity"
// cWrapperName: "casadi__SX__getSparsity"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__SX__getSparsity(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->getSparsity()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__SX__getSparsity(std::string ** err_msg, casadi::SX* obj);
casadi::Sparsity*
    casadi__SX__getSparsity(std::string ** err_msg, casadi::SX* obj){
    try {

        casadi::Sparsity ret = obj->getSparsity();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getSym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getSym"
// cWrapperName: "casadi__SX__getSym"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__getSym(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0)"
// call: "obj->getSym(x0_)"
// params: [Ref (StdVec CDouble)]
extern "C"
void
    casadi__SX__getSym(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0);
void
    casadi__SX__getSym(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->getSym(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getValue" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getValue"
// cWrapperName: "casadi__SX__getValue__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__SX__getValue__0(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "obj->getValue(x0_)"
// params: [CInt]
extern "C"
double
    casadi__SX__getValue__0(std::string ** err_msg, casadi::SX* obj, int x0);
double
    casadi__SX__getValue__0(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        double ret = obj->getValue(x0_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getValue" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getValue"
// cWrapperName: "casadi__SX__getValue__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__SX__getValue__1(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->getValue()"
// params: []
extern "C"
double
    casadi__SX__getValue__1(std::string ** err_msg, casadi::SX* obj);
double
    casadi__SX__getValue__1(std::string ** err_msg, casadi::SX* obj){
    try {

        double ret = obj->getValue();
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hasDuplicates" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::hasDuplicates"
// cWrapperName: "casadi__SX__hasDuplicates"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__hasDuplicates(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->hasDuplicates()"
// params: []
extern "C"
int
    casadi__SX__hasDuplicates(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__hasDuplicates(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->hasDuplicates();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hasNZ" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::hasNZ"
// cWrapperName: "casadi__SX__hasNZ"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__hasNZ(std::string ** err_msg, casadi::SX* obj, int x0, int x1)"
// call: "obj->hasNZ(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
int
    casadi__SX__hasNZ(std::string ** err_msg, casadi::SX* obj, int x0, int x1);
int
    casadi__SX__hasNZ(std::string ** err_msg, casadi::SX* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        bool ret = obj->hasNZ(x0_, x1_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hasNonStructuralZeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::hasNonStructuralZeros"
// cWrapperName: "casadi__SX__hasNonStructuralZeros"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__hasNonStructuralZeros(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->hasNonStructuralZeros()"
// params: []
extern "C"
int
    casadi__SX__hasNonStructuralZeros(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__hasNonStructuralZeros(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->hasNonStructuralZeros();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::inf"
// cWrapperName: "casadi__SX__inf__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__inf__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::SX::inf(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::SX*
    casadi__SX__inf__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::SX*
    casadi__SX__inf__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::SX ret = casadi::SX::inf(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::inf"
// cWrapperName: "casadi__SX__inf__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__inf__1(std::string ** err_msg)"
// call: "casadi::SX::inf()"
// params: []
extern "C"
casadi::SX*
    casadi__SX__inf__1(std::string ** err_msg);
casadi::SX*
    casadi__SX__inf__1(std::string ** err_msg){
    try {

        casadi::SX ret = casadi::SX::inf();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::inf"
// cWrapperName: "casadi__SX__inf__2"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__inf__2(std::string ** err_msg, int x0)"
// call: "casadi::SX::inf(x0_)"
// params: [CInt]
extern "C"
casadi::SX*
    casadi__SX__inf__2(std::string ** err_msg, int x0);
casadi::SX*
    casadi__SX__inf__2(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX ret = casadi::SX::inf(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::inf"
// cWrapperName: "casadi__SX__inf__3"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__inf__3(std::string ** err_msg, int x0, int x1)"
// call: "casadi::SX::inf(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::SX*
    casadi__SX__inf__3(std::string ** err_msg, int x0, int x1);
casadi::SX*
    casadi__SX__inf__3(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = casadi::SX::inf(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::inf"
// cWrapperName: "casadi__SX__inf__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::SX::inf(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::SX*
    casadi__SX__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::SX*
    casadi__SX__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::SX ret = casadi::SX::inf(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isCommutative" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isCommutative"
// cWrapperName: "casadi__SX__isCommutative"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isCommutative(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isCommutative()"
// params: []
extern "C"
int
    casadi__SX__isCommutative(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isCommutative(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isCommutative();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isConstant" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isConstant"
// cWrapperName: "casadi__SX__isConstant"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isConstant(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isConstant()"
// params: []
extern "C"
int
    casadi__SX__isConstant(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isConstant(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isConstant();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isIdentity" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isIdentity"
// cWrapperName: "casadi__SX__isIdentity"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isIdentity(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isIdentity()"
// params: []
extern "C"
int
    casadi__SX__isIdentity(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isIdentity(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isIdentity();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isInteger" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isInteger"
// cWrapperName: "casadi__SX__isInteger"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isInteger(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isInteger()"
// params: []
extern "C"
int
    casadi__SX__isInteger(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isInteger(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isInteger();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isLeaf" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isLeaf"
// cWrapperName: "casadi__SX__isLeaf"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isLeaf(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isLeaf()"
// params: []
extern "C"
int
    casadi__SX__isLeaf(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isLeaf(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isLeaf();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isMinusOne" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isMinusOne"
// cWrapperName: "casadi__SX__isMinusOne"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isMinusOne(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isMinusOne()"
// params: []
extern "C"
int
    casadi__SX__isMinusOne(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isMinusOne(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isMinusOne();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isOne" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isOne"
// cWrapperName: "casadi__SX__isOne"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isOne(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isOne()"
// params: []
extern "C"
int
    casadi__SX__isOne(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isOne(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isOne();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isRegular" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isRegular"
// cWrapperName: "casadi__SX__isRegular"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isRegular(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isRegular()"
// params: []
extern "C"
int
    casadi__SX__isRegular(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isRegular(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isRegular();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isSlice" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isSlice"
// cWrapperName: "casadi__SX__isSlice__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isSlice__0(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isSlice()"
// params: []
extern "C"
int
    casadi__SX__isSlice__0(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isSlice__0(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isSlice();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isSlice" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isSlice"
// cWrapperName: "casadi__SX__isSlice__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isSlice__1(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "obj->isSlice(x0_)"
// params: [CBool]
extern "C"
int
    casadi__SX__isSlice__1(std::string ** err_msg, casadi::SX* obj, int x0);
int
    casadi__SX__isSlice__1(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->isSlice(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isSmooth" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isSmooth"
// cWrapperName: "casadi__SX__isSmooth"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isSmooth(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isSmooth()"
// params: []
extern "C"
int
    casadi__SX__isSmooth(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isSmooth(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isSmooth();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isSymbolic" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isSymbolic"
// cWrapperName: "casadi__SX__isSymbolic"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isSymbolic(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isSymbolic()"
// params: []
extern "C"
int
    casadi__SX__isSymbolic(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isSymbolic(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isSymbolic();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isValidInput" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isValidInput"
// cWrapperName: "casadi__SX__isValidInput"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isValidInput(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isValidInput()"
// params: []
extern "C"
int
    casadi__SX__isValidInput(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isValidInput(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isValidInput();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isZero" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isZero"
// cWrapperName: "casadi__SX__isZero"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isZero(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isZero()"
// params: []
extern "C"
int
    casadi__SX__isZero(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isZero(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isZero();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "iscolumn" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::iscolumn"
// cWrapperName: "casadi__SX__iscolumn"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__iscolumn(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->iscolumn()"
// params: []
extern "C"
int
    casadi__SX__iscolumn(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__iscolumn(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->iscolumn();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isdense" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isdense"
// cWrapperName: "casadi__SX__isdense"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isdense(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isdense()"
// params: []
extern "C"
int
    casadi__SX__isdense(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isdense(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isdense();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isempty" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isempty"
// cWrapperName: "casadi__SX__isempty__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isempty__0(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isempty()"
// params: []
extern "C"
int
    casadi__SX__isempty__0(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isempty__0(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isempty();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isempty" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isempty"
// cWrapperName: "casadi__SX__isempty__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isempty__1(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "obj->isempty(x0_)"
// params: [CBool]
extern "C"
int
    casadi__SX__isempty__1(std::string ** err_msg, casadi::SX* obj, int x0);
int
    casadi__SX__isempty__1(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->isempty(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isrow" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isrow"
// cWrapperName: "casadi__SX__isrow"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isrow(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isrow()"
// params: []
extern "C"
int
    casadi__SX__isrow(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isrow(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isrow();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isscalar" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isscalar"
// cWrapperName: "casadi__SX__isscalar__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isscalar__0(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isscalar()"
// params: []
extern "C"
int
    casadi__SX__isscalar__0(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isscalar__0(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isscalar();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isscalar" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isscalar"
// cWrapperName: "casadi__SX__isscalar__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isscalar__1(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "obj->isscalar(x0_)"
// params: [CBool]
extern "C"
int
    casadi__SX__isscalar__1(std::string ** err_msg, casadi::SX* obj, int x0);
int
    casadi__SX__isscalar__1(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->isscalar(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "issquare" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::issquare"
// cWrapperName: "casadi__SX__issquare"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__issquare(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->issquare()"
// params: []
extern "C"
int
    casadi__SX__issquare(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__issquare(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->issquare();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "istril" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::istril"
// cWrapperName: "casadi__SX__istril"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__istril(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->istril()"
// params: []
extern "C"
int
    casadi__SX__istril(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__istril(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->istril();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "istriu" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::istriu"
// cWrapperName: "casadi__SX__istriu"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__istriu(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->istriu()"
// params: []
extern "C"
int
    casadi__SX__istriu(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__istriu(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->istriu();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isvector" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::isvector"
// cWrapperName: "casadi__SX__isvector"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__isvector(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->isvector()"
// params: []
extern "C"
int
    casadi__SX__isvector(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__isvector(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->isvector();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "makeSparse" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::makeSparse"
// cWrapperName: "casadi__SX__makeSparse__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__makeSparse__0(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->makeSparse()"
// params: []
extern "C"
void
    casadi__SX__makeSparse__0(std::string ** err_msg, casadi::SX* obj);
void
    casadi__SX__makeSparse__0(std::string ** err_msg, casadi::SX* obj){
    try {

        obj->makeSparse();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "makeSparse" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::makeSparse"
// cWrapperName: "casadi__SX__makeSparse__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__makeSparse__1(std::string ** err_msg, casadi::SX* obj, double x0)"
// call: "obj->makeSparse(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__SX__makeSparse__1(std::string ** err_msg, casadi::SX* obj, double x0);
void
    casadi__SX__makeSparse__1(std::string ** err_msg, casadi::SX* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->makeSparse(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "matrix_matrix" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::matrix_matrix"
// cWrapperName: "casadi__SX__matrix_matrix"
// protoArgs: "(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__matrix_matrix(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
// call: "casadi::SX::matrix_matrix(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
casadi::SX*
    casadi__SX__matrix_matrix(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi__SX__matrix_matrix(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = casadi::SX::matrix_matrix(x0_, x1_, x2_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "matrix_scalar" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::matrix_scalar"
// cWrapperName: "casadi__SX__matrix_scalar"
// protoArgs: "(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__matrix_scalar(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
// call: "casadi::SX::matrix_scalar(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
casadi::SX*
    casadi__SX__matrix_scalar(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi__SX__matrix_scalar(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = casadi::SX::matrix_scalar(x0_, x1_, x2_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nan"
// cWrapperName: "casadi__SX__nan__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__nan__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::SX::nan(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::SX*
    casadi__SX__nan__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::SX*
    casadi__SX__nan__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::SX ret = casadi::SX::nan(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nan"
// cWrapperName: "casadi__SX__nan__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__nan__1(std::string ** err_msg)"
// call: "casadi::SX::nan()"
// params: []
extern "C"
casadi::SX*
    casadi__SX__nan__1(std::string ** err_msg);
casadi::SX*
    casadi__SX__nan__1(std::string ** err_msg){
    try {

        casadi::SX ret = casadi::SX::nan();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nan"
// cWrapperName: "casadi__SX__nan__2"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__nan__2(std::string ** err_msg, int x0)"
// call: "casadi::SX::nan(x0_)"
// params: [CInt]
extern "C"
casadi::SX*
    casadi__SX__nan__2(std::string ** err_msg, int x0);
casadi::SX*
    casadi__SX__nan__2(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX ret = casadi::SX::nan(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nan"
// cWrapperName: "casadi__SX__nan__3"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__nan__3(std::string ** err_msg, int x0, int x1)"
// call: "casadi::SX::nan(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::SX*
    casadi__SX__nan__3(std::string ** err_msg, int x0, int x1);
casadi::SX*
    casadi__SX__nan__3(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = casadi::SX::nan(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nan"
// cWrapperName: "casadi__SX__nan__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::SX::nan(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::SX*
    casadi__SX__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::SX*
    casadi__SX__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::SX ret = casadi::SX::nan(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nnz"
// cWrapperName: "casadi__SX__nnz"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__nnz(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->nnz()"
// params: []
extern "C"
int
    casadi__SX__nnz(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__nnz(std::string ** err_msg, casadi::SX* obj){
    try {

        int ret = obj->nnz();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nonzeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nonzeros"
// cWrapperName: "casadi__SX__nonzeros"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__SX__nonzeros(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->nonzeros()"
// params: []
extern "C"
std::vector< double >*
    casadi__SX__nonzeros(std::string ** err_msg, casadi::SX* obj);
std::vector< double >*
    casadi__SX__nonzeros(std::string ** err_msg, casadi::SX* obj){
    try {

        std::vector< double > ret = obj->nonzeros();
        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nonzeros_int" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nonzeros_int"
// cWrapperName: "casadi__SX__nonzeros_int"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__SX__nonzeros_int(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->nonzeros_int()"
// params: []
extern "C"
std::vector< int >*
    casadi__SX__nonzeros_int(std::string ** err_msg, casadi::SX* obj);
std::vector< int >*
    casadi__SX__nonzeros_int(std::string ** err_msg, casadi::SX* obj){
    try {

        std::vector< int > ret = obj->nonzeros_int();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::numel"
// cWrapperName: "casadi__SX__numel__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__numel__0(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "obj->numel(x0_)"
// params: [CInt]
extern "C"
int
    casadi__SX__numel__0(std::string ** err_msg, casadi::SX* obj, int x0);
int
    casadi__SX__numel__0(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->numel(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::numel"
// cWrapperName: "casadi__SX__numel__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__numel__1(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->numel()"
// params: []
extern "C"
int
    casadi__SX__numel__1(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__numel__1(std::string ** err_msg, casadi::SX* obj){
    try {

        int ret = obj->numel();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::ones"
// cWrapperName: "casadi__SX__ones__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__ones__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::SX::ones(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::SX*
    casadi__SX__ones__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::SX*
    casadi__SX__ones__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::SX ret = casadi::SX::ones(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::ones"
// cWrapperName: "casadi__SX__ones__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::SX::ones(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::SX*
    casadi__SX__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::SX*
    casadi__SX__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::SX ret = casadi::SX::ones(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::ones"
// cWrapperName: "casadi__SX__ones__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__ones__2(std::string ** err_msg)"
// call: "casadi::SX::ones()"
// params: []
extern "C"
casadi::SX*
    casadi__SX__ones__2(std::string ** err_msg);
casadi::SX*
    casadi__SX__ones__2(std::string ** err_msg){
    try {

        casadi::SX ret = casadi::SX::ones();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::ones"
// cWrapperName: "casadi__SX__ones__3"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__ones__3(std::string ** err_msg, int x0)"
// call: "casadi::SX::ones(x0_)"
// params: [CInt]
extern "C"
casadi::SX*
    casadi__SX__ones__3(std::string ** err_msg, int x0);
casadi::SX*
    casadi__SX__ones__3(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX ret = casadi::SX::ones(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::ones"
// cWrapperName: "casadi__SX__ones__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__ones__4(std::string ** err_msg, int x0, int x1)"
// call: "casadi::SX::ones(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::SX*
    casadi__SX__ones__4(std::string ** err_msg, int x0, int x1);
casadi::SX*
    casadi__SX__ones__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = casadi::SX::ones(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator +" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::operator +"
// cWrapperName: "casadi__SX__operator_plus"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__operator_plus(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->operator +()"
// params: []
extern "C"
casadi::SX*
    casadi__SX__operator_plus(std::string ** err_msg, casadi::SX* obj);
casadi::SX*
    casadi__SX__operator_plus(std::string ** err_msg, casadi::SX* obj){
    try {

        casadi::SX ret = obj->operator +();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator -" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::operator -"
// cWrapperName: "casadi__SX__operator_minus"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__operator_minus(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->operator -()"
// params: []
extern "C"
casadi::SX*
    casadi__SX__operator_minus(std::string ** err_msg, casadi::SX* obj);
casadi::SX*
    casadi__SX__operator_minus(std::string ** err_msg, casadi::SX* obj){
    try {

        casadi::SX ret = obj->operator -();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "printDense" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::printDense"
// cWrapperName: "casadi__SX__printDense"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__printDense(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->printDense()"
// params: []
extern "C"
void
    casadi__SX__printDense(std::string ** err_msg, casadi::SX* obj);
void
    casadi__SX__printDense(std::string ** err_msg, casadi::SX* obj){
    try {

        obj->printDense();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printScalar" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::printScalar"
// cWrapperName: "casadi__SX__printScalar"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__printScalar(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->printScalar()"
// params: []
extern "C"
void
    casadi__SX__printScalar(std::string ** err_msg, casadi::SX* obj);
void
    casadi__SX__printScalar(std::string ** err_msg, casadi::SX* obj){
    try {

        obj->printScalar();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printSparse" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::printSparse"
// cWrapperName: "casadi__SX__printSparse"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__printSparse(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->printSparse()"
// params: []
extern "C"
void
    casadi__SX__printSparse(std::string ** err_msg, casadi::SX* obj);
void
    casadi__SX__printSparse(std::string ** err_msg, casadi::SX* obj){
    try {

        obj->printSparse();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printSplit" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::printSplit"
// cWrapperName: "casadi__SX__printSplit"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >* x0, std::vector< std::string* >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__printSplit(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >* x0, std::vector< std::string* >* x1)"
// call: "obj->printSplit(x0_, x1_)"
// params: [Ref (StdVec StdString),Ref (StdVec StdString)]
extern "C"
void
    casadi__SX__printSplit(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >* x0, std::vector< std::string* >* x1);
void
    casadi__SX__printSplit(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >* x0, std::vector< std::string* >* x1){
    try {
        std::vector< std::string > x0_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);

        obj->printSplit(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printVector" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::printVector"
// cWrapperName: "casadi__SX__printVector"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__printVector(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->printVector()"
// params: []
extern "C"
void
    casadi__SX__printVector(std::string ** err_msg, casadi::SX* obj);
void
    casadi__SX__printVector(std::string ** err_msg, casadi::SX* obj){
    try {

        obj->printVector();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printme" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::printme"
// cWrapperName: "casadi__SX__printme"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__printme(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
// call: "obj->printme(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
casadi::SX*
    casadi__SX__printme(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0);
casadi::SX*
    casadi__SX__printme(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = obj->printme(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "remove" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::remove"
// cWrapperName: "casadi__SX__remove"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__remove(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1)"
// call: "obj->remove(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__SX__remove(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1);
void
    casadi__SX__remove(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        obj->remove(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reserve" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::reserve"
// cWrapperName: "casadi__SX__reserve__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__reserve__0(std::string ** err_msg, casadi::SX* obj, int x0, int x1)"
// call: "obj->reserve(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
void
    casadi__SX__reserve__0(std::string ** err_msg, casadi::SX* obj, int x0, int x1);
void
    casadi__SX__reserve__0(std::string ** err_msg, casadi::SX* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->reserve(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reserve" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::reserve"
// cWrapperName: "casadi__SX__reserve__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__reserve__1(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "obj->reserve(x0_)"
// params: [CInt]
extern "C"
void
    casadi__SX__reserve__1(std::string ** err_msg, casadi::SX* obj, int x0);
void
    casadi__SX__reserve__1(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        obj->reserve(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "resetInput" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::resetInput"
// cWrapperName: "casadi__SX__resetInput"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__resetInput(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->resetInput()"
// params: []
extern "C"
void
    casadi__SX__resetInput(std::string ** err_msg, casadi::SX* obj);
void
    casadi__SX__resetInput(std::string ** err_msg, casadi::SX* obj){
    try {

        obj->resetInput();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "resize" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::resize"
// cWrapperName: "casadi__SX__resize"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__resize(std::string ** err_msg, casadi::SX* obj, int x0, int x1)"
// call: "obj->resize(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
void
    casadi__SX__resize(std::string ** err_msg, casadi::SX* obj, int x0, int x1);
void
    casadi__SX__resize(std::string ** err_msg, casadi::SX* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->resize(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "row" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::row"
// cWrapperName: "casadi__SX__row"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__row(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "obj->row(x0_)"
// params: [CInt]
extern "C"
int
    casadi__SX__row(std::string ** err_msg, casadi::SX* obj, int x0);
int
    casadi__SX__row(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->row(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sanityCheck" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sanityCheck"
// cWrapperName: "casadi__SX__sanityCheck__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__sanityCheck__0(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->sanityCheck()"
// params: []
extern "C"
void
    casadi__SX__sanityCheck__0(std::string ** err_msg, casadi::SX* obj);
void
    casadi__SX__sanityCheck__0(std::string ** err_msg, casadi::SX* obj){
    try {

        obj->sanityCheck();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "sanityCheck" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sanityCheck"
// cWrapperName: "casadi__SX__sanityCheck__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__sanityCheck__1(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "obj->sanityCheck(x0_)"
// params: [CBool]
extern "C"
void
    casadi__SX__sanityCheck__1(std::string ** err_msg, casadi::SX* obj, int x0);
void
    casadi__SX__sanityCheck__1(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        obj->sanityCheck(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "scalar_matrix" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::scalar_matrix"
// cWrapperName: "casadi__SX__scalar_matrix"
// protoArgs: "(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__scalar_matrix(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
// call: "casadi::SX::scalar_matrix(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
casadi::SX*
    casadi__SX__scalar_matrix(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi__SX__scalar_matrix(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = casadi::SX::scalar_matrix(x0_, x1_, x2_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__SX__set__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3);
void
    casadi__SX__set__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::IMatrix* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__SX__set__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3);
void
    casadi__SX__set__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2, casadi::Slice* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__SX__set__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3);
void
    casadi__SX__set__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IMatrix* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IMatrix& x3_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__3"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "obj->set(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__SX__set__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__SX__set__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__4"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2)"
// call: "obj->set(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
void
    casadi__SX__set__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2);
void
    casadi__SX__set__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__5"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->set(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__SX__set__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2);
void
    casadi__SX__set__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__6"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
// call: "obj->set(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__SX__set__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2);
void
    casadi__SX__set__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__7"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__7(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0)"
// call: "obj->set(x0_)"
// params: [Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__SX__set__7(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0);
void
    casadi__SX__set__7(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->set(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__8"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__8(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0, int x1)"
// call: "obj->set(x0_, x1_)"
// params: [Ref (Const (StdVec CDouble)),CBool]
extern "C"
void
    casadi__SX__set__8(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0, int x1);
void
    casadi__SX__set__8(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0, int x1){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->set(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__9"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__9(std::string ** err_msg, casadi::SX* obj, double x0)"
// call: "obj->set(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__SX__set__9(std::string ** err_msg, casadi::SX* obj, double x0);
void
    casadi__SX__set__9(std::string ** err_msg, casadi::SX* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->set(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__10"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__10(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
// call: "obj->set(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
void
    casadi__SX__set__10(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0);
void
    casadi__SX__set__10(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        obj->set(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setEqualityCheckingDepth" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::setEqualityCheckingDepth"
// cWrapperName: "casadi__SX__setEqualityCheckingDepth__0"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__setEqualityCheckingDepth__0(std::string ** err_msg)"
// call: "casadi::SX::setEqualityCheckingDepth()"
// params: []
extern "C"
void
    casadi__SX__setEqualityCheckingDepth__0(std::string ** err_msg);
void
    casadi__SX__setEqualityCheckingDepth__0(std::string ** err_msg){
    try {

        casadi::SX::setEqualityCheckingDepth();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setEqualityCheckingDepth" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::setEqualityCheckingDepth"
// cWrapperName: "casadi__SX__setEqualityCheckingDepth__1"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__setEqualityCheckingDepth__1(std::string ** err_msg, int x0)"
// call: "casadi::SX::setEqualityCheckingDepth(x0_)"
// params: [CInt]
extern "C"
void
    casadi__SX__setEqualityCheckingDepth__1(std::string ** err_msg, int x0);
void
    casadi__SX__setEqualityCheckingDepth__1(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX::setEqualityCheckingDepth(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::setNZ"
// cWrapperName: "casadi__SX__setNZ__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__setNZ__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2)"
// call: "obj->setNZ(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
extern "C"
void
    casadi__SX__setNZ__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2);
void
    casadi__SX__setNZ__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IMatrix* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IMatrix& x2_ = Marshaling<casadi::IMatrix&,casadi::IMatrix*>::marshal(x2);

        obj->setNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::setNZ"
// cWrapperName: "casadi__SX__setNZ__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__setNZ__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
// call: "obj->setNZ(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CBool,Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
void
    casadi__SX__setNZ__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2);
void
    casadi__SX__setNZ__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->setNZ(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::setNZ"
// cWrapperName: "casadi__SX__setNZ__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__setNZ__2(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0)"
// call: "obj->setNZ(x0_)"
// params: [Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__SX__setNZ__2(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0);
void
    casadi__SX__setNZ__2(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->setNZ(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setNZ" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::setNZ"
// cWrapperName: "casadi__SX__setNZ__3"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__setNZ__3(std::string ** err_msg, casadi::SX* obj, double x0)"
// call: "obj->setNZ(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__SX__setNZ__3(std::string ** err_msg, casadi::SX* obj, double x0);
void
    casadi__SX__setNZ__3(std::string ** err_msg, casadi::SX* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->setNZ(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setPrecision" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::setPrecision"
// cWrapperName: "casadi__SX__setPrecision"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__setPrecision(std::string ** err_msg, int x0)"
// call: "casadi::SX::setPrecision(x0_)"
// params: [CInt]
extern "C"
void
    casadi__SX__setPrecision(std::string ** err_msg, int x0);
void
    casadi__SX__setPrecision(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX::setPrecision(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setScientific" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::setScientific"
// cWrapperName: "casadi__SX__setScientific"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__setScientific(std::string ** err_msg, int x0)"
// call: "casadi::SX::setScientific(x0_)"
// params: [CBool]
extern "C"
void
    casadi__SX__setScientific(std::string ** err_msg, int x0);
void
    casadi__SX__setScientific(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::SX::setScientific(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setSym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::setSym"
// cWrapperName: "casadi__SX__setSym"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__setSym(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0)"
// call: "obj->setSym(x0_)"
// params: [Ref (Const (StdVec CDouble))]
extern "C"
void
    casadi__SX__setSym(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0);
void
    casadi__SX__setSym(std::string ** err_msg, casadi::SX* obj, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        obj->setSym(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setValue" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::setValue"
// cWrapperName: "casadi__SX__setValue__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, double x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__setValue__0(std::string ** err_msg, casadi::SX* obj, double x0, int x1)"
// call: "obj->setValue(x0_, x1_)"
// params: [CDouble,CInt]
extern "C"
void
    casadi__SX__setValue__0(std::string ** err_msg, casadi::SX* obj, double x0, int x1);
void
    casadi__SX__setValue__0(std::string ** err_msg, casadi::SX* obj, double x0, int x1){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->setValue(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setValue" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::setValue"
// cWrapperName: "casadi__SX__setValue__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__setValue__1(std::string ** err_msg, casadi::SX* obj, double x0)"
// call: "obj->setValue(x0_)"
// params: [CDouble]
extern "C"
void
    casadi__SX__setValue__1(std::string ** err_msg, casadi::SX* obj, double x0);
void
    casadi__SX__setValue__1(std::string ** err_msg, casadi::SX* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->setValue(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setWidth" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::setWidth"
// cWrapperName: "casadi__SX__setWidth"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__setWidth(std::string ** err_msg, int x0)"
// call: "casadi::SX::setWidth(x0_)"
// params: [CInt]
extern "C"
void
    casadi__SX__setWidth(std::string ** err_msg, int x0);
void
    casadi__SX__setWidth(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX::setWidth(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setZero" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::setZero"
// cWrapperName: "casadi__SX__setZero"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__setZero(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->setZero()"
// params: []
extern "C"
void
    casadi__SX__setZero(std::string ** err_msg, casadi::SX* obj);
void
    casadi__SX__setZero(std::string ** err_msg, casadi::SX* obj){
    try {

        obj->setZero();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "shape" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::shape"
// cWrapperName: "casadi__SX__shape__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__shape__0(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "obj->shape(x0_)"
// params: [CInt]
extern "C"
int
    casadi__SX__shape__0(std::string ** err_msg, casadi::SX* obj, int x0);
int
    casadi__SX__shape__0(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->shape(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "shape" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::shape"
// cWrapperName: "casadi__SX__shape__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdPair CInt CInt
// cWrapperRetType: "std::pair< int, int >*"
// proto: "std::pair< int, int >*\n    casadi__SX__shape__1(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->shape()"
// params: []
extern "C"
std::pair< int, int >*
    casadi__SX__shape__1(std::string ** err_msg, casadi::SX* obj);
std::pair< int, int >*
    casadi__SX__shape__1(std::string ** err_msg, casadi::SX* obj){
    try {

        std::pair< int, int > ret = obj->shape();
        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::size"
// cWrapperName: "casadi__SX__size"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__size(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->size()"
// params: []
extern "C"
int
    casadi__SX__size(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__size(std::string ** err_msg, casadi::SX* obj){
    try {

        int ret = obj->size();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::size1"
// cWrapperName: "casadi__SX__size1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__size1(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->size1()"
// params: []
extern "C"
int
    casadi__SX__size1(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__size1(std::string ** err_msg, casadi::SX* obj){
    try {

        int ret = obj->size1();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::size2"
// cWrapperName: "casadi__SX__size2"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__size2(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->size2()"
// params: []
extern "C"
int
    casadi__SX__size2(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__size2(std::string ** err_msg, casadi::SX* obj){
    try {

        int ret = obj->size2();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeD" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sizeD"
// cWrapperName: "casadi__SX__sizeD"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__sizeD(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->sizeD()"
// params: []
extern "C"
int
    casadi__SX__sizeD(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__sizeD(std::string ** err_msg, casadi::SX* obj){
    try {

        int ret = obj->sizeD();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeL" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sizeL"
// cWrapperName: "casadi__SX__sizeL"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__sizeL(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->sizeL()"
// params: []
extern "C"
int
    casadi__SX__sizeL(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__sizeL(std::string ** err_msg, casadi::SX* obj){
    try {

        int ret = obj->sizeL();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeU" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sizeU"
// cWrapperName: "casadi__SX__sizeU"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__sizeU(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->sizeU()"
// params: []
extern "C"
int
    casadi__SX__sizeU(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__sizeU(std::string ** err_msg, casadi::SX* obj){
    try {

        int ret = obj->sizeU();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sparse"
// cWrapperName: "casadi__SX__sparse__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sparse__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1)"
// call: "casadi::SX::sparse(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
casadi::SX*
    casadi__SX__sparse__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1);
casadi::SX*
    casadi__SX__sparse__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = casadi::SX::sparse(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sparse"
// cWrapperName: "casadi__SX__sparse__1"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sparse__1(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::SX::sparse(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::SX*
    casadi__SX__sparse__1(std::string ** err_msg, std::pair< int, int >* x0);
casadi::SX*
    casadi__SX__sparse__1(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::SX ret = casadi::SX::sparse(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sparse"
// cWrapperName: "casadi__SX__sparse__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sparse__2(std::string ** err_msg)"
// call: "casadi::SX::sparse()"
// params: []
extern "C"
casadi::SX*
    casadi__SX__sparse__2(std::string ** err_msg);
casadi::SX*
    casadi__SX__sparse__2(std::string ** err_msg){
    try {

        casadi::SX ret = casadi::SX::sparse();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sparse"
// cWrapperName: "casadi__SX__sparse__3"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sparse__3(std::string ** err_msg, int x0)"
// call: "casadi::SX::sparse(x0_)"
// params: [CInt]
extern "C"
casadi::SX*
    casadi__SX__sparse__3(std::string ** err_msg, int x0);
casadi::SX*
    casadi__SX__sparse__3(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX ret = casadi::SX::sparse(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sparse"
// cWrapperName: "casadi__SX__sparse__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sparse__4(std::string ** err_msg, int x0, int x1)"
// call: "casadi::SX::sparse(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::SX*
    casadi__SX__sparse__4(std::string ** err_msg, int x0, int x1);
casadi::SX*
    casadi__SX__sparse__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = casadi::SX::sparse(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sparsity"
// cWrapperName: "casadi__SX__sparsity"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__SX__sparsity(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->sparsity()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__SX__sparsity(std::string ** err_msg, casadi::SX* obj);
casadi::Sparsity*
    casadi__SX__sparsity(std::string ** err_msg, casadi::SX* obj){
    try {

        casadi::Sparsity ret = obj->sparsity();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi__SX__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
// call: "casadi::SX::sym(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),CInt,CInt,CInt,CInt]
extern "C"
std::vector< std::vector< casadi::SX* >* >*
    casadi__SX__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4);
std::vector< std::vector< casadi::SX* >* >*
    casadi__SX__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);
        int x4_ = Marshaling<int,int>::marshal(x4);

        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_, x4_);
        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi__SX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
// call: "casadi::SX::sym(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt,CInt]
extern "C"
std::vector< std::vector< casadi::SX* >* >*
    casadi__SX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3);
std::vector< std::vector< casadi::SX* >* >*
    casadi__SX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);

        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);
        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__SX__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
// call: "casadi::SX::sym(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),CInt,CInt,CInt]
extern "C"
std::vector< casadi::SX* >*
    casadi__SX__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3);
std::vector< casadi::SX* >*
    casadi__SX__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);

        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);
        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__SX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
// call: "casadi::SX::sym(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt]
extern "C"
std::vector< casadi::SX* >*
    casadi__SX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2);
std::vector< casadi::SX* >*
    casadi__SX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_);
        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// call: "casadi::SX::sym(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::SX*
    casadi__SX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
casadi::SX*
    casadi__SX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::SX ret = casadi::SX::sym(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
// call: "casadi::SX::sym(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::SX*
    casadi__SX__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1);
casadi::SX*
    casadi__SX__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);

        casadi::SX ret = casadi::SX::sym(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__6"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sym__6(std::string ** err_msg, std::string* x0)"
// call: "casadi::SX::sym(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SX__sym__6(std::string ** err_msg, std::string* x0);
casadi::SX*
    casadi__SX__sym__6(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::SX ret = casadi::SX::sym(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sym__7(std::string ** err_msg, std::string* x0, int x1)"
// call: "casadi::SX::sym(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::SX*
    casadi__SX__sym__7(std::string ** err_msg, std::string* x0, int x1);
casadi::SX*
    casadi__SX__sym__7(std::string ** err_msg, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = casadi::SX::sym(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__8"
// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2)"
// call: "casadi::SX::sym(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CInt,CInt]
extern "C"
casadi::SX*
    casadi__SX__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2);
casadi::SX*
    casadi__SX__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        casadi::SX ret = casadi::SX::sym(x0_, x1_, x2_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toSlice" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::toSlice"
// cWrapperName: "casadi__SX__toSlice__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__SX__toSlice__0(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->toSlice()"
// params: []
extern "C"
casadi::Slice*
    casadi__SX__toSlice__0(std::string ** err_msg, casadi::SX* obj);
casadi::Slice*
    casadi__SX__toSlice__0(std::string ** err_msg, casadi::SX* obj){
    try {

        casadi::Slice ret = obj->toSlice();
        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toSlice" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::toSlice"
// cWrapperName: "casadi__SX__toSlice__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__SX__toSlice__1(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "obj->toSlice(x0_)"
// params: [CBool]
extern "C"
casadi::Slice*
    casadi__SX__toSlice__1(std::string ** err_msg, casadi::SX* obj, int x0);
casadi::Slice*
    casadi__SX__toSlice__1(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::Slice ret = obj->toSlice(x0_);
        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::triplet"
// cWrapperName: "casadi__SX__triplet__0"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, std::pair< int, int >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, std::pair< int, int >* x3)"
// call: "casadi::SX::triplet(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::SX*
    casadi__SX__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, std::pair< int, int >* x3);
casadi::SX*
    casadi__SX__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, std::pair< int, int >* x3){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        std::pair< int, int > x3_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x3);

        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::triplet"
// cWrapperName: "casadi__SX__triplet__1"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, int x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, int x3, int x4)"
// call: "casadi::SX::triplet(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CInt,CInt]
extern "C"
casadi::SX*
    casadi__SX__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, int x3, int x4);
casadi::SX*
    casadi__SX__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, int x3, int x4){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);
        int x4_ = Marshaling<int,int>::marshal(x4);

        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_, x4_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::triplet"
// cWrapperName: "casadi__SX__triplet__2"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2)"
// call: "casadi::SX::triplet(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
casadi::SX*
    casadi__SX__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2);
casadi::SX*
    casadi__SX__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "unary" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::unary"
// cWrapperName: "casadi__SX__unary"
// protoArgs: "(std::string ** err_msg, int x0, casadi::SX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__unary(std::string ** err_msg, int x0, casadi::SX* x1)"
// call: "casadi::SX::unary(x0_, x1_)"
// params: [CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
extern "C"
casadi::SX*
    casadi__SX__unary(std::string ** err_msg, int x0, casadi::SX* x1);
casadi::SX*
    casadi__SX__unary(std::string ** err_msg, int x0, casadi::SX* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = casadi::SX::unary(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::zeros"
// cWrapperName: "casadi__SX__zeros__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__zeros__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::SX::zeros(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::SX*
    casadi__SX__zeros__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::SX*
    casadi__SX__zeros__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::SX ret = casadi::SX::zeros(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::zeros"
// cWrapperName: "casadi__SX__zeros__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "casadi::SX::zeros(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::SX*
    casadi__SX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::SX*
    casadi__SX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::SX ret = casadi::SX::zeros(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::zeros"
// cWrapperName: "casadi__SX__zeros__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__zeros__2(std::string ** err_msg)"
// call: "casadi::SX::zeros()"
// params: []
extern "C"
casadi::SX*
    casadi__SX__zeros__2(std::string ** err_msg);
casadi::SX*
    casadi__SX__zeros__2(std::string ** err_msg){
    try {

        casadi::SX ret = casadi::SX::zeros();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::zeros"
// cWrapperName: "casadi__SX__zeros__3"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__zeros__3(std::string ** err_msg, int x0)"
// call: "casadi::SX::zeros(x0_)"
// params: [CInt]
extern "C"
casadi::SX*
    casadi__SX__zeros__3(std::string ** err_msg, int x0);
casadi::SX*
    casadi__SX__zeros__3(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX ret = casadi::SX::zeros(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::zeros"
// cWrapperName: "casadi__SX__zeros__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__zeros__4(std::string ** err_msg, int x0, int x1)"
// call: "casadi::SX::zeros(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::SX*
    casadi__SX__zeros__4(std::string ** err_msg, int x0, int x1);
casadi::SX*
    casadi__SX__zeros__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = casadi::SX::zeros(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getRepresentation" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getRepresentation"
// cWrapperName: "casadi__SX__getRepresentation"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SX__getRepresentation(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->getRepresentation()"
// params: []
extern "C"
std::string*
    casadi__SX__getRepresentation(std::string ** err_msg, casadi::SX* obj);
std::string*
    casadi__SX__getRepresentation(std::string ** err_msg, casadi::SX* obj){
    try {

        std::string ret = obj->getRepresentation();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDescription" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::getDescription"
// cWrapperName: "casadi__SX__getDescription"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SX__getDescription(std::string ** err_msg, casadi::SX* obj)"
// call: "obj->getDescription()"
// params: []
extern "C"
std::string*
    casadi__SX__getDescription(std::string ** err_msg, casadi::SX* obj);
std::string*
    casadi__SX__getDescription(std::string ** err_msg, casadi::SX* obj){
    try {

        std::string ret = obj->getDescription();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "SXElement")===============
// classType: UserType (Namespace ["casadi"]) (Name "SXElement")
extern "C"
void delete_casadi__SXElement(casadi::SXElement* obj);
void delete_casadi__SXElement(casadi::SXElement* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "SXFunction")===============
// classType: UserType (Namespace ["casadi"]) (Name "SXFunction")
extern "C"
void delete_casadi__SXFunction(casadi::SXFunction* obj);
void delete_casadi__SXFunction(casadi::SXFunction* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction"
// cWrapperName: "casadi__SXFunction__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SXFunction")
// cWrapperRetType: "casadi::SXFunction*"
// proto: "casadi::SXFunction*\n    casadi__SXFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2)"
// call: "casadi::SXFunction(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))) (StdVec StdString))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))) (StdVec StdString)))]
extern "C"
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2);
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > > x1_ = Marshaling<std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >*>::marshal(x1);
        std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > > x2_ = Marshaling<std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >*>::marshal(x2);

        return new casadi::SXFunction(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction"
// cWrapperName: "casadi__SXFunction__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SXFunction")
// cWrapperRetType: "casadi::SXFunction*"
// proto: "casadi::SXFunction*\n    casadi__SXFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::SXFunction(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))) (StdVec StdString))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))) (StdVec StdString))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > > x1_ = Marshaling<std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >*>::marshal(x1);
        std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > > x2_ = Marshaling<std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::SXFunction(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction"
// cWrapperName: "casadi__SXFunction__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SXFunction")
// cWrapperRetType: "casadi::SXFunction*"
// proto: "casadi::SXFunction*\n    casadi__SXFunction__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2)"
// call: "casadi::SXFunction(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))) (StdVec StdString)))]
extern "C"
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2);
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > > x2_ = Marshaling<std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >*>::marshal(x2);

        return new casadi::SXFunction(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction"
// cWrapperName: "casadi__SXFunction__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SXFunction")
// cWrapperRetType: "casadi::SXFunction*"
// proto: "casadi::SXFunction*\n    casadi__SXFunction__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::SXFunction(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))) (StdVec StdString))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > > x2_ = Marshaling<std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::SXFunction(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction"
// cWrapperName: "casadi__SXFunction__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::SX* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SXFunction")
// cWrapperRetType: "casadi::SXFunction*"
// proto: "casadi::SXFunction*\n    casadi__SXFunction__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::SX* >* x2)"
// call: "casadi::SXFunction(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))) (StdVec StdString))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
extern "C"
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::SX* >* x2);
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::SX* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > > x1_ = Marshaling<std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >*>::marshal(x1);
        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);

        return new casadi::SXFunction(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction"
// cWrapperName: "casadi__SXFunction__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SXFunction")
// cWrapperRetType: "casadi::SXFunction*"
// proto: "casadi::SXFunction*\n    casadi__SXFunction__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::SXFunction(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (StdPair (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))) (StdVec StdString))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > > x1_ = Marshaling<std::pair< std::map< std::string, casadi::SX >, std::vector< std::string > >,std::pair< std::map< std::string, casadi::SX* >*, std::vector< std::string* >* >*>::marshal(x1);
        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::SXFunction(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction"
// cWrapperName: "casadi__SXFunction__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SXFunction")
// cWrapperRetType: "casadi::SXFunction*"
// proto: "casadi::SXFunction*\n    casadi__SXFunction__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
// call: "casadi::SXFunction(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
extern "C"
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2);
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);

        return new casadi::SXFunction(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction"
// cWrapperName: "casadi__SXFunction__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SXFunction")
// cWrapperRetType: "casadi::SXFunction*"
// proto: "casadi::SXFunction*\n    casadi__SXFunction__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::SXFunction(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::SXFunction(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction"
// cWrapperName: "casadi__SXFunction__CONSTRUCTOR__8"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SXFunction")
// cWrapperRetType: "casadi::SXFunction*"
// proto: "casadi::SXFunction*\n    casadi__SXFunction__CONSTRUCTOR__8(std::string ** err_msg, casadi::Function* x0)"
// call: "casadi::SXFunction(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Function")))]
extern "C"
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__8(std::string ** err_msg, casadi::Function* x0);
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__8(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        return new casadi::SXFunction(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction"
// cWrapperName: "casadi__SXFunction__CONSTRUCTOR__9"
// protoArgs: "(std::string ** err_msg, casadi::MXFunction* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SXFunction")
// cWrapperRetType: "casadi::SXFunction*"
// proto: "casadi::SXFunction*\n    casadi__SXFunction__CONSTRUCTOR__9(std::string ** err_msg, casadi::MXFunction* x0)"
// call: "casadi::SXFunction(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MXFunction")))]
extern "C"
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__9(std::string ** err_msg, casadi::MXFunction* x0);
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__9(std::string ** err_msg, casadi::MXFunction* x0){
    try {
        casadi::MXFunction& x0_ = Marshaling<casadi::MXFunction&,casadi::MXFunction*>::marshal(x0);

        return new casadi::SXFunction(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction"
// cWrapperName: "casadi__SXFunction__CONSTRUCTOR__10"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SXFunction")
// cWrapperRetType: "casadi::SXFunction*"
// proto: "casadi::SXFunction*\n    casadi__SXFunction__CONSTRUCTOR__10(std::string ** err_msg)"
// call: "casadi::SXFunction()"
// params: []
extern "C"
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__10(std::string ** err_msg);
casadi::SXFunction*
    casadi__SXFunction__CONSTRUCTOR__10(std::string ** err_msg){
    try {

        return new casadi::SXFunction();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "clearSymbolic" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::clearSymbolic"
// cWrapperName: "casadi__SXFunction__clearSymbolic"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SXFunction__clearSymbolic(std::string ** err_msg, casadi::SXFunction* obj)"
// call: "obj->clearSymbolic()"
// params: []
extern "C"
void
    casadi__SXFunction__clearSymbolic(std::string ** err_msg, casadi::SXFunction* obj);
void
    casadi__SXFunction__clearSymbolic(std::string ** err_msg, casadi::SXFunction* obj){
    try {

        obj->clearSymbolic();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "countNodes" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::countNodes"
// cWrapperName: "casadi__SXFunction__countNodes"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SXFunction__countNodes(std::string ** err_msg, casadi::SXFunction* obj)"
// call: "obj->countNodes()"
// params: []
extern "C"
int
    casadi__SXFunction__countNodes(std::string ** err_msg, casadi::SXFunction* obj);
int
    casadi__SXFunction__countNodes(std::string ** err_msg, casadi::SXFunction* obj){
    try {

        int ret = obj->countNodes();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getAlgorithmSize" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::getAlgorithmSize"
// cWrapperName: "casadi__SXFunction__getAlgorithmSize"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SXFunction__getAlgorithmSize(std::string ** err_msg, casadi::SXFunction* obj)"
// call: "obj->getAlgorithmSize()"
// params: []
extern "C"
int
    casadi__SXFunction__getAlgorithmSize(std::string ** err_msg, casadi::SXFunction* obj);
int
    casadi__SXFunction__getAlgorithmSize(std::string ** err_msg, casadi::SXFunction* obj){
    try {

        int ret = obj->getAlgorithmSize();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getAtomicInput" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::getAtomicInput"
// cWrapperName: "casadi__SXFunction__getAtomicInput"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: StdPair CInt CInt
// cWrapperRetType: "std::pair< int, int >*"
// proto: "std::pair< int, int >*\n    casadi__SXFunction__getAtomicInput(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// call: "obj->getAtomicInput(x0_)"
// params: [CInt]
extern "C"
std::pair< int, int >*
    casadi__SXFunction__getAtomicInput(std::string ** err_msg, casadi::SXFunction* obj, int x0);
std::pair< int, int >*
    casadi__SXFunction__getAtomicInput(std::string ** err_msg, casadi::SXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        std::pair< int, int > ret = obj->getAtomicInput(x0_);
        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getAtomicInputReal" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::getAtomicInputReal"
// cWrapperName: "casadi__SXFunction__getAtomicInputReal"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__SXFunction__getAtomicInputReal(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// call: "obj->getAtomicInputReal(x0_)"
// params: [CInt]
extern "C"
double
    casadi__SXFunction__getAtomicInputReal(std::string ** err_msg, casadi::SXFunction* obj, int x0);
double
    casadi__SXFunction__getAtomicInputReal(std::string ** err_msg, casadi::SXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        double ret = obj->getAtomicInputReal(x0_);
        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getAtomicOperation" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::getAtomicOperation"
// cWrapperName: "casadi__SXFunction__getAtomicOperation"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SXFunction__getAtomicOperation(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// call: "obj->getAtomicOperation(x0_)"
// params: [CInt]
extern "C"
int
    casadi__SXFunction__getAtomicOperation(std::string ** err_msg, casadi::SXFunction* obj, int x0);
int
    casadi__SXFunction__getAtomicOperation(std::string ** err_msg, casadi::SXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->getAtomicOperation(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getAtomicOutput" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::getAtomicOutput"
// cWrapperName: "casadi__SXFunction__getAtomicOutput"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SXFunction__getAtomicOutput(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// call: "obj->getAtomicOutput(x0_)"
// params: [CInt]
extern "C"
int
    casadi__SXFunction__getAtomicOutput(std::string ** err_msg, casadi::SXFunction* obj, int x0);
int
    casadi__SXFunction__getAtomicOutput(std::string ** err_msg, casadi::SXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->getAtomicOutput(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getFree" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::getFree"
// cWrapperName: "casadi__SXFunction__getFree"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__getFree(std::string ** err_msg, casadi::SXFunction* obj)"
// call: "obj->getFree()"
// params: []
extern "C"
casadi::SX*
    casadi__SXFunction__getFree(std::string ** err_msg, casadi::SXFunction* obj);
casadi::SX*
    casadi__SXFunction__getFree(std::string ** err_msg, casadi::SXFunction* obj){
    try {

        casadi::SX ret = obj->getFree();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getWorkSize" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::getWorkSize"
// cWrapperName: "casadi__SXFunction__getWorkSize"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__SXFunction__getWorkSize(std::string ** err_msg, casadi::SXFunction* obj)"
// call: "obj->getWorkSize()"
// params: []
extern "C"
int
    casadi__SXFunction__getWorkSize(std::string ** err_msg, casadi::SXFunction* obj);
int
    casadi__SXFunction__getWorkSize(std::string ** err_msg, casadi::SXFunction* obj){
    try {

        int ret = obj->getWorkSize();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::grad"
// cWrapperName: "casadi__SXFunction__grad__0"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__grad__0(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1)"
// call: "obj->grad(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__grad__0(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1);
casadi::SX*
    casadi__SXFunction__grad__0(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::SX ret = obj->grad(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::grad"
// cWrapperName: "casadi__SXFunction__grad__1"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__grad__1(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1)"
// call: "obj->grad(x0_, x1_)"
// params: [CInt,Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__grad__1(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1);
casadi::SX*
    casadi__SXFunction__grad__1(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::SX ret = obj->grad(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::grad"
// cWrapperName: "casadi__SXFunction__grad__2"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__grad__2(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0)"
// call: "obj->grad(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__grad__2(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0);
casadi::SX*
    casadi__SXFunction__grad__2(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::SX ret = obj->grad(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::grad"
// cWrapperName: "casadi__SXFunction__grad__3"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__grad__3(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1)"
// call: "obj->grad(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__grad__3(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1);
casadi::SX*
    casadi__SXFunction__grad__3(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = obj->grad(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::grad"
// cWrapperName: "casadi__SXFunction__grad__4"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__grad__4(std::string ** err_msg, casadi::SXFunction* obj)"
// call: "obj->grad()"
// params: []
extern "C"
casadi::SX*
    casadi__SXFunction__grad__4(std::string ** err_msg, casadi::SXFunction* obj);
casadi::SX*
    casadi__SXFunction__grad__4(std::string ** err_msg, casadi::SXFunction* obj){
    try {

        casadi::SX ret = obj->grad();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::grad"
// cWrapperName: "casadi__SXFunction__grad__5"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__grad__5(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// call: "obj->grad(x0_)"
// params: [CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__grad__5(std::string ** err_msg, casadi::SXFunction* obj, int x0);
casadi::SX*
    casadi__SXFunction__grad__5(std::string ** err_msg, casadi::SXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX ret = obj->grad(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "grad" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::grad"
// cWrapperName: "casadi__SXFunction__grad__6"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__grad__6(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1)"
// call: "obj->grad(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__grad__6(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1);
casadi::SX*
    casadi__SXFunction__grad__6(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = obj->grad(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hess" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::hess"
// cWrapperName: "casadi__SXFunction__hess__0"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__hess__0(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1)"
// call: "obj->hess(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__hess__0(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1);
casadi::SX*
    casadi__SXFunction__hess__0(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::SX ret = obj->hess(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hess" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::hess"
// cWrapperName: "casadi__SXFunction__hess__1"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__hess__1(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1)"
// call: "obj->hess(x0_, x1_)"
// params: [CInt,Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__hess__1(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1);
casadi::SX*
    casadi__SXFunction__hess__1(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::SX ret = obj->hess(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hess" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::hess"
// cWrapperName: "casadi__SXFunction__hess__2"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__hess__2(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0)"
// call: "obj->hess(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__hess__2(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0);
casadi::SX*
    casadi__SXFunction__hess__2(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::SX ret = obj->hess(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hess" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::hess"
// cWrapperName: "casadi__SXFunction__hess__3"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__hess__3(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1)"
// call: "obj->hess(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__hess__3(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1);
casadi::SX*
    casadi__SXFunction__hess__3(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = obj->hess(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hess" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::hess"
// cWrapperName: "casadi__SXFunction__hess__4"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__hess__4(std::string ** err_msg, casadi::SXFunction* obj)"
// call: "obj->hess()"
// params: []
extern "C"
casadi::SX*
    casadi__SXFunction__hess__4(std::string ** err_msg, casadi::SXFunction* obj);
casadi::SX*
    casadi__SXFunction__hess__4(std::string ** err_msg, casadi::SXFunction* obj){
    try {

        casadi::SX ret = obj->hess();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hess" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::hess"
// cWrapperName: "casadi__SXFunction__hess__5"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__hess__5(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// call: "obj->hess(x0_)"
// params: [CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__hess__5(std::string ** err_msg, casadi::SXFunction* obj, int x0);
casadi::SX*
    casadi__SXFunction__hess__5(std::string ** err_msg, casadi::SXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX ret = obj->hess(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hess" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::hess"
// cWrapperName: "casadi__SXFunction__hess__6"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__hess__6(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1)"
// call: "obj->hess(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__hess__6(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1);
casadi::SX*
    casadi__SXFunction__hess__6(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = obj->hess(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputExpr" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::inputExpr"
// cWrapperName: "casadi__SXFunction__inputExpr__0"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj)"
// args: "()"
// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__SXFunction__inputExpr__0(std::string ** err_msg, casadi::SXFunction* obj)"
// call: "obj->inputExpr()"
// params: []
extern "C"
std::vector< casadi::SX* >*
    casadi__SXFunction__inputExpr__0(std::string ** err_msg, casadi::SXFunction* obj);
std::vector< casadi::SX* >*
    casadi__SXFunction__inputExpr__0(std::string ** err_msg, casadi::SXFunction* obj){
    try {

        std::vector< casadi::SX > ret = obj->inputExpr();
        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputExpr" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::inputExpr"
// cWrapperName: "casadi__SXFunction__inputExpr__1"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__inputExpr__1(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0)"
// call: "obj->inputExpr(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__inputExpr__1(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0);
casadi::SX*
    casadi__SXFunction__inputExpr__1(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::SX ret = obj->inputExpr(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inputExpr" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::inputExpr"
// cWrapperName: "casadi__SXFunction__inputExpr__2"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__inputExpr__2(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// call: "obj->inputExpr(x0_)"
// params: [CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__inputExpr__2(std::string ** err_msg, casadi::SXFunction* obj, int x0);
casadi::SX*
    casadi__SXFunction__inputExpr__2(std::string ** err_msg, casadi::SXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX ret = obj->inputExpr(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__0"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__0(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1)"
// call: "obj->jac(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__0(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1);
casadi::SX*
    casadi__SXFunction__jac__0(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::SX ret = obj->jac(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__1"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__1(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1, int x2)"
// call: "obj->jac(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),CBool]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__1(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1, int x2);
casadi::SX*
    casadi__SXFunction__jac__1(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::SX ret = obj->jac(x0_, x1_, x2_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__2"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__2(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1, int x2, int x3)"
// call: "obj->jac(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),CBool,CBool]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__2(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1, int x2, int x3);
casadi::SX*
    casadi__SXFunction__jac__2(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::SX ret = obj->jac(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__3"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__3(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1)"
// call: "obj->jac(x0_, x1_)"
// params: [CInt,Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__3(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1);
casadi::SX*
    casadi__SXFunction__jac__3(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::SX ret = obj->jac(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__4"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__4(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1, int x2)"
// call: "obj->jac(x0_, x1_, x2_)"
// params: [CInt,Ref (Const StdString),CBool]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__4(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1, int x2);
casadi::SX*
    casadi__SXFunction__jac__4(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1, int x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::SX ret = obj->jac(x0_, x1_, x2_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__5"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__5(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1, int x2, int x3)"
// call: "obj->jac(x0_, x1_, x2_, x3_)"
// params: [CInt,Ref (Const StdString),CBool,CBool]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__5(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1, int x2, int x3);
casadi::SX*
    casadi__SXFunction__jac__5(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1, int x2, int x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::SX ret = obj->jac(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__6"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__6(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0)"
// call: "obj->jac(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__6(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0);
casadi::SX*
    casadi__SXFunction__jac__6(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::SX ret = obj->jac(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__7"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__7(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1)"
// call: "obj->jac(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__7(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1);
casadi::SX*
    casadi__SXFunction__jac__7(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = obj->jac(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__8"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__8(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1, int x2)"
// call: "obj->jac(x0_, x1_, x2_)"
// params: [Ref (Const StdString),CInt,CBool]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__8(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1, int x2);
casadi::SX*
    casadi__SXFunction__jac__8(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::SX ret = obj->jac(x0_, x1_, x2_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__9"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__9(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1, int x2, int x3)"
// call: "obj->jac(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),CInt,CBool,CBool]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__9(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1, int x2, int x3);
casadi::SX*
    casadi__SXFunction__jac__9(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::SX ret = obj->jac(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__10"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__10(std::string ** err_msg, casadi::SXFunction* obj)"
// call: "obj->jac()"
// params: []
extern "C"
casadi::SX*
    casadi__SXFunction__jac__10(std::string ** err_msg, casadi::SXFunction* obj);
casadi::SX*
    casadi__SXFunction__jac__10(std::string ** err_msg, casadi::SXFunction* obj){
    try {

        casadi::SX ret = obj->jac();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__11"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__11(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// call: "obj->jac(x0_)"
// params: [CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__11(std::string ** err_msg, casadi::SXFunction* obj, int x0);
casadi::SX*
    casadi__SXFunction__jac__11(std::string ** err_msg, casadi::SXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX ret = obj->jac(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__12"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__12(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1)"
// call: "obj->jac(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__12(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1);
casadi::SX*
    casadi__SXFunction__jac__12(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = obj->jac(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__13"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__13(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1, int x2)"
// call: "obj->jac(x0_, x1_, x2_)"
// params: [CInt,CInt,CBool]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__13(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1, int x2);
casadi::SX*
    casadi__SXFunction__jac__13(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1, int x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::SX ret = obj->jac(x0_, x1_, x2_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::jac"
// cWrapperName: "casadi__SXFunction__jac__14"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__jac__14(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1, int x2, int x3)"
// call: "obj->jac(x0_, x1_, x2_, x3_)"
// params: [CInt,CInt,CBool,CBool]
extern "C"
casadi::SX*
    casadi__SXFunction__jac__14(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1, int x2, int x3);
casadi::SX*
    casadi__SXFunction__jac__14(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1, int x2, int x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::SX ret = obj->jac(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputExpr" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::outputExpr"
// cWrapperName: "casadi__SXFunction__outputExpr__0"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj)"
// args: "()"
// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__SXFunction__outputExpr__0(std::string ** err_msg, casadi::SXFunction* obj)"
// call: "obj->outputExpr()"
// params: []
extern "C"
std::vector< casadi::SX* >*
    casadi__SXFunction__outputExpr__0(std::string ** err_msg, casadi::SXFunction* obj);
std::vector< casadi::SX* >*
    casadi__SXFunction__outputExpr__0(std::string ** err_msg, casadi::SXFunction* obj){
    try {

        std::vector< casadi::SX > ret = obj->outputExpr();
        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputExpr" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::outputExpr"
// cWrapperName: "casadi__SXFunction__outputExpr__1"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__outputExpr__1(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0)"
// call: "obj->outputExpr(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__outputExpr__1(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0);
casadi::SX*
    casadi__SXFunction__outputExpr__1(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::SX ret = obj->outputExpr(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "outputExpr" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::outputExpr"
// cWrapperName: "casadi__SXFunction__outputExpr__2"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__outputExpr__2(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// call: "obj->outputExpr(x0_)"
// params: [CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__outputExpr__2(std::string ** err_msg, casadi::SXFunction* obj, int x0);
casadi::SX*
    casadi__SXFunction__outputExpr__2(std::string ** err_msg, casadi::SXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX ret = obj->outputExpr(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::tang"
// cWrapperName: "casadi__SXFunction__tang__0"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__tang__0(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1)"
// call: "obj->tang(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__tang__0(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1);
casadi::SX*
    casadi__SXFunction__tang__0(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::SX ret = obj->tang(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::tang"
// cWrapperName: "casadi__SXFunction__tang__1"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__tang__1(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1)"
// call: "obj->tang(x0_, x1_)"
// params: [CInt,Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__tang__1(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1);
casadi::SX*
    casadi__SXFunction__tang__1(std::string ** err_msg, casadi::SXFunction* obj, int x0, std::string* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::SX ret = obj->tang(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::tang"
// cWrapperName: "casadi__SXFunction__tang__2"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__tang__2(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0)"
// call: "obj->tang(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::SX*
    casadi__SXFunction__tang__2(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0);
casadi::SX*
    casadi__SXFunction__tang__2(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::SX ret = obj->tang(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::tang"
// cWrapperName: "casadi__SXFunction__tang__3"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__tang__3(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1)"
// call: "obj->tang(x0_, x1_)"
// params: [Ref (Const StdString),CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__tang__3(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1);
casadi::SX*
    casadi__SXFunction__tang__3(std::string ** err_msg, casadi::SXFunction* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = obj->tang(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::tang"
// cWrapperName: "casadi__SXFunction__tang__4"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__tang__4(std::string ** err_msg, casadi::SXFunction* obj)"
// call: "obj->tang()"
// params: []
extern "C"
casadi::SX*
    casadi__SXFunction__tang__4(std::string ** err_msg, casadi::SXFunction* obj);
casadi::SX*
    casadi__SXFunction__tang__4(std::string ** err_msg, casadi::SXFunction* obj){
    try {

        casadi::SX ret = obj->tang();
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::tang"
// cWrapperName: "casadi__SXFunction__tang__5"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__tang__5(std::string ** err_msg, casadi::SXFunction* obj, int x0)"
// call: "obj->tang(x0_)"
// params: [CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__tang__5(std::string ** err_msg, casadi::SXFunction* obj, int x0);
casadi::SX*
    casadi__SXFunction__tang__5(std::string ** err_msg, casadi::SXFunction* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::SX ret = obj->tang(x0_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "tang" ===============
// class: "casadi::SXFunction"
// cppName: "casadi::SXFunction::tang"
// cWrapperName: "casadi__SXFunction__tang__6"
// protoArgs: "(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SXFunction__tang__6(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1)"
// call: "obj->tang(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::SX*
    casadi__SXFunction__tang__6(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1);
casadi::SX*
    casadi__SXFunction__tang__6(std::string ** err_msg, casadi::SXFunction* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::SX ret = obj->tang(x0_, x1_);
        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "SdpSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "SdpSolver")
extern "C"
void delete_casadi__SdpSolver(casadi::SdpSolver* obj);
void delete_casadi__SdpSolver(casadi::SdpSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SdpSolver"
// cppName: "casadi::SdpSolver"
// cWrapperName: "casadi__SdpSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SdpSolver")
// cWrapperRetType: "casadi::SdpSolver*"
// proto: "casadi::SdpSolver*\n    casadi__SdpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// call: "casadi::SdpSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::SdpSolver*
    casadi__SdpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
casadi::SdpSolver*
    casadi__SdpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);

        return new casadi::SdpSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SdpSolver"
// cppName: "casadi::SdpSolver"
// cWrapperName: "casadi__SdpSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SdpSolver")
// cWrapperRetType: "casadi::SdpSolver*"
// proto: "casadi::SdpSolver*\n    casadi__SdpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::SdpSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::SdpSolver*
    casadi__SdpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::SdpSolver*
    casadi__SdpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::SdpSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SdpSolver"
// cppName: "casadi::SdpSolver"
// cWrapperName: "casadi__SdpSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SdpSolver")
// cWrapperRetType: "casadi::SdpSolver*"
// proto: "casadi::SdpSolver*\n    casadi__SdpSolver__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::SdpSolver()"
// params: []
extern "C"
casadi::SdpSolver*
    casadi__SdpSolver__CONSTRUCTOR__2(std::string ** err_msg);
casadi::SdpSolver*
    casadi__SdpSolver__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::SdpSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::SdpSolver"
// cppName: "casadi::SdpSolver::doc"
// cWrapperName: "casadi__SdpSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SdpSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::SdpSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__SdpSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__SdpSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::SdpSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::SdpSolver"
// cppName: "casadi::SdpSolver::hasPlugin"
// cWrapperName: "casadi__SdpSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SdpSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::SdpSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__SdpSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__SdpSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::SdpSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::SdpSolver"
// cppName: "casadi::SdpSolver::loadPlugin"
// cWrapperName: "casadi__SdpSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SdpSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::SdpSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__SdpSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__SdpSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::SdpSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "SdqpSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "SdqpSolver")
extern "C"
void delete_casadi__SdqpSolver(casadi::SdqpSolver* obj);
void delete_casadi__SdqpSolver(casadi::SdqpSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SdqpSolver"
// cppName: "casadi::SdqpSolver"
// cWrapperName: "casadi__SdqpSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SdqpSolver")
// cWrapperRetType: "casadi::SdqpSolver*"
// proto: "casadi::SdqpSolver*\n    casadi__SdqpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// call: "casadi::SdqpSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::SdqpSolver*
    casadi__SdqpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
casadi::SdqpSolver*
    casadi__SdqpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);

        return new casadi::SdqpSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SdqpSolver"
// cppName: "casadi::SdqpSolver"
// cWrapperName: "casadi__SdqpSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SdqpSolver")
// cWrapperRetType: "casadi::SdqpSolver*"
// proto: "casadi::SdqpSolver*\n    casadi__SdqpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::SdqpSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::SdqpSolver*
    casadi__SdqpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::SdqpSolver*
    casadi__SdqpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::SdqpSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SdqpSolver"
// cppName: "casadi::SdqpSolver"
// cWrapperName: "casadi__SdqpSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SdqpSolver")
// cWrapperRetType: "casadi::SdqpSolver*"
// proto: "casadi::SdqpSolver*\n    casadi__SdqpSolver__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::SdqpSolver()"
// params: []
extern "C"
casadi::SdqpSolver*
    casadi__SdqpSolver__CONSTRUCTOR__2(std::string ** err_msg);
casadi::SdqpSolver*
    casadi__SdqpSolver__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::SdqpSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::SdqpSolver"
// cppName: "casadi::SdqpSolver::doc"
// cWrapperName: "casadi__SdqpSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SdqpSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::SdqpSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__SdqpSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__SdqpSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::SdqpSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::SdqpSolver"
// cppName: "casadi::SdqpSolver::hasPlugin"
// cWrapperName: "casadi__SdqpSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SdqpSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::SdqpSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__SdqpSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__SdqpSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::SdqpSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::SdqpSolver"
// cppName: "casadi::SdqpSolver::loadPlugin"
// cWrapperName: "casadi__SdqpSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SdqpSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::SdqpSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__SdqpSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__SdqpSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::SdqpSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "SharedObject")===============
// classType: UserType (Namespace ["casadi"]) (Name "SharedObject")
extern "C"
void delete_casadi__SharedObject(casadi::SharedObject* obj);
void delete_casadi__SharedObject(casadi::SharedObject* obj){
    delete obj;
}

// ================== Normal method: "__hash__" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::__hash__"
// cWrapperName: "casadi__SharedObject____hash__"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__SharedObject____hash__(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "obj->__hash__()"
// params: []
extern "C"
size_t
    casadi__SharedObject____hash__(std::string ** err_msg, casadi::SharedObject* obj);
size_t
    casadi__SharedObject____hash__(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        size_t ret = obj->__hash__();
        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "assertInit" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::assertInit"
// cWrapperName: "casadi__SharedObject__assertInit"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SharedObject__assertInit(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "obj->assertInit()"
// params: []
extern "C"
void
    casadi__SharedObject__assertInit(std::string ** err_msg, casadi::SharedObject* obj);
void
    casadi__SharedObject__assertInit(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        obj->assertInit();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "init" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::init"
// cWrapperName: "casadi__SharedObject__init__0"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SharedObject__init__0(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "obj->init()"
// params: []
extern "C"
void
    casadi__SharedObject__init__0(std::string ** err_msg, casadi::SharedObject* obj);
void
    casadi__SharedObject__init__0(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        obj->init();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "init" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::init"
// cWrapperName: "casadi__SharedObject__init__1"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SharedObject__init__1(std::string ** err_msg, casadi::SharedObject* obj, int x0)"
// call: "obj->init(x0_)"
// params: [CBool]
extern "C"
void
    casadi__SharedObject__init__1(std::string ** err_msg, casadi::SharedObject* obj, int x0);
void
    casadi__SharedObject__init__1(std::string ** err_msg, casadi::SharedObject* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        obj->init(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "isInit" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::isInit"
// cWrapperName: "casadi__SharedObject__isInit"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SharedObject__isInit(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "obj->isInit()"
// params: []
extern "C"
int
    casadi__SharedObject__isInit(std::string ** err_msg, casadi::SharedObject* obj);
int
    casadi__SharedObject__isInit(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        bool ret = obj->isInit();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isNull" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::isNull"
// cWrapperName: "casadi__SharedObject__isNull"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SharedObject__isNull(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "obj->isNull()"
// params: []
extern "C"
int
    casadi__SharedObject__isNull(std::string ** err_msg, casadi::SharedObject* obj);
int
    casadi__SharedObject__isNull(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        bool ret = obj->isNull();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "makeUnique" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::makeUnique"
// cWrapperName: "casadi__SharedObject__makeUnique__0"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SharedObject__makeUnique__0(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "obj->makeUnique()"
// params: []
extern "C"
void
    casadi__SharedObject__makeUnique__0(std::string ** err_msg, casadi::SharedObject* obj);
void
    casadi__SharedObject__makeUnique__0(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        obj->makeUnique();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "makeUnique" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::makeUnique"
// cWrapperName: "casadi__SharedObject__makeUnique__1"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SharedObject__makeUnique__1(std::string ** err_msg, casadi::SharedObject* obj, int x0)"
// call: "obj->makeUnique(x0_)"
// params: [CBool]
extern "C"
void
    casadi__SharedObject__makeUnique__1(std::string ** err_msg, casadi::SharedObject* obj, int x0);
void
    casadi__SharedObject__makeUnique__1(std::string ** err_msg, casadi::SharedObject* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        obj->makeUnique(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printPtr" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::printPtr"
// cWrapperName: "casadi__SharedObject__printPtr"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SharedObject__printPtr(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "obj->printPtr()"
// params: []
extern "C"
void
    casadi__SharedObject__printPtr(std::string ** err_msg, casadi::SharedObject* obj);
void
    casadi__SharedObject__printPtr(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        obj->printPtr();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getRepresentation" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::getRepresentation"
// cWrapperName: "casadi__SharedObject__getRepresentation"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SharedObject__getRepresentation(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "obj->getRepresentation()"
// params: []
extern "C"
std::string*
    casadi__SharedObject__getRepresentation(std::string ** err_msg, casadi::SharedObject* obj);
std::string*
    casadi__SharedObject__getRepresentation(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        std::string ret = obj->getRepresentation();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDescription" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::getDescription"
// cWrapperName: "casadi__SharedObject__getDescription"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SharedObject__getDescription(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "obj->getDescription()"
// params: []
extern "C"
std::string*
    casadi__SharedObject__getDescription(std::string ** err_msg, casadi::SharedObject* obj);
std::string*
    casadi__SharedObject__getDescription(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        std::string ret = obj->getDescription();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Simulator")===============
// classType: UserType (Namespace ["casadi"]) (Name "Simulator")
extern "C"
void delete_casadi__Simulator(casadi::Simulator* obj);
void delete_casadi__Simulator(casadi::Simulator* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Simulator"
// cppName: "casadi::Simulator"
// cWrapperName: "casadi__Simulator__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::DMatrix* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Simulator")
// cWrapperRetType: "casadi::Simulator*"
// proto: "casadi::Simulator*\n    casadi__Simulator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::DMatrix* x2)"
// call: "casadi::Simulator(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Integrator"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::Simulator*
    casadi__Simulator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::DMatrix* x2);
casadi::Simulator*
    casadi__Simulator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::DMatrix* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Integrator& x1_ = Marshaling<casadi::Integrator&,casadi::Integrator*>::marshal(x1);
        casadi::DMatrix& x2_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x2);

        return new casadi::Simulator(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Simulator"
// cppName: "casadi::Simulator"
// cWrapperName: "casadi__Simulator__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::DMatrix* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Simulator")
// cWrapperRetType: "casadi::Simulator*"
// proto: "casadi::Simulator*\n    casadi__Simulator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::DMatrix* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::Simulator(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Integrator"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::Simulator*
    casadi__Simulator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::DMatrix* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Simulator*
    casadi__Simulator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::DMatrix* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Integrator& x1_ = Marshaling<casadi::Integrator&,casadi::Integrator*>::marshal(x1);
        casadi::DMatrix& x2_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::Simulator(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Simulator"
// cppName: "casadi::Simulator"
// cWrapperName: "casadi__Simulator__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::Function* x2, casadi::DMatrix* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Simulator")
// cWrapperRetType: "casadi::Simulator*"
// proto: "casadi::Simulator*\n    casadi__Simulator__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::Function* x2, casadi::DMatrix* x3)"
// call: "casadi::Simulator(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Integrator"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
casadi::Simulator*
    casadi__Simulator__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::Function* x2, casadi::DMatrix* x3);
casadi::Simulator*
    casadi__Simulator__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::Function* x2, casadi::DMatrix* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Integrator& x1_ = Marshaling<casadi::Integrator&,casadi::Integrator*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
        casadi::DMatrix& x3_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x3);

        return new casadi::Simulator(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Simulator"
// cppName: "casadi::Simulator"
// cWrapperName: "casadi__Simulator__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::Function* x2, casadi::DMatrix* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Simulator")
// cWrapperRetType: "casadi::Simulator*"
// proto: "casadi::Simulator*\n    casadi__Simulator__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::Function* x2, casadi::DMatrix* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "casadi::Simulator(x0_, x1_, x2_, x3_, x4_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Integrator"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::Simulator*
    casadi__Simulator__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::Function* x2, casadi::DMatrix* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::Simulator*
    casadi__Simulator__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, casadi::Integrator* x1, casadi::Function* x2, casadi::DMatrix* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Integrator& x1_ = Marshaling<casadi::Integrator&,casadi::Integrator*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
        casadi::DMatrix& x3_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        return new casadi::Simulator(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Simulator"
// cppName: "casadi::Simulator"
// cWrapperName: "casadi__Simulator__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Simulator")
// cWrapperRetType: "casadi::Simulator*"
// proto: "casadi::Simulator*\n    casadi__Simulator__CONSTRUCTOR__4(std::string ** err_msg)"
// call: "casadi::Simulator()"
// params: []
extern "C"
casadi::Simulator*
    casadi__Simulator__CONSTRUCTOR__4(std::string ** err_msg);
casadi::Simulator*
    casadi__Simulator__CONSTRUCTOR__4(std::string ** err_msg){
    try {

        return new casadi::Simulator();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Slice")===============
// classType: UserType (Namespace ["casadi"]) (Name "Slice")
extern "C"
void delete_casadi__Slice(casadi::Slice* obj);
void delete_casadi__Slice(casadi::Slice* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, casadi::Slice* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__0(std::string ** err_msg, std::vector< int >* x0, casadi::Slice* x1)"
// call: "casadi::Slice(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),Ref (UserType (Namespace ["casadi"]) (Name "Slice"))]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__0(std::string ** err_msg, std::vector< int >* x0, casadi::Slice* x1);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__0(std::string ** err_msg, std::vector< int >* x0, casadi::Slice* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        casadi::Slice& x1_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x1);

        return new casadi::Slice(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__1(std::string ** err_msg, std::vector< int >* x0)"
// call: "casadi::Slice(x0_)"
// params: [Ref (Const (StdVec CInt))]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__1(std::string ** err_msg, std::vector< int >* x0);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__1(std::string ** err_msg, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        return new casadi::Slice(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__2(std::string ** err_msg, std::vector< int >* x0, int x1)"
// call: "casadi::Slice(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),CBool]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__2(std::string ** err_msg, std::vector< int >* x0, int x1);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__2(std::string ** err_msg, std::vector< int >* x0, int x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        return new casadi::Slice(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__3(std::string ** err_msg, int x0, int x1)"
// call: "casadi::Slice(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__3(std::string ** err_msg, int x0, int x1);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__3(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        return new casadi::Slice(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__4(std::string ** err_msg, int x0, int x1, int x2)"
// call: "casadi::Slice(x0_, x1_, x2_)"
// params: [CInt,CInt,CInt]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__4(std::string ** err_msg, int x0, int x1, int x2);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__4(std::string ** err_msg, int x0, int x1, int x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        return new casadi::Slice(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__5(std::string ** err_msg, int x0)"
// call: "casadi::Slice(x0_)"
// params: [CInt]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__5(std::string ** err_msg, int x0);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__5(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        return new casadi::Slice(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__6(std::string ** err_msg, int x0, int x1)"
// call: "casadi::Slice(x0_, x1_)"
// params: [CInt,CBool]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__6(std::string ** err_msg, int x0, int x1);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__6(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        return new casadi::Slice(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__7(std::string ** err_msg)"
// call: "casadi::Slice()"
// params: []
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__7(std::string ** err_msg);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__7(std::string ** err_msg){
    try {

        return new casadi::Slice();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getAll" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::getAll"
// cWrapperName: "casadi__Slice__getAll__0"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Slice__getAll__0(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, int x1)"
// call: "obj->getAll(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),CInt]
extern "C"
std::vector< int >*
    casadi__Slice__getAll__0(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, int x1);
std::vector< int >*
    casadi__Slice__getAll__0(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, int x1){
    try {
        casadi::Slice& x0_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        std::vector< int > ret = obj->getAll(x0_, x1_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getAll" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::getAll"
// cWrapperName: "casadi__Slice__getAll__1"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, int x0)"
// args: "(x0_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Slice__getAll__1(std::string ** err_msg, casadi::Slice* obj, int x0)"
// call: "obj->getAll(x0_)"
// params: [CInt]
extern "C"
std::vector< int >*
    casadi__Slice__getAll__1(std::string ** err_msg, casadi::Slice* obj, int x0);
std::vector< int >*
    casadi__Slice__getAll__1(std::string ** err_msg, casadi::Slice* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        std::vector< int > ret = obj->getAll(x0_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getAll" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::getAll"
// cWrapperName: "casadi__Slice__getAll__2"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Slice__getAll__2(std::string ** err_msg, casadi::Slice* obj, int x0, int x1)"
// call: "obj->getAll(x0_, x1_)"
// params: [CInt,CBool]
extern "C"
std::vector< int >*
    casadi__Slice__getAll__2(std::string ** err_msg, casadi::Slice* obj, int x0, int x1);
std::vector< int >*
    casadi__Slice__getAll__2(std::string ** err_msg, casadi::Slice* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< int > ret = obj->getAll(x0_, x1_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "isSlice" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::isSlice"
// cWrapperName: "casadi__Slice__isSlice__0"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Slice__isSlice__0(std::string ** err_msg, std::vector< int >* x0)"
// call: "casadi::Slice::isSlice(x0_)"
// params: [Ref (Const (StdVec CInt))]
extern "C"
int
    casadi__Slice__isSlice__0(std::string ** err_msg, std::vector< int >* x0);
int
    casadi__Slice__isSlice__0(std::string ** err_msg, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        bool ret = casadi::Slice::isSlice(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "isSlice" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::isSlice"
// cWrapperName: "casadi__Slice__isSlice__1"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Slice__isSlice__1(std::string ** err_msg, std::vector< int >* x0, int x1)"
// call: "casadi::Slice::isSlice(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),CBool]
extern "C"
int
    casadi__Slice__isSlice__1(std::string ** err_msg, std::vector< int >* x0, int x1);
int
    casadi__Slice__isSlice__1(std::string ** err_msg, std::vector< int >* x0, int x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        bool ret = casadi::Slice::isSlice(x0_, x1_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "isSlice2" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::isSlice2"
// cWrapperName: "casadi__Slice__isSlice2"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Slice__isSlice2(std::string ** err_msg, std::vector< int >* x0)"
// call: "casadi::Slice::isSlice2(x0_)"
// params: [Ref (Const (StdVec CInt))]
extern "C"
int
    casadi__Slice__isSlice2(std::string ** err_msg, std::vector< int >* x0);
int
    casadi__Slice__isSlice2(std::string ** err_msg, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        bool ret = casadi::Slice::isSlice2(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isscalar" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::isscalar"
// cWrapperName: "casadi__Slice__isscalar"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Slice__isscalar(std::string ** err_msg, casadi::Slice* obj, int x0)"
// call: "obj->isscalar(x0_)"
// params: [CInt]
extern "C"
int
    casadi__Slice__isscalar(std::string ** err_msg, casadi::Slice* obj, int x0);
int
    casadi__Slice__isscalar(std::string ** err_msg, casadi::Slice* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        bool ret = obj->isscalar(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator !=" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::operator !="
// cWrapperName: "casadi__Slice__operator_nequals"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Slice__operator_nequals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
// call: "obj->operator !=(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
int
    casadi__Slice__operator_nequals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0);
int
    casadi__Slice__operator_nequals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0){
    try {
        casadi::Slice& x0_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x0);

        bool ret = obj->operator !=(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ==" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::operator =="
// cWrapperName: "casadi__Slice__operator_equals"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Slice__operator_equals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
// call: "obj->operator ==(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice")))]
extern "C"
int
    casadi__Slice__operator_equals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0);
int
    casadi__Slice__operator_equals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0){
    try {
        casadi::Slice& x0_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x0);

        bool ret = obj->operator ==(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "toScalar" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::toScalar"
// cWrapperName: "casadi__Slice__toScalar"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Slice__toScalar(std::string ** err_msg, casadi::Slice* obj, int x0)"
// call: "obj->toScalar(x0_)"
// params: [CInt]
extern "C"
int
    casadi__Slice__toScalar(std::string ** err_msg, casadi::Slice* obj, int x0);
int
    casadi__Slice__toScalar(std::string ** err_msg, casadi::Slice* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->toScalar(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getRepresentation" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::getRepresentation"
// cWrapperName: "casadi__Slice__getRepresentation"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Slice__getRepresentation(std::string ** err_msg, casadi::Slice* obj)"
// call: "obj->getRepresentation()"
// params: []
extern "C"
std::string*
    casadi__Slice__getRepresentation(std::string ** err_msg, casadi::Slice* obj);
std::string*
    casadi__Slice__getRepresentation(std::string ** err_msg, casadi::Slice* obj){
    try {

        std::string ret = obj->getRepresentation();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDescription" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::getDescription"
// cWrapperName: "casadi__Slice__getDescription"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Slice__getDescription(std::string ** err_msg, casadi::Slice* obj)"
// call: "obj->getDescription()"
// params: []
extern "C"
std::string*
    casadi__Slice__getDescription(std::string ** err_msg, casadi::Slice* obj);
std::string*
    casadi__Slice__getDescription(std::string ** err_msg, casadi::Slice* obj){
    try {

        std::string ret = obj->getDescription();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "SocpSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "SocpSolver")
extern "C"
void delete_casadi__SocpSolver(casadi::SocpSolver* obj);
void delete_casadi__SocpSolver(casadi::SocpSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SocpSolver"
// cppName: "casadi::SocpSolver"
// cWrapperName: "casadi__SocpSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SocpSolver")
// cWrapperRetType: "casadi::SocpSolver*"
// proto: "casadi::SocpSolver*\n    casadi__SocpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// call: "casadi::SocpSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::SocpSolver*
    casadi__SocpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
casadi::SocpSolver*
    casadi__SocpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);

        return new casadi::SocpSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SocpSolver"
// cppName: "casadi::SocpSolver"
// cWrapperName: "casadi__SocpSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SocpSolver")
// cWrapperRetType: "casadi::SocpSolver*"
// proto: "casadi::SocpSolver*\n    casadi__SocpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::SocpSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::SocpSolver*
    casadi__SocpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::SocpSolver*
    casadi__SocpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::SocpSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SocpSolver"
// cppName: "casadi::SocpSolver"
// cWrapperName: "casadi__SocpSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SocpSolver")
// cWrapperRetType: "casadi::SocpSolver*"
// proto: "casadi::SocpSolver*\n    casadi__SocpSolver__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::SocpSolver()"
// params: []
extern "C"
casadi::SocpSolver*
    casadi__SocpSolver__CONSTRUCTOR__2(std::string ** err_msg);
casadi::SocpSolver*
    casadi__SocpSolver__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::SocpSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::SocpSolver"
// cppName: "casadi::SocpSolver::doc"
// cWrapperName: "casadi__SocpSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SocpSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::SocpSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__SocpSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__SocpSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::SocpSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::SocpSolver"
// cppName: "casadi::SocpSolver::hasPlugin"
// cWrapperName: "casadi__SocpSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SocpSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::SocpSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__SocpSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__SocpSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::SocpSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::SocpSolver"
// cppName: "casadi::SocpSolver::loadPlugin"
// cWrapperName: "casadi__SocpSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SocpSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::SocpSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__SocpSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__SocpSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::SocpSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Sparsity")===============
// classType: UserType (Namespace ["casadi"]) (Name "Sparsity")
extern "C"
void delete_casadi__Sparsity(casadi::Sparsity* obj);
void delete_casadi__Sparsity(casadi::Sparsity* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity"
// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__0(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// call: "casadi::Sparsity(x0_, x1_, x2_, x3_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__0(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__0(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);

        return new casadi::Sparsity(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity"
// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__1(std::string ** err_msg, int x0, int x1)"
// call: "casadi::Sparsity(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__1(std::string ** err_msg, int x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__1(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        return new casadi::Sparsity(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity"
// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::Sparsity()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg);
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::Sparsity();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity"
// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__3(std::string ** err_msg, int x0)"
// call: "casadi::Sparsity(x0_)"
// params: [CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__3(std::string ** err_msg, int x0);
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__3(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        return new casadi::Sparsity(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "T" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::T"
// cWrapperName: "casadi__Sparsity__T"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__T(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->T()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__T(std::string ** err_msg, casadi::Sparsity* obj);
casadi::Sparsity*
    casadi__Sparsity__T(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        casadi::Sparsity ret = obj->T();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "addNZ" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::addNZ"
// cWrapperName: "casadi__Sparsity__addNZ"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__addNZ(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// call: "obj->addNZ(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
int
    casadi__Sparsity__addNZ(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1);
int
    casadi__Sparsity__addNZ(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        int ret = obj->addNZ(x0_, x1_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "append" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::append"
// cWrapperName: "casadi__Sparsity__append"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__append(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "obj->append(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
void
    casadi__Sparsity__append(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
void
    casadi__Sparsity__append(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        obj->append(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "appendColumns" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::appendColumns"
// cWrapperName: "casadi__Sparsity__appendColumns"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__appendColumns(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "obj->appendColumns(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
void
    casadi__Sparsity__appendColumns(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
void
    casadi__Sparsity__appendColumns(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        obj->appendColumns(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "band" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::band"
// cWrapperName: "casadi__Sparsity__band"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__band(std::string ** err_msg, int x0, int x1)"
// call: "casadi::Sparsity::band(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__band(std::string ** err_msg, int x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__band(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::band(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "banded" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::banded"
// cWrapperName: "casadi__Sparsity__banded"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__banded(std::string ** err_msg, int x0, int x1)"
// call: "casadi::Sparsity::banded(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__banded(std::string ** err_msg, int x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__banded(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::banded(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "bandwidthL" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::bandwidthL"
// cWrapperName: "casadi__Sparsity__bandwidthL"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__bandwidthL(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->bandwidthL()"
// params: []
extern "C"
int
    casadi__Sparsity__bandwidthL(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__bandwidthL(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        int ret = obj->bandwidthL();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "bandwidthU" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::bandwidthU"
// cWrapperName: "casadi__Sparsity__bandwidthU"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__bandwidthU(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->bandwidthU()"
// params: []
extern "C"
int
    casadi__Sparsity__bandwidthU(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__bandwidthU(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        int ret = obj->bandwidthU();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "clearCache" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::clearCache"
// cWrapperName: "casadi__Sparsity__clearCache"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__clearCache(std::string ** err_msg)"
// call: "casadi::Sparsity::clearCache()"
// params: []
extern "C"
void
    casadi__Sparsity__clearCache(std::string ** err_msg);
void
    casadi__Sparsity__clearCache(std::string ** err_msg){
    try {

        casadi::Sparsity::clearCache();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "colind" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::colind"
// cWrapperName: "casadi__Sparsity__colind"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__colind(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "obj->colind(x0_)"
// params: [CInt]
extern "C"
int
    casadi__Sparsity__colind(std::string ** err_msg, casadi::Sparsity* obj, int x0);
int
    casadi__Sparsity__colind(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->colind(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "compress" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::compress"
// cWrapperName: "casadi__Sparsity__compress"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__compress(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->compress()"
// params: []
extern "C"
std::vector< int >*
    casadi__Sparsity__compress(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< int >*
    casadi__Sparsity__compress(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< int > ret = obj->compress();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "compressed" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::compressed"
// cWrapperName: "casadi__Sparsity__compressed"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__compressed(std::string ** err_msg, std::vector< int >* x0)"
// call: "casadi::Sparsity::compressed(x0_)"
// params: [Ref (Const (StdVec CInt))]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__compressed(std::string ** err_msg, std::vector< int >* x0);
casadi::Sparsity*
    casadi__Sparsity__compressed(std::string ** err_msg, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::compressed(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "dense" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::dense"
// cWrapperName: "casadi__Sparsity__dense__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__dense__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::Sparsity::dense(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__dense__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::Sparsity*
    casadi__Sparsity__dense__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "dense" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::dense"
// cWrapperName: "casadi__Sparsity__dense__1"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__dense__1(std::string ** err_msg, int x0)"
// call: "casadi::Sparsity::dense(x0_)"
// params: [CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__dense__1(std::string ** err_msg, int x0);
casadi::Sparsity*
    casadi__Sparsity__dense__1(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "dense" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::dense"
// cWrapperName: "casadi__Sparsity__dense__2"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__dense__2(std::string ** err_msg, int x0, int x1)"
// call: "casadi::Sparsity::dense(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__dense__2(std::string ** err_msg, int x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__dense__2(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::dense(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "depthFirstSearch" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::depthFirstSearch"
// cWrapperName: "casadi__Sparsity__depthFirstSearch"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__depthFirstSearch(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5)"
// call: "obj->depthFirstSearch(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [CInt,CInt,Ref (StdVec CInt),Ref (StdVec CInt),Ref (Const (StdVec CInt)),Ref (StdVec CBool)]
extern "C"
int
    casadi__Sparsity__depthFirstSearch(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5);
int
    casadi__Sparsity__depthFirstSearch(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
        std::vector< bool > x5_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x5);

        int ret = obj->depthFirstSearch(x0_, x1_, x2_, x3_, x4_, x5_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "diag" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::diag"
// cWrapperName: "casadi__Sparsity__diag__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__diag__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::Sparsity::diag(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__diag__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::Sparsity*
    casadi__Sparsity__diag__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "diag" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::diag"
// cWrapperName: "casadi__Sparsity__diag__1"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__diag__1(std::string ** err_msg, int x0, int x1)"
// call: "casadi::Sparsity::diag(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__diag__1(std::string ** err_msg, int x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__diag__1(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::diag(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "diag" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::diag"
// cWrapperName: "casadi__Sparsity__diag__2"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__diag__2(std::string ** err_msg, int x0)"
// call: "casadi::Sparsity::diag(x0_)"
// params: [CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__diag__2(std::string ** err_msg, int x0);
casadi::Sparsity*
    casadi__Sparsity__diag__2(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dimString" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::dimString"
// cWrapperName: "casadi__Sparsity__dimString"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Sparsity__dimString(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->dimString()"
// params: []
extern "C"
std::string*
    casadi__Sparsity__dimString(std::string ** err_msg, casadi::Sparsity* obj);
std::string*
    casadi__Sparsity__dimString(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::string ret = obj->dimString();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dulmageMendelsohn" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::dulmageMendelsohn"
// cWrapperName: "casadi__Sparsity__dulmageMendelsohn__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__dulmageMendelsohn__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5)"
// call: "obj->dulmageMendelsohn(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [Ref (StdVec CInt),Ref (StdVec CInt),Ref (StdVec CInt),Ref (StdVec CInt),Ref (StdVec CInt),Ref (StdVec CInt)]
extern "C"
int
    casadi__Sparsity__dulmageMendelsohn__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5);
int
    casadi__Sparsity__dulmageMendelsohn__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
        std::vector< int > x5_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x5);

        int ret = obj->dulmageMendelsohn(x0_, x1_, x2_, x3_, x4_, x5_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dulmageMendelsohn" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::dulmageMendelsohn"
// cWrapperName: "casadi__Sparsity__dulmageMendelsohn__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5, int x6)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__dulmageMendelsohn__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5, int x6)"
// call: "obj->dulmageMendelsohn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// params: [Ref (StdVec CInt),Ref (StdVec CInt),Ref (StdVec CInt),Ref (StdVec CInt),Ref (StdVec CInt),Ref (StdVec CInt),CInt]
extern "C"
int
    casadi__Sparsity__dulmageMendelsohn__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5, int x6);
int
    casadi__Sparsity__dulmageMendelsohn__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5, int x6){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
        std::vector< int > x5_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x5);
        int x6_ = Marshaling<int,int>::marshal(x6);

        int ret = obj->dulmageMendelsohn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "eliminationTree" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::eliminationTree"
// cWrapperName: "casadi__Sparsity__eliminationTree__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__eliminationTree__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->eliminationTree()"
// params: []
extern "C"
std::vector< int >*
    casadi__Sparsity__eliminationTree__0(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< int >*
    casadi__Sparsity__eliminationTree__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< int > ret = obj->eliminationTree();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "eliminationTree" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::eliminationTree"
// cWrapperName: "casadi__Sparsity__eliminationTree__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__eliminationTree__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "obj->eliminationTree(x0_)"
// params: [CBool]
extern "C"
std::vector< int >*
    casadi__Sparsity__eliminationTree__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
std::vector< int >*
    casadi__Sparsity__eliminationTree__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::vector< int > ret = obj->eliminationTree(x0_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::enlarge"
// cWrapperName: "casadi__Sparsity__enlarge__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__enlarge__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// call: "obj->enlarge(x0_, x1_, x2_, x3_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__Sparsity__enlarge__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
void
    casadi__Sparsity__enlarge__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);

        obj->enlarge(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::enlarge"
// cWrapperName: "casadi__Sparsity__enlarge__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__enlarge__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
// call: "obj->enlarge(x0_, x1_, x2_, x3_, x4_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__Sparsity__enlarge__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4);
void
    casadi__Sparsity__enlarge__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlargeColumns" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::enlargeColumns"
// cWrapperName: "casadi__Sparsity__enlargeColumns__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__enlargeColumns__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1)"
// call: "obj->enlargeColumns(x0_, x1_)"
// params: [CInt,Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__Sparsity__enlargeColumns__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1);
void
    casadi__Sparsity__enlargeColumns__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        obj->enlargeColumns(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlargeColumns" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::enlargeColumns"
// cWrapperName: "casadi__Sparsity__enlargeColumns__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__enlargeColumns__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2)"
// call: "obj->enlargeColumns(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__Sparsity__enlargeColumns__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2);
void
    casadi__Sparsity__enlargeColumns__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->enlargeColumns(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlargeRows" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::enlargeRows"
// cWrapperName: "casadi__Sparsity__enlargeRows__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__enlargeRows__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1)"
// call: "obj->enlargeRows(x0_, x1_)"
// params: [CInt,Ref (Const (StdVec CInt))]
extern "C"
void
    casadi__Sparsity__enlargeRows__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1);
void
    casadi__Sparsity__enlargeRows__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        obj->enlargeRows(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlargeRows" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::enlargeRows"
// cWrapperName: "casadi__Sparsity__enlargeRows__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__enlargeRows__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2)"
// call: "obj->enlargeRows(x0_, x1_, x2_)"
// params: [CInt,Ref (Const (StdVec CInt)),CBool]
extern "C"
void
    casadi__Sparsity__enlargeRows__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2);
void
    casadi__Sparsity__enlargeRows__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->enlargeRows(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::erase"
// cWrapperName: "casadi__Sparsity__erase__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__erase__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// call: "obj->erase(x0_)"
// params: [Ref (Const (StdVec CInt))]
extern "C"
std::vector< int >*
    casadi__Sparsity__erase__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0);
std::vector< int >*
    casadi__Sparsity__erase__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        std::vector< int > ret = obj->erase(x0_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::erase"
// cWrapperName: "casadi__Sparsity__erase__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__erase__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1)"
// call: "obj->erase(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),CBool]
extern "C"
std::vector< int >*
    casadi__Sparsity__erase__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1);
std::vector< int >*
    casadi__Sparsity__erase__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< int > ret = obj->erase(x0_, x1_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::erase"
// cWrapperName: "casadi__Sparsity__erase__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__erase__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
// call: "obj->erase(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
std::vector< int >*
    casadi__Sparsity__erase__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1);
std::vector< int >*
    casadi__Sparsity__erase__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        std::vector< int > ret = obj->erase(x0_, x1_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::erase"
// cWrapperName: "casadi__Sparsity__erase__3"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__erase__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
// call: "obj->erase(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),CBool]
extern "C"
std::vector< int >*
    casadi__Sparsity__erase__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, int x2);
std::vector< int >*
    casadi__Sparsity__erase__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, int x2){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        std::vector< int > ret = obj->erase(x0_, x1_, x2_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "find" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::find"
// cWrapperName: "casadi__Sparsity__find__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__find__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->find()"
// params: []
extern "C"
std::vector< int >*
    casadi__Sparsity__find__0(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< int >*
    casadi__Sparsity__find__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< int > ret = obj->find();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "find" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::find"
// cWrapperName: "casadi__Sparsity__find__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__find__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "obj->find(x0_)"
// params: [CBool]
extern "C"
std::vector< int >*
    casadi__Sparsity__find__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
std::vector< int >*
    casadi__Sparsity__find__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::vector< int > ret = obj->find(x0_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getCCS" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::getCCS"
// cWrapperName: "casadi__Sparsity__getCCS"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__getCCS(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
// call: "obj->getCCS(x0_, x1_)"
// params: [Ref (StdVec CInt),Ref (StdVec CInt)]
extern "C"
void
    casadi__Sparsity__getCCS(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1);
void
    casadi__Sparsity__getCCS(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        obj->getCCS(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getCRS" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::getCRS"
// cWrapperName: "casadi__Sparsity__getCRS"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__getCRS(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
// call: "obj->getCRS(x0_, x1_)"
// params: [Ref (StdVec CInt),Ref (StdVec CInt)]
extern "C"
void
    casadi__Sparsity__getCRS(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1);
void
    casadi__Sparsity__getCRS(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        obj->getCRS(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getCol" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::getCol"
// cWrapperName: "casadi__Sparsity__getCol"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__getCol(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->getCol()"
// params: []
extern "C"
std::vector< int >*
    casadi__Sparsity__getCol(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< int >*
    casadi__Sparsity__getCol(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< int > ret = obj->getCol();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getColind" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::getColind"
// cWrapperName: "casadi__Sparsity__getColind"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__getColind(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->getColind()"
// params: []
extern "C"
std::vector< int >*
    casadi__Sparsity__getColind(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< int >*
    casadi__Sparsity__getColind(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< int > ret = obj->getColind();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDiag" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::getDiag"
// cWrapperName: "casadi__Sparsity__getDiag"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__getDiag(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// call: "obj->getDiag(x0_)"
// params: [Ref (StdVec CInt)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__getDiag(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0);
casadi::Sparsity*
    casadi__Sparsity__getDiag(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        casadi::Sparsity ret = obj->getDiag(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getLowerNZ" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::getLowerNZ"
// cWrapperName: "casadi__Sparsity__getLowerNZ"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__getLowerNZ(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->getLowerNZ()"
// params: []
extern "C"
std::vector< int >*
    casadi__Sparsity__getLowerNZ(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< int >*
    casadi__Sparsity__getLowerNZ(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< int > ret = obj->getLowerNZ();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::getNZ"
// cWrapperName: "casadi__Sparsity__getNZ__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__getNZ__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// call: "obj->getNZ(x0_)"
// params: [Ref (StdVec CInt)]
extern "C"
void
    casadi__Sparsity__getNZ__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0);
void
    casadi__Sparsity__getNZ__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        obj->getNZ(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::getNZ"
// cWrapperName: "casadi__Sparsity__getNZ__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__getNZ__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
// call: "obj->getNZ(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
std::vector< int >*
    casadi__Sparsity__getNZ__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1);
std::vector< int >*
    casadi__Sparsity__getNZ__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        std::vector< int > ret = obj->getNZ(x0_, x1_);
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getNZ" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::getNZ"
// cWrapperName: "casadi__Sparsity__getNZ__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__getNZ__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// call: "obj->getNZ(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
int
    casadi__Sparsity__getNZ__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1);
int
    casadi__Sparsity__getNZ__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        int ret = obj->getNZ(x0_, x1_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getRow" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::getRow"
// cWrapperName: "casadi__Sparsity__getRow"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__getRow(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->getRow()"
// params: []
extern "C"
std::vector< int >*
    casadi__Sparsity__getRow(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< int >*
    casadi__Sparsity__getRow(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< int > ret = obj->getRow();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getTriplet" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::getTriplet"
// cWrapperName: "casadi__Sparsity__getTriplet"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__getTriplet(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
// call: "obj->getTriplet(x0_, x1_)"
// params: [Ref (StdVec CInt),Ref (StdVec CInt)]
extern "C"
void
    casadi__Sparsity__getTriplet(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1);
void
    casadi__Sparsity__getTriplet(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        obj->getTriplet(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getUpperNZ" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::getUpperNZ"
// cWrapperName: "casadi__Sparsity__getUpperNZ"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__getUpperNZ(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->getUpperNZ()"
// params: []
extern "C"
std::vector< int >*
    casadi__Sparsity__getUpperNZ(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< int >*
    casadi__Sparsity__getUpperNZ(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< int > ret = obj->getUpperNZ();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hasNZ" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::hasNZ"
// cWrapperName: "casadi__Sparsity__hasNZ"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__hasNZ(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// call: "obj->hasNZ(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
int
    casadi__Sparsity__hasNZ(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1);
int
    casadi__Sparsity__hasNZ(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        bool ret = obj->hasNZ(x0_, x1_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hash" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::hash"
// cWrapperName: "casadi__Sparsity__hash"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__Sparsity__hash(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->hash()"
// params: []
extern "C"
size_t
    casadi__Sparsity__hash(std::string ** err_msg, casadi::Sparsity* obj);
size_t
    casadi__Sparsity__hash(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        size_t ret = obj->hash();
        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isEqual" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::isEqual"
// cWrapperName: "casadi__Sparsity__isEqual__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__isEqual__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// call: "obj->isEqual(x0_, x1_, x2_, x3_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
int
    casadi__Sparsity__isEqual__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
int
    casadi__Sparsity__isEqual__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);

        bool ret = obj->isEqual(x0_, x1_, x2_, x3_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isEqual" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::isEqual"
// cWrapperName: "casadi__Sparsity__isEqual__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__isEqual__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "obj->isEqual(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
int
    casadi__Sparsity__isEqual__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
int
    casadi__Sparsity__isEqual__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        bool ret = obj->isEqual(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isReshape" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::isReshape"
// cWrapperName: "casadi__Sparsity__isReshape"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__isReshape(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "obj->isReshape(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
int
    casadi__Sparsity__isReshape(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
int
    casadi__Sparsity__isReshape(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        bool ret = obj->isReshape(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isTranspose" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::isTranspose"
// cWrapperName: "casadi__Sparsity__isTranspose"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__isTranspose(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "obj->isTranspose(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
int
    casadi__Sparsity__isTranspose(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
int
    casadi__Sparsity__isTranspose(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        bool ret = obj->isTranspose(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "iscolumn" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::iscolumn"
// cWrapperName: "casadi__Sparsity__iscolumn"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__iscolumn(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->iscolumn()"
// params: []
extern "C"
int
    casadi__Sparsity__iscolumn(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__iscolumn(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->iscolumn();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isdense" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::isdense"
// cWrapperName: "casadi__Sparsity__isdense"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__isdense(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->isdense()"
// params: []
extern "C"
int
    casadi__Sparsity__isdense(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__isdense(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->isdense();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isdiag" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::isdiag"
// cWrapperName: "casadi__Sparsity__isdiag"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__isdiag(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->isdiag()"
// params: []
extern "C"
int
    casadi__Sparsity__isdiag(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__isdiag(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->isdiag();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isempty" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::isempty"
// cWrapperName: "casadi__Sparsity__isempty__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__isempty__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->isempty()"
// params: []
extern "C"
int
    casadi__Sparsity__isempty__0(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__isempty__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->isempty();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isempty" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::isempty"
// cWrapperName: "casadi__Sparsity__isempty__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__isempty__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "obj->isempty(x0_)"
// params: [CBool]
extern "C"
int
    casadi__Sparsity__isempty__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
int
    casadi__Sparsity__isempty__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->isempty(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isrow" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::isrow"
// cWrapperName: "casadi__Sparsity__isrow"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__isrow(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->isrow()"
// params: []
extern "C"
int
    casadi__Sparsity__isrow(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__isrow(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->isrow();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isscalar" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::isscalar"
// cWrapperName: "casadi__Sparsity__isscalar__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__isscalar__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->isscalar()"
// params: []
extern "C"
int
    casadi__Sparsity__isscalar__0(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__isscalar__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->isscalar();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isscalar" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::isscalar"
// cWrapperName: "casadi__Sparsity__isscalar__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__isscalar__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "obj->isscalar(x0_)"
// params: [CBool]
extern "C"
int
    casadi__Sparsity__isscalar__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
int
    casadi__Sparsity__isscalar__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->isscalar(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "issingular" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::issingular"
// cWrapperName: "casadi__Sparsity__issingular"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__issingular(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->issingular()"
// params: []
extern "C"
int
    casadi__Sparsity__issingular(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__issingular(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->issingular();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "issquare" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::issquare"
// cWrapperName: "casadi__Sparsity__issquare"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__issquare(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->issquare()"
// params: []
extern "C"
int
    casadi__Sparsity__issquare(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__issquare(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->issquare();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "issymmetric" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::issymmetric"
// cWrapperName: "casadi__Sparsity__issymmetric"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__issymmetric(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->issymmetric()"
// params: []
extern "C"
int
    casadi__Sparsity__issymmetric(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__issymmetric(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->issymmetric();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "istril" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::istril"
// cWrapperName: "casadi__Sparsity__istril"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__istril(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->istril()"
// params: []
extern "C"
int
    casadi__Sparsity__istril(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__istril(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->istril();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "istriu" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::istriu"
// cWrapperName: "casadi__Sparsity__istriu"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__istriu(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->istriu()"
// params: []
extern "C"
int
    casadi__Sparsity__istriu(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__istriu(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->istriu();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "isvector" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::isvector"
// cWrapperName: "casadi__Sparsity__isvector"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__isvector(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->isvector()"
// params: []
extern "C"
int
    casadi__Sparsity__isvector(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__isvector(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->isvector();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "largestFirstOrdering" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::largestFirstOrdering"
// cWrapperName: "casadi__Sparsity__largestFirstOrdering"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Sparsity__largestFirstOrdering(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->largestFirstOrdering()"
// params: []
extern "C"
std::vector< int >*
    casadi__Sparsity__largestFirstOrdering(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< int >*
    casadi__Sparsity__largestFirstOrdering(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< int > ret = obj->largestFirstOrdering();
        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "lower" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::lower"
// cWrapperName: "casadi__Sparsity__lower"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__lower(std::string ** err_msg, int x0)"
// call: "casadi::Sparsity::lower(x0_)"
// params: [CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__lower(std::string ** err_msg, int x0);
casadi::Sparsity*
    casadi__Sparsity__lower(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::lower(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "makeDense" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::makeDense"
// cWrapperName: "casadi__Sparsity__makeDense"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__makeDense(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// call: "obj->makeDense(x0_)"
// params: [Ref (StdVec CInt)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__makeDense(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0);
casadi::Sparsity*
    casadi__Sparsity__makeDense(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        casadi::Sparsity ret = obj->makeDense(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::nnz"
// cWrapperName: "casadi__Sparsity__nnz"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__nnz(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->nnz()"
// params: []
extern "C"
int
    casadi__Sparsity__nnz(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__nnz(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        int ret = obj->nnz();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::numel"
// cWrapperName: "casadi__Sparsity__numel"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__numel(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->numel()"
// params: []
extern "C"
int
    casadi__Sparsity__numel(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__numel(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        int ret = obj->numel();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator !=" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::operator !="
// cWrapperName: "casadi__Sparsity__operator_nequals"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__operator_nequals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "obj->operator !=(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
int
    casadi__Sparsity__operator_nequals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
int
    casadi__Sparsity__operator_nequals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        bool ret = obj->operator !=(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator *" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::operator *"
// cWrapperName: "casadi__Sparsity__operator_mul"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__operator_mul(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "obj->operator *(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__operator_mul(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi__Sparsity__operator_mul(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = obj->operator *(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator +" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::operator +"
// cWrapperName: "casadi__Sparsity__operator_plus"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__operator_plus(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "obj->operator +(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__operator_plus(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi__Sparsity__operator_plus(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = obj->operator +(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ==" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::operator =="
// cWrapperName: "casadi__Sparsity__operator_equals"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__operator_equals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "obj->operator ==(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
int
    casadi__Sparsity__operator_equals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
int
    casadi__Sparsity__operator_equals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        bool ret = obj->operator ==(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "patternCombine" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::patternCombine"
// cWrapperName: "casadi__Sparsity__patternCombine"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__patternCombine(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2)"
// call: "obj->patternCombine(x0_, x1_, x2_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CBool,CBool]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__patternCombine(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2);
casadi::Sparsity*
    casadi__Sparsity__patternCombine(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Sparsity ret = obj->patternCombine(x0_, x1_, x2_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "patternIntersection" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::patternIntersection"
// cWrapperName: "casadi__Sparsity__patternIntersection"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__patternIntersection(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "obj->patternIntersection(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__patternIntersection(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi__Sparsity__patternIntersection(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = obj->patternIntersection(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "patternInverse" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::patternInverse"
// cWrapperName: "casadi__Sparsity__patternInverse"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__patternInverse(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->patternInverse()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__patternInverse(std::string ** err_msg, casadi::Sparsity* obj);
casadi::Sparsity*
    casadi__Sparsity__patternInverse(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        casadi::Sparsity ret = obj->patternInverse();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "patternProduct" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::patternProduct"
// cWrapperName: "casadi__Sparsity__patternProduct"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__patternProduct(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "obj->patternProduct(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__patternProduct(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi__Sparsity__patternProduct(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = obj->patternProduct(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "patternUnion" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::patternUnion"
// cWrapperName: "casadi__Sparsity__patternUnion"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__patternUnion(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "obj->patternUnion(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__patternUnion(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi__Sparsity__patternUnion(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = obj->patternUnion(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "pmult" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::pmult"
// cWrapperName: "casadi__Sparsity__pmult__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// call: "obj->pmult(x0_)"
// params: [Ref (Const (StdVec CInt))]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__pmult__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0);
casadi::Sparsity*
    casadi__Sparsity__pmult__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        casadi::Sparsity ret = obj->pmult(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "pmult" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::pmult"
// cWrapperName: "casadi__Sparsity__pmult__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1)"
// call: "obj->pmult(x0_, x1_)"
// params: [Ref (Const (StdVec CInt)),CBool]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__pmult__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__pmult__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::Sparsity ret = obj->pmult(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "pmult" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::pmult"
// cWrapperName: "casadi__Sparsity__pmult__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2)"
// call: "obj->pmult(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec CInt)),CBool,CBool]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__pmult__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2);
casadi::Sparsity*
    casadi__Sparsity__pmult__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "pmult" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::pmult"
// cWrapperName: "casadi__Sparsity__pmult__3"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2, int x3)"
// call: "obj->pmult(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec CInt)),CBool,CBool,CBool]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__pmult__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2, int x3);
casadi::Sparsity*
    casadi__Sparsity__pmult__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2, int x3){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "printCompact" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::printCompact"
// cWrapperName: "casadi__Sparsity__printCompact"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__printCompact(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->printCompact()"
// params: []
extern "C"
void
    casadi__Sparsity__printCompact(std::string ** err_msg, casadi::Sparsity* obj);
void
    casadi__Sparsity__printCompact(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        obj->printCompact();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reCache" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::reCache"
// cWrapperName: "casadi__Sparsity__reCache"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__reCache(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->reCache()"
// params: []
extern "C"
void
    casadi__Sparsity__reCache(std::string ** err_msg, casadi::Sparsity* obj);
void
    casadi__Sparsity__reCache(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        obj->reCache();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "removeDuplicates" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::removeDuplicates"
// cWrapperName: "casadi__Sparsity__removeDuplicates"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__removeDuplicates(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// call: "obj->removeDuplicates(x0_)"
// params: [Ref (StdVec CInt)]
extern "C"
void
    casadi__Sparsity__removeDuplicates(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0);
void
    casadi__Sparsity__removeDuplicates(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        obj->removeDuplicates(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reserve" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::reserve"
// cWrapperName: "casadi__Sparsity__reserve"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__reserve(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// call: "obj->reserve(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
void
    casadi__Sparsity__reserve(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1);
void
    casadi__Sparsity__reserve(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->reserve(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "resize" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::resize"
// cWrapperName: "casadi__Sparsity__resize"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__resize(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// call: "obj->resize(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
void
    casadi__Sparsity__resize(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1);
void
    casadi__Sparsity__resize(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->resize(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "row" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::row"
// cWrapperName: "casadi__Sparsity__row"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__row(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "obj->row(x0_)"
// params: [CInt]
extern "C"
int
    casadi__Sparsity__row(std::string ** err_msg, casadi::Sparsity* obj, int x0);
int
    casadi__Sparsity__row(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        int ret = obj->row(x0_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rowcol" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::rowcol"
// cWrapperName: "casadi__Sparsity__rowcol"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__rowcol(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, int x2, int x3)"
// call: "casadi::Sparsity::rowcol(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),CInt,CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__rowcol(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, int x2, int x3);
casadi::Sparsity*
    casadi__Sparsity__rowcol(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, int x2, int x3){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);
        int x3_ = Marshaling<int,int>::marshal(x3);

        casadi::Sparsity ret = casadi::Sparsity::rowcol(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "rowsSequential" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::rowsSequential"
// cWrapperName: "casadi__Sparsity__rowsSequential__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__rowsSequential__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->rowsSequential()"
// params: []
extern "C"
int
    casadi__Sparsity__rowsSequential__0(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__rowsSequential__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->rowsSequential();
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "rowsSequential" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::rowsSequential"
// cWrapperName: "casadi__Sparsity__rowsSequential__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__rowsSequential__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "obj->rowsSequential(x0_)"
// params: [CBool]
extern "C"
int
    casadi__Sparsity__rowsSequential__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
int
    casadi__Sparsity__rowsSequential__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->rowsSequential(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sanityCheck" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sanityCheck"
// cWrapperName: "casadi__Sparsity__sanityCheck__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__sanityCheck__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->sanityCheck()"
// params: []
extern "C"
void
    casadi__Sparsity__sanityCheck__0(std::string ** err_msg, casadi::Sparsity* obj);
void
    casadi__Sparsity__sanityCheck__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        obj->sanityCheck();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "sanityCheck" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sanityCheck"
// cWrapperName: "casadi__Sparsity__sanityCheck__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__sanityCheck__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "obj->sanityCheck(x0_)"
// params: [CBool]
extern "C"
void
    casadi__Sparsity__sanityCheck__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
void
    casadi__Sparsity__sanityCheck__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        obj->sanityCheck(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "scalar" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::scalar"
// cWrapperName: "casadi__Sparsity__scalar__0"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__scalar__0(std::string ** err_msg)"
// call: "casadi::Sparsity::scalar()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__scalar__0(std::string ** err_msg);
casadi::Sparsity*
    casadi__Sparsity__scalar__0(std::string ** err_msg){
    try {

        casadi::Sparsity ret = casadi::Sparsity::scalar();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "scalar" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::scalar"
// cWrapperName: "casadi__Sparsity__scalar__1"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__scalar__1(std::string ** err_msg, int x0)"
// call: "casadi::Sparsity::scalar(x0_)"
// params: [CBool]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__scalar__1(std::string ** err_msg, int x0);
casadi::Sparsity*
    casadi__Sparsity__scalar__1(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::scalar(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "shape" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::shape"
// cWrapperName: "casadi__Sparsity__shape"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdPair CInt CInt
// cWrapperRetType: "std::pair< int, int >*"
// proto: "std::pair< int, int >*\n    casadi__Sparsity__shape(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->shape()"
// params: []
extern "C"
std::pair< int, int >*
    casadi__Sparsity__shape(std::string ** err_msg, casadi::Sparsity* obj);
std::pair< int, int >*
    casadi__Sparsity__shape(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::pair< int, int > ret = obj->shape();
        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::size1"
// cWrapperName: "casadi__Sparsity__size1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__size1(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->size1()"
// params: []
extern "C"
int
    casadi__Sparsity__size1(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__size1(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        int ret = obj->size1();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::size2"
// cWrapperName: "casadi__Sparsity__size2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__size2(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->size2()"
// params: []
extern "C"
int
    casadi__Sparsity__size2(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__size2(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        int ret = obj->size2();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeD" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sizeD"
// cWrapperName: "casadi__Sparsity__sizeD"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__sizeD(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->sizeD()"
// params: []
extern "C"
int
    casadi__Sparsity__sizeD(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__sizeD(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        int ret = obj->sizeD();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeL" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sizeL"
// cWrapperName: "casadi__Sparsity__sizeL"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__sizeL(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->sizeL()"
// params: []
extern "C"
int
    casadi__Sparsity__sizeL(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__sizeL(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        int ret = obj->sizeL();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sizeU" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sizeU"
// cWrapperName: "casadi__Sparsity__sizeU"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__sizeU(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->sizeU()"
// params: []
extern "C"
int
    casadi__Sparsity__sizeU(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__sizeU(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        int ret = obj->sizeU();
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sparse"
// cWrapperName: "casadi__Sparsity__sparse__0"
// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__sparse__0(std::string ** err_msg, std::pair< int, int >* x0)"
// call: "casadi::Sparsity::sparse(x0_)"
// params: [Ref (Const (StdPair CInt CInt))]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__sparse__0(std::string ** err_msg, std::pair< int, int >* x0);
casadi::Sparsity*
    casadi__Sparsity__sparse__0(std::string ** err_msg, std::pair< int, int >* x0){
    try {
        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::sparse(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sparse"
// cWrapperName: "casadi__Sparsity__sparse__1"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__sparse__1(std::string ** err_msg, int x0)"
// call: "casadi::Sparsity::sparse(x0_)"
// params: [CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__sparse__1(std::string ** err_msg, int x0);
casadi::Sparsity*
    casadi__Sparsity__sparse__1(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::sparse(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sparse" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sparse"
// cWrapperName: "casadi__Sparsity__sparse__2"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__sparse__2(std::string ** err_msg, int x0, int x1)"
// call: "casadi::Sparsity::sparse(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__sparse__2(std::string ** err_msg, int x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__sparse__2(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::sparse(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "spy" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::spy"
// cWrapperName: "casadi__Sparsity__spy"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__spy(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->spy()"
// params: []
extern "C"
void
    casadi__Sparsity__spy(std::string ** err_msg, casadi::Sparsity* obj);
void
    casadi__Sparsity__spy(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        obj->spy();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "spyMatlab" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::spyMatlab"
// cWrapperName: "casadi__Sparsity__spyMatlab"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__spyMatlab(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
// call: "obj->spyMatlab(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__Sparsity__spyMatlab(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0);
void
    casadi__Sparsity__spyMatlab(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->spyMatlab(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "starColoring" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::starColoring"
// cWrapperName: "casadi__Sparsity__starColoring__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__starColoring__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->starColoring()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__starColoring__0(std::string ** err_msg, casadi::Sparsity* obj);
casadi::Sparsity*
    casadi__Sparsity__starColoring__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        casadi::Sparsity ret = obj->starColoring();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "starColoring" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::starColoring"
// cWrapperName: "casadi__Sparsity__starColoring__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__starColoring__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "obj->starColoring(x0_)"
// params: [CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__starColoring__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
casadi::Sparsity*
    casadi__Sparsity__starColoring__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Sparsity ret = obj->starColoring(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "starColoring" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::starColoring"
// cWrapperName: "casadi__Sparsity__starColoring__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__starColoring__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// call: "obj->starColoring(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__starColoring__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__starColoring__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Sparsity ret = obj->starColoring(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "starColoring2" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::starColoring2"
// cWrapperName: "casadi__Sparsity__starColoring2__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__starColoring2__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->starColoring2()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__starColoring2__0(std::string ** err_msg, casadi::Sparsity* obj);
casadi::Sparsity*
    casadi__Sparsity__starColoring2__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        casadi::Sparsity ret = obj->starColoring2();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "starColoring2" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::starColoring2"
// cWrapperName: "casadi__Sparsity__starColoring2__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__starColoring2__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "obj->starColoring2(x0_)"
// params: [CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__starColoring2__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
casadi::Sparsity*
    casadi__Sparsity__starColoring2__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Sparsity ret = obj->starColoring2(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "starColoring2" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::starColoring2"
// cWrapperName: "casadi__Sparsity__starColoring2__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__starColoring2__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
// call: "obj->starColoring2(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__starColoring2__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__starColoring2__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Sparsity ret = obj->starColoring2(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "stronglyConnectedComponents" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::stronglyConnectedComponents"
// cWrapperName: "casadi__Sparsity__stronglyConnectedComponents"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
// args: "(x0_, x1_)"
// rettype: CInt
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__stronglyConnectedComponents(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
// call: "obj->stronglyConnectedComponents(x0_, x1_)"
// params: [Ref (StdVec CInt),Ref (StdVec CInt)]
extern "C"
int
    casadi__Sparsity__stronglyConnectedComponents(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1);
int
    casadi__Sparsity__stronglyConnectedComponents(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);

        int ret = obj->stronglyConnectedComponents(x0_, x1_);
        return WrapReturn< int, int >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sub" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sub"
// cWrapperName: "casadi__Sparsity__sub__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >* x2)"
// call: "obj->sub(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (StdVec CInt)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__sub__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >* x2);
casadi::Sparsity*
    casadi__Sparsity__sub__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >* x2){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);

        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sub" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sub"
// cWrapperName: "casadi__Sparsity__sub__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >* x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >* x2, int x3)"
// call: "obj->sub(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),Ref (StdVec CInt),CBool]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__sub__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >* x2, int x3);
casadi::Sparsity*
    casadi__Sparsity__sub__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >* x2, int x3){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sub" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sub"
// cWrapperName: "casadi__Sparsity__sub__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2)"
// call: "obj->sub(x0_, x1_, x2_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),Ref (StdVec CInt)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__sub__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2);
casadi::Sparsity*
    casadi__Sparsity__sub__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);

        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sub" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sub"
// cWrapperName: "casadi__Sparsity__sub__3"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2, int x3)"
// call: "obj->sub(x0_, x1_, x2_, x3_)"
// params: [Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),Ref (StdVec CInt),CBool]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__sub__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2, int x3);
casadi::Sparsity*
    casadi__Sparsity__sub__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >* x2, int x3){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "transpose" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::transpose"
// cWrapperName: "casadi__Sparsity__transpose__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__transpose__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
// call: "obj->transpose(x0_)"
// params: [Ref (StdVec CInt)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__transpose__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0);
casadi::Sparsity*
    casadi__Sparsity__transpose__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        casadi::Sparsity ret = obj->transpose(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "transpose" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::transpose"
// cWrapperName: "casadi__Sparsity__transpose__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__transpose__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1)"
// call: "obj->transpose(x0_, x1_)"
// params: [Ref (StdVec CInt),CBool]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__transpose__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__transpose__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::Sparsity ret = obj->transpose(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::triplet"
// cWrapperName: "casadi__Sparsity__triplet__0"
// protoArgs: "(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__triplet__0(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
// call: "casadi::Sparsity::triplet(x0_, x1_, x2_, x3_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt))]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__triplet__0(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
casadi::Sparsity*
    casadi__Sparsity__triplet__0(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);

        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::triplet"
// cWrapperName: "casadi__Sparsity__triplet__1"
// protoArgs: "(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__triplet__1(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4)"
// call: "casadi::Sparsity::triplet(x0_, x1_, x2_, x3_, x4_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),Ref (StdVec CInt)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__triplet__1(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4);
casadi::Sparsity*
    casadi__Sparsity__triplet__1(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);

        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_, x4_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::triplet"
// cWrapperName: "casadi__Sparsity__triplet__2"
// protoArgs: "(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, int x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__triplet__2(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, int x5)"
// call: "casadi::Sparsity::triplet(x0_, x1_, x2_, x3_, x4_, x5_)"
// params: [CInt,CInt,Ref (Const (StdVec CInt)),Ref (Const (StdVec CInt)),Ref (StdVec CInt),CBool]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__triplet__2(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, int x5);
casadi::Sparsity*
    casadi__Sparsity__triplet__2(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, int x5){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
        bool x5_ = Marshaling<bool,int>::marshal(x5);

        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_, x4_, x5_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "unidirectionalColoring" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::unidirectionalColoring"
// cWrapperName: "casadi__Sparsity__unidirectionalColoring__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__unidirectionalColoring__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->unidirectionalColoring()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__unidirectionalColoring__0(std::string ** err_msg, casadi::Sparsity* obj);
casadi::Sparsity*
    casadi__Sparsity__unidirectionalColoring__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        casadi::Sparsity ret = obj->unidirectionalColoring();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "unidirectionalColoring" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::unidirectionalColoring"
// cWrapperName: "casadi__Sparsity__unidirectionalColoring__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__unidirectionalColoring__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "obj->unidirectionalColoring(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__unidirectionalColoring__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi__Sparsity__unidirectionalColoring__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = obj->unidirectionalColoring(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "unidirectionalColoring" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::unidirectionalColoring"
// cWrapperName: "casadi__Sparsity__unidirectionalColoring__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__unidirectionalColoring__2(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1)"
// call: "obj->unidirectionalColoring(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__unidirectionalColoring__2(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__unidirectionalColoring__2(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Sparsity ret = obj->unidirectionalColoring(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "unit" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::unit"
// cWrapperName: "casadi__Sparsity__unit"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__unit(std::string ** err_msg, int x0, int x1)"
// call: "casadi::Sparsity::unit(x0_, x1_)"
// params: [CInt,CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__unit(std::string ** err_msg, int x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__unit(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::unit(x0_, x1_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "upper" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::upper"
// cWrapperName: "casadi__Sparsity__upper"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__upper(std::string ** err_msg, int x0)"
// call: "casadi::Sparsity::upper(x0_)"
// params: [CInt]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__upper(std::string ** err_msg, int x0);
casadi::Sparsity*
    casadi__Sparsity__upper(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::upper(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "zz_tril" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::zz_tril"
// cWrapperName: "casadi__Sparsity__zz_tril__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__zz_tril__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->zz_tril()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__zz_tril__0(std::string ** err_msg, casadi::Sparsity* obj);
casadi::Sparsity*
    casadi__Sparsity__zz_tril__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        casadi::Sparsity ret = obj->zz_tril();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "zz_tril" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::zz_tril"
// cWrapperName: "casadi__Sparsity__zz_tril__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__zz_tril__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "obj->zz_tril(x0_)"
// params: [CBool]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__zz_tril__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
casadi::Sparsity*
    casadi__Sparsity__zz_tril__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::Sparsity ret = obj->zz_tril(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "zz_triu" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::zz_triu"
// cWrapperName: "casadi__Sparsity__zz_triu__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__zz_triu__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "obj->zz_triu()"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__zz_triu__0(std::string ** err_msg, casadi::Sparsity* obj);
casadi::Sparsity*
    casadi__Sparsity__zz_triu__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        casadi::Sparsity ret = obj->zz_triu();
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "zz_triu" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::zz_triu"
// cWrapperName: "casadi__Sparsity__zz_triu__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__zz_triu__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "obj->zz_triu(x0_)"
// params: [CBool]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__zz_triu__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
casadi::Sparsity*
    casadi__Sparsity__zz_triu__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::Sparsity ret = obj->zz_triu(x0_);
        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "SparsityInterfaceCommon")===============
// classType: UserType (Namespace ["casadi"]) (Name "SparsityInterfaceCommon")
extern "C"
void delete_casadi__SparsityInterfaceCommon(casadi::SparsityInterfaceCommon* obj);
void delete_casadi__SparsityInterfaceCommon(casadi::SparsityInterfaceCommon* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "StabilizedQpSolver")===============
// classType: UserType (Namespace ["casadi"]) (Name "StabilizedQpSolver")
extern "C"
void delete_casadi__StabilizedQpSolver(casadi::StabilizedQpSolver* obj);
void delete_casadi__StabilizedQpSolver(casadi::StabilizedQpSolver* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::StabilizedQpSolver"
// cppName: "casadi::StabilizedQpSolver"
// cWrapperName: "casadi__StabilizedQpSolver__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "StabilizedQpSolver")
// cWrapperRetType: "casadi::StabilizedQpSolver*"
// proto: "casadi::StabilizedQpSolver*\n    casadi__StabilizedQpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// call: "casadi::StabilizedQpSolver(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
extern "C"
casadi::StabilizedQpSolver*
    casadi__StabilizedQpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
casadi::StabilizedQpSolver*
    casadi__StabilizedQpSolver__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);

        return new casadi::StabilizedQpSolver(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::StabilizedQpSolver"
// cppName: "casadi::StabilizedQpSolver"
// cWrapperName: "casadi__StabilizedQpSolver__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "StabilizedQpSolver")
// cWrapperRetType: "casadi::StabilizedQpSolver*"
// proto: "casadi::StabilizedQpSolver*\n    casadi__StabilizedQpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::StabilizedQpSolver(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const StdString),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::StabilizedQpSolver*
    casadi__StabilizedQpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::StabilizedQpSolver*
    casadi__StabilizedQpSolver__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::StabilizedQpSolver(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::StabilizedQpSolver"
// cppName: "casadi::StabilizedQpSolver"
// cWrapperName: "casadi__StabilizedQpSolver__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "StabilizedQpSolver")
// cWrapperRetType: "casadi::StabilizedQpSolver*"
// proto: "casadi::StabilizedQpSolver*\n    casadi__StabilizedQpSolver__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::StabilizedQpSolver()"
// params: []
extern "C"
casadi::StabilizedQpSolver*
    casadi__StabilizedQpSolver__CONSTRUCTOR__2(std::string ** err_msg);
casadi::StabilizedQpSolver*
    casadi__StabilizedQpSolver__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::StabilizedQpSolver();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::StabilizedQpSolver"
// cppName: "casadi::StabilizedQpSolver::doc"
// cWrapperName: "casadi__StabilizedQpSolver__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__StabilizedQpSolver__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::StabilizedQpSolver::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__StabilizedQpSolver__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__StabilizedQpSolver__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::StabilizedQpSolver::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generateNativeCode" ===============
// class: "casadi::StabilizedQpSolver"
// cppName: "casadi::StabilizedQpSolver::generateNativeCode"
// cWrapperName: "casadi__StabilizedQpSolver__generateNativeCode"
// protoArgs: "(std::string ** err_msg, casadi::StabilizedQpSolver* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__StabilizedQpSolver__generateNativeCode(std::string ** err_msg, casadi::StabilizedQpSolver* obj, std::string* x0)"
// call: "obj->generateNativeCode(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__StabilizedQpSolver__generateNativeCode(std::string ** err_msg, casadi::StabilizedQpSolver* obj, std::string* x0);
void
    casadi__StabilizedQpSolver__generateNativeCode(std::string ** err_msg, casadi::StabilizedQpSolver* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->generateNativeCode(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "hasPlugin" ===============
// class: "casadi::StabilizedQpSolver"
// cppName: "casadi::StabilizedQpSolver::hasPlugin"
// cWrapperName: "casadi__StabilizedQpSolver__hasPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__StabilizedQpSolver__hasPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::StabilizedQpSolver::hasPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
int
    casadi__StabilizedQpSolver__hasPlugin(std::string ** err_msg, std::string* x0);
int
    casadi__StabilizedQpSolver__hasPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::StabilizedQpSolver::hasPlugin(x0_);
        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::StabilizedQpSolver"
// cppName: "casadi::StabilizedQpSolver::loadPlugin"
// cWrapperName: "casadi__StabilizedQpSolver__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__StabilizedQpSolver__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::StabilizedQpSolver::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__StabilizedQpSolver__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__StabilizedQpSolver__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::StabilizedQpSolver::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Switch")===============
// classType: UserType (Namespace ["casadi"]) (Name "Switch")
extern "C"
void delete_casadi__Switch(casadi::Switch* obj);
void delete_casadi__Switch(casadi::Switch* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Switch"
// cppName: "casadi::Switch"
// cWrapperName: "casadi__Switch__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Switch")
// cWrapperRetType: "casadi::Switch*"
// proto: "casadi::Switch*\n    casadi__Switch__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2)"
// call: "casadi::Switch(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function")))]
extern "C"
casadi::Switch*
    casadi__Switch__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2);
casadi::Switch*
    casadi__Switch__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);

        return new casadi::Switch(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Switch"
// cppName: "casadi::Switch"
// cWrapperName: "casadi__Switch__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Switch")
// cWrapperRetType: "casadi::Switch*"
// proto: "casadi::Switch*\n    casadi__Switch__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::Switch(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::Switch*
    casadi__Switch__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Switch*
    casadi__Switch__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::Switch(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Switch"
// cppName: "casadi::Switch"
// cWrapperName: "casadi__Switch__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Switch")
// cWrapperRetType: "casadi::Switch*"
// proto: "casadi::Switch*\n    casadi__Switch__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2)"
// call: "casadi::Switch(x0_, x1_, x2_)"
// params: [Ref (Const StdString),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Function")))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function")))]
extern "C"
casadi::Switch*
    casadi__Switch__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2);
casadi::Switch*
    casadi__Switch__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::Function > x1_ = Marshaling<std::vector< casadi::Function >,std::vector< casadi::Function* >*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);

        return new casadi::Switch(x0_, x1_, x2_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Switch"
// cppName: "casadi::Switch"
// cWrapperName: "casadi__Switch__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Switch")
// cWrapperRetType: "casadi::Switch*"
// proto: "casadi::Switch*\n    casadi__Switch__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "casadi::Switch(x0_, x1_, x2_, x3_)"
// params: [Ref (Const StdString),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Function")))),Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))))]
extern "C"
casadi::Switch*
    casadi__Switch__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Switch*
    casadi__Switch__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::Function > x1_ = Marshaling<std::vector< casadi::Function >,std::vector< casadi::Function* >*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        return new casadi::Switch(x0_, x1_, x2_, x3_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Switch"
// cppName: "casadi::Switch"
// cWrapperName: "casadi__Switch__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Switch")
// cWrapperRetType: "casadi::Switch*"
// proto: "casadi::Switch*\n    casadi__Switch__CONSTRUCTOR__4(std::string ** err_msg)"
// call: "casadi::Switch()"
// params: []
extern "C"
casadi::Switch*
    casadi__Switch__CONSTRUCTOR__4(std::string ** err_msg);
casadi::Switch*
    casadi__Switch__CONSTRUCTOR__4(std::string ** err_msg){
    try {

        return new casadi::Switch();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Variable")===============
// classType: UserType (Namespace ["casadi"]) (Name "Variable")
extern "C"
void delete_casadi__Variable(casadi::Variable* obj);
void delete_casadi__Variable(casadi::Variable* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Variable"
// cppName: "casadi::Variable"
// cWrapperName: "casadi__Variable__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
// cWrapperRetType: "casadi::Variable*"
// proto: "casadi::Variable*\n    casadi__Variable__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0)"
// call: "casadi::Variable(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::Variable*
    casadi__Variable__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0);
casadi::Variable*
    casadi__Variable__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        return new casadi::Variable(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Variable"
// cppName: "casadi::Variable"
// cWrapperName: "casadi__Variable__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
// cWrapperRetType: "casadi::Variable*"
// proto: "casadi::Variable*\n    casadi__Variable__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// call: "casadi::Variable(x0_, x1_)"
// params: [Ref (Const StdString),Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity")))]
extern "C"
casadi::Variable*
    casadi__Variable__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
casadi::Variable*
    casadi__Variable__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        return new casadi::Variable(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Variable"
// cppName: "casadi::Variable"
// cWrapperName: "casadi__Variable__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
// cWrapperRetType: "casadi::Variable*"
// proto: "casadi::Variable*\n    casadi__Variable__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "casadi::Variable()"
// params: []
extern "C"
casadi::Variable*
    casadi__Variable__CONSTRUCTOR__2(std::string ** err_msg);
casadi::Variable*
    casadi__Variable__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        return new casadi::Variable();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "name" ===============
// class: "casadi::Variable"
// cppName: "casadi::Variable::name"
// cWrapperName: "casadi__Variable__name"
// protoArgs: "(std::string ** err_msg, casadi::Variable* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Variable__name(std::string ** err_msg, casadi::Variable* obj)"
// call: "obj->name()"
// params: []
extern "C"
std::string*
    casadi__Variable__name(std::string ** err_msg, casadi::Variable* obj);
std::string*
    casadi__Variable__name(std::string ** err_msg, casadi::Variable* obj){
    try {

        std::string ret = obj->name();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getRepresentation" ===============
// class: "casadi::Variable"
// cppName: "casadi::Variable::getRepresentation"
// cWrapperName: "casadi__Variable__getRepresentation"
// protoArgs: "(std::string ** err_msg, casadi::Variable* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Variable__getRepresentation(std::string ** err_msg, casadi::Variable* obj)"
// call: "obj->getRepresentation()"
// params: []
extern "C"
std::string*
    casadi__Variable__getRepresentation(std::string ** err_msg, casadi::Variable* obj);
std::string*
    casadi__Variable__getRepresentation(std::string ** err_msg, casadi::Variable* obj){
    try {

        std::string ret = obj->getRepresentation();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getDescription" ===============
// class: "casadi::Variable"
// cppName: "casadi::Variable::getDescription"
// cWrapperName: "casadi__Variable__getDescription"
// protoArgs: "(std::string ** err_msg, casadi::Variable* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Variable__getDescription(std::string ** err_msg, casadi::Variable* obj)"
// call: "obj->getDescription()"
// params: []
extern "C"
std::string*
    casadi__Variable__getDescription(std::string ** err_msg, casadi::Variable* obj);
std::string*
    casadi__Variable__getDescription(std::string ** err_msg, casadi::Variable* obj){
    try {

        std::string ret = obj->getDescription();
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "XmlFile")===============
// classType: UserType (Namespace ["casadi"]) (Name "XmlFile")
extern "C"
void delete_casadi__XmlFile(casadi::XmlFile* obj);
void delete_casadi__XmlFile(casadi::XmlFile* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::XmlFile"
// cppName: "casadi::XmlFile"
// cWrapperName: "casadi__XmlFile__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "XmlFile")
// cWrapperRetType: "casadi::XmlFile*"
// proto: "casadi::XmlFile*\n    casadi__XmlFile__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0)"
// call: "casadi::XmlFile(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::XmlFile*
    casadi__XmlFile__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0);
casadi::XmlFile*
    casadi__XmlFile__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        return new casadi::XmlFile(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::XmlFile"
// cppName: "casadi::XmlFile"
// cWrapperName: "casadi__XmlFile__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "XmlFile")
// cWrapperRetType: "casadi::XmlFile*"
// proto: "casadi::XmlFile*\n    casadi__XmlFile__CONSTRUCTOR__1(std::string ** err_msg)"
// call: "casadi::XmlFile()"
// params: []
extern "C"
casadi::XmlFile*
    casadi__XmlFile__CONSTRUCTOR__1(std::string ** err_msg);
casadi::XmlFile*
    casadi__XmlFile__CONSTRUCTOR__1(std::string ** err_msg){
    try {

        return new casadi::XmlFile();
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::XmlFile"
// cppName: "casadi::XmlFile::doc"
// cWrapperName: "casadi__XmlFile__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__XmlFile__doc(std::string ** err_msg, std::string* x0)"
// call: "casadi::XmlFile::doc(x0_)"
// params: [Ref (Const StdString)]
extern "C"
std::string*
    casadi__XmlFile__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__XmlFile__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::XmlFile::doc(x0_);
        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "loadPlugin" ===============
// class: "casadi::XmlFile"
// cppName: "casadi::XmlFile::loadPlugin"
// cWrapperName: "casadi__XmlFile__loadPlugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__XmlFile__loadPlugin(std::string ** err_msg, std::string* x0)"
// call: "casadi::XmlFile::loadPlugin(x0_)"
// params: [Ref (Const StdString)]
extern "C"
void
    casadi__XmlFile__loadPlugin(std::string ** err_msg, std::string* x0);
void
    casadi__XmlFile__loadPlugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::XmlFile::loadPlugin(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete IOInterface (UserType (Namespace ["casadi"]) (Name "Function"))===============
// classType: IOInterface (UserType (Namespace ["casadi"]) (Name "Function"))
extern "C"
void delete_casadi__IOInterface_casadi__Function_(casadi::IOInterface< casadi::Function* >* obj);
void delete_casadi__IOInterface_casadi__Function_(casadi::IOInterface< casadi::Function* >* obj){
    delete obj;
}

// ================== Normal method: "getInput" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::getInput"
// cWrapperName: "casadi__IOInterface_casadi__Function___getInput__0"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__IOInterface_casadi__Function___getInput__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, std::string* x0)"
// call: "obj->getInput(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::DMatrix*
    casadi__IOInterface_casadi__Function___getInput__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, std::string* x0);
casadi::DMatrix*
    casadi__IOInterface_casadi__Function___getInput__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::DMatrix ret = obj->getInput(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getInput" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::getInput"
// cWrapperName: "casadi__IOInterface_casadi__Function___getInput__1"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__IOInterface_casadi__Function___getInput__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj)"
// call: "obj->getInput()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__IOInterface_casadi__Function___getInput__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj);
casadi::DMatrix*
    casadi__IOInterface_casadi__Function___getInput__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj){
    try {

        casadi::DMatrix ret = obj->getInput();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getInput" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::getInput"
// cWrapperName: "casadi__IOInterface_casadi__Function___getInput__2"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__IOInterface_casadi__Function___getInput__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, int x0)"
// call: "obj->getInput(x0_)"
// params: [CInt]
extern "C"
casadi::DMatrix*
    casadi__IOInterface_casadi__Function___getInput__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, int x0);
casadi::DMatrix*
    casadi__IOInterface_casadi__Function___getInput__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::DMatrix ret = obj->getInput(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOutput" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::getOutput"
// cWrapperName: "casadi__IOInterface_casadi__Function___getOutput__0"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__IOInterface_casadi__Function___getOutput__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, std::string* x0)"
// call: "obj->getOutput(x0_)"
// params: [Ref (Const StdString)]
extern "C"
casadi::DMatrix*
    casadi__IOInterface_casadi__Function___getOutput__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, std::string* x0);
casadi::DMatrix*
    casadi__IOInterface_casadi__Function___getOutput__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::DMatrix ret = obj->getOutput(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOutput" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::getOutput"
// cWrapperName: "casadi__IOInterface_casadi__Function___getOutput__1"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__IOInterface_casadi__Function___getOutput__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj)"
// call: "obj->getOutput()"
// params: []
extern "C"
casadi::DMatrix*
    casadi__IOInterface_casadi__Function___getOutput__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj);
casadi::DMatrix*
    casadi__IOInterface_casadi__Function___getOutput__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj){
    try {

        casadi::DMatrix ret = obj->getOutput();
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "getOutput" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::getOutput"
// cWrapperName: "casadi__IOInterface_casadi__Function___getOutput__2"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DMatrix")
// cWrapperRetType: "casadi::DMatrix*"
// proto: "casadi::DMatrix*\n    casadi__IOInterface_casadi__Function___getOutput__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, int x0)"
// call: "obj->getOutput(x0_)"
// params: [CInt]
extern "C"
casadi::DMatrix*
    casadi__IOInterface_casadi__Function___getOutput__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, int x0);
casadi::DMatrix*
    casadi__IOInterface_casadi__Function___getOutput__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::DMatrix ret = obj->getOutput(x0_);
        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "setInput" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::setInput"
// cWrapperName: "casadi__IOInterface_casadi__Function___setInput__0"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IOInterface_casadi__Function___setInput__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1)"
// call: "obj->setInput(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const StdString)]
extern "C"
void
    casadi__IOInterface_casadi__Function___setInput__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1);
void
    casadi__IOInterface_casadi__Function___setInput__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->setInput(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setInput" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::setInput"
// cWrapperName: "casadi__IOInterface_casadi__Function___setInput__1"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IOInterface_casadi__Function___setInput__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0)"
// call: "obj->setInput(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
void
    casadi__IOInterface_casadi__Function___setInput__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0);
void
    casadi__IOInterface_casadi__Function___setInput__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);

        obj->setInput(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setInput" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::setInput"
// cWrapperName: "casadi__IOInterface_casadi__Function___setInput__2"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IOInterface_casadi__Function___setInput__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1)"
// call: "obj->setInput(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CInt]
extern "C"
void
    casadi__IOInterface_casadi__Function___setInput__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1);
void
    casadi__IOInterface_casadi__Function___setInput__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->setInput(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setInputNZ" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::setInputNZ"
// cWrapperName: "casadi__IOInterface_casadi__Function___setInputNZ__0"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IOInterface_casadi__Function___setInputNZ__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1)"
// call: "obj->setInputNZ(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const StdString)]
extern "C"
void
    casadi__IOInterface_casadi__Function___setInputNZ__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1);
void
    casadi__IOInterface_casadi__Function___setInputNZ__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->setInputNZ(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setInputNZ" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::setInputNZ"
// cWrapperName: "casadi__IOInterface_casadi__Function___setInputNZ__1"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IOInterface_casadi__Function___setInputNZ__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0)"
// call: "obj->setInputNZ(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
void
    casadi__IOInterface_casadi__Function___setInputNZ__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0);
void
    casadi__IOInterface_casadi__Function___setInputNZ__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);

        obj->setInputNZ(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setInputNZ" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::setInputNZ"
// cWrapperName: "casadi__IOInterface_casadi__Function___setInputNZ__2"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IOInterface_casadi__Function___setInputNZ__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1)"
// call: "obj->setInputNZ(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CInt]
extern "C"
void
    casadi__IOInterface_casadi__Function___setInputNZ__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1);
void
    casadi__IOInterface_casadi__Function___setInputNZ__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->setInputNZ(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setOutput" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::setOutput"
// cWrapperName: "casadi__IOInterface_casadi__Function___setOutput__0"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IOInterface_casadi__Function___setOutput__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1)"
// call: "obj->setOutput(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const StdString)]
extern "C"
void
    casadi__IOInterface_casadi__Function___setOutput__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1);
void
    casadi__IOInterface_casadi__Function___setOutput__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->setOutput(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setOutput" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::setOutput"
// cWrapperName: "casadi__IOInterface_casadi__Function___setOutput__1"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IOInterface_casadi__Function___setOutput__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0)"
// call: "obj->setOutput(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
void
    casadi__IOInterface_casadi__Function___setOutput__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0);
void
    casadi__IOInterface_casadi__Function___setOutput__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);

        obj->setOutput(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setOutput" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::setOutput"
// cWrapperName: "casadi__IOInterface_casadi__Function___setOutput__2"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IOInterface_casadi__Function___setOutput__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1)"
// call: "obj->setOutput(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CInt]
extern "C"
void
    casadi__IOInterface_casadi__Function___setOutput__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1);
void
    casadi__IOInterface_casadi__Function___setOutput__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->setOutput(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setOutputNZ" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::setOutputNZ"
// cWrapperName: "casadi__IOInterface_casadi__Function___setOutputNZ__0"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IOInterface_casadi__Function___setOutputNZ__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1)"
// call: "obj->setOutputNZ(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const StdString)]
extern "C"
void
    casadi__IOInterface_casadi__Function___setOutputNZ__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1);
void
    casadi__IOInterface_casadi__Function___setOutputNZ__0(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, std::string* x1){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->setOutputNZ(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setOutputNZ" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::setOutputNZ"
// cWrapperName: "casadi__IOInterface_casadi__Function___setOutputNZ__1"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IOInterface_casadi__Function___setOutputNZ__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0)"
// call: "obj->setOutputNZ(x0_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
extern "C"
void
    casadi__IOInterface_casadi__Function___setOutputNZ__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0);
void
    casadi__IOInterface_casadi__Function___setOutputNZ__1(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);

        obj->setOutputNZ(x0_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "setOutputNZ" ===============
// class: "casadi::IOInterface< casadi::Function >"
// cppName: "casadi::IOInterface< casadi::Function >::setOutputNZ"
// cWrapperName: "casadi__IOInterface_casadi__Function___setOutputNZ__2"
// protoArgs: "(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IOInterface_casadi__Function___setOutputNZ__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1)"
// call: "obj->setOutputNZ(x0_, x1_)"
// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),CInt]
extern "C"
void
    casadi__IOInterface_casadi__Function___setOutputNZ__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1);
void
    casadi__IOInterface_casadi__Function___setOutputNZ__2(std::string ** err_msg, casadi::IOInterface< casadi::Function >* obj, casadi::DMatrix* x0, int x1){
    try {
        casadi::DMatrix& x0_ = Marshaling<casadi::DMatrix&,casadi::DMatrix*>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        obj->setOutputNZ(x0_, x1_);
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}