gtsam/wrap/Class.h

46 lines
1.3 KiB
C++

/* ----------------------------------------------------------------------------
* GTSAM Copyright 2010, Georgia Tech Research Corporation,
* Atlanta, Georgia 30332-0415
* All Rights Reserved
* Authors: Frank Dellaert, et al. (see THANKS for the full author list)
* See LICENSE for the license information
* -------------------------------------------------------------------------- */
/**
* file: Class.h
* brief: describe the C++ class that is being wrapped
* Author: Frank Dellaert
**/
#pragma once
#include <string>
#include <list>
#include "Constructor.h"
#include "Method.h"
// Class has name, constructors, methods
struct Class {
std::string name;
std::list<Constructor> constructors;
std::list<Method> methods;
bool verbose_;
Class(bool verbose=true) : verbose_(verbose) {}
// MATLAB code generation:
void matlab_proxy(const std::string& classFile); // proxy class
void matlab_constructors(const std::string& toolboxPath,
const std::string& nameSpace); // constructor wrappers
void matlab_methods(const std::string& classPath,
const std::string& nameSpace); // method wrappers
void matlab_make_fragment(std::ofstream& ofs,
const std::string& toolboxPath,
const std::string& mexFlags); // make fragment
};