35 lines
796 B
C
35 lines
796 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;
|
||
|
|
||
|
Method() : returns_ptr(false), returns_ptr2(false), returns_pair(false) {}
|
||
|
|
||
|
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
|
||
|
};
|
||
|
|