41 lines
		
	
	
		
			886 B
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			886 B
		
	
	
	
		
			C++
		
	
	
| /**
 | |
|  * file: Argument.h
 | |
|  * brief: arguments to constructors and methods
 | |
|  * Author: Frank Dellaert
 | |
|  **/
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <string>
 | |
| #include <list>
 | |
| 
 | |
| // Argument class
 | |
| struct Argument {
 | |
|   bool is_const, is_ref, is_ptr;
 | |
|   std::string type;
 | |
|   std::string name;
 | |
| Argument() : is_const(false), is_ref(false), is_ptr(false) {}
 | |
| 
 | |
|   // MATLAB code generation:
 | |
|   void matlab_unwrap(std::ofstream& ofs, 
 | |
| 		     const std::string& matlabName); // MATLAB to C++
 | |
| };
 | |
| 
 | |
| // Argument list
 | |
| struct ArgumentList : public std::list<Argument> {
 | |
|   std::list<Argument> args;
 | |
|   std::string types    ();
 | |
|   std::string signature();
 | |
|   std::string names    ();
 | |
| 
 | |
|   // MATLAB code generation:
 | |
| 
 | |
|   /**
 | |
|    * emit code to unwrap arguments
 | |
|    * @param ofs output stream
 | |
|    * @param start initial index for input array, set to 1 for method
 | |
|    */
 | |
|   void matlab_unwrap(std::ofstream& ofs, int start=0); // MATLAB to C++
 | |
| };
 | |
| 
 |