36 lines
		
	
	
		
			851 B
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			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
 | |
| };
 | |
| 
 |