gtsam/wrap/Method.h

36 lines
851 B
C++

/**
* file: Method.h
* brief: describes and generates code for methods
* Author: Frank Dellaert
**/
#pragma once
#include <string>
#include <list>
#include "Argument.h"
// Method class
struct Method {
bool is_const;
ArgumentList args;
std::string returns, returns2, name;
bool returns_ptr, returns_ptr2, returns_pair;
bool verbose_;
Method(bool verbose=true) : returns_ptr(false), returns_ptr2(false), returns_pair(false), verbose_(verbose) {}
enum pairing {arg1, arg2, pair};
std::string return_type(bool add_ptr, pairing p);
// MATLAB code generation
// classPath is class directory, e.g., ../matlab/@Point2
void matlab_mfile (const std::string& classPath); // m-file
void matlab_wrapper(const std::string& classPath,
const std::string& className,
const std::string& nameSpace); // wrapper
};