46 lines
1.3 KiB
C++
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
|
|
};
|
|
|