[Rcpp-commits] r2488 - in pkg/Rcpp: . R inst/include/Rcpp inst/include/Rcpp/module

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Mon Nov 22 13:09:51 CET 2010


Author: romain
Date: 2010-11-22 13:09:51 +0100 (Mon, 22 Nov 2010)
New Revision: 2488

Added:
   pkg/Rcpp/inst/include/Rcpp/module/Module_generated_get_signature.h
Modified:
   pkg/Rcpp/ChangeLog
   pkg/Rcpp/R/00_classes.R
   pkg/Rcpp/R/Module.R
   pkg/Rcpp/inst/include/Rcpp/Module.h
   pkg/Rcpp/inst/include/Rcpp/module/Module_generated_CppMethod.h
   pkg/Rcpp/inst/include/Rcpp/module/Module_generated_Pointer_CppMethod.h
Log:
grab method signatures

Modified: pkg/Rcpp/ChangeLog
===================================================================
--- pkg/Rcpp/ChangeLog	2010-11-22 12:03:56 UTC (rev 2487)
+++ pkg/Rcpp/ChangeLog	2010-11-22 12:09:51 UTC (rev 2488)
@@ -1,3 +1,22 @@
+2010-11-22  Romain Francois <romain at r-enthusiasts.com>
+
+    * inst/include/Rcpp/Module/Module_generated_get_signature.h: templates to
+    grab method signatures
+    
+    * inst/include/Rcpp/Module.h: CppMethod gains a signature method that returns
+    the signature of the method.
+    
+    * R/00_classes.R: C++OverloadedMethods gains a "signatures" field that 
+    contains the signature of each overload
+    
+    * R/Module.R: registered method gain an automatically generated self description
+    that contains the method(s) signature(s) and the docstring that is declared
+    in .method
+    
+    * inst/include/Rcpp/Module/Module_generated_CppMethod.h: implement signature
+
+    * inst/include/Rcpp/Module/Module_generated_Pointer_CppMethod.h: idem
+
 2010-11-21  Romain Francois <romain at r-enthusiasts.com>
 
 	* R/Module.R: internal version of cpp_hasDefaultConstructor

Modified: pkg/Rcpp/R/00_classes.R
===================================================================
--- pkg/Rcpp/R/00_classes.R	2010-11-22 12:03:56 UTC (rev 2487)
+++ pkg/Rcpp/R/00_classes.R	2010-11-22 12:09:51 UTC (rev 2488)
@@ -39,7 +39,8 @@
         class_pointer = "externalptr", 
         size          = "integer", 
         void          = "logical", 
-        docstrings    = "character"
+        docstrings    = "character", 
+        signatures    = "character"
     )
 )
 

Modified: pkg/Rcpp/R/Module.R
===================================================================
--- pkg/Rcpp/R/Module.R	2010-11-22 12:03:56 UTC (rev 2487)
+++ pkg/Rcpp/R/Module.R	2010-11-22 12:09:51 UTC (rev 2488)
@@ -221,7 +221,7 @@
             CppMethod__invoke_void = CppMethod__invoke_void,
             CppMethod__invoke_notvoid = CppMethod__invoke_notvoid,
             dealWith = dealWith, 
-            docstring = paste( METHOD$docstrings, collapse = "\n" )
+            docstring = paste( paste( METHOD$signatures, "\n\tdocstring :", METHOD$docstrings) , collapse = "\n" )
         )
         
         extCall <- if( all( METHOD$void ) ){

Modified: pkg/Rcpp/inst/include/Rcpp/Module.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/Module.h	2010-11-22 12:03:56 UTC (rev 2487)
+++ pkg/Rcpp/inst/include/Rcpp/Module.h	2010-11-22 12:09:51 UTC (rev 2488)
@@ -162,6 +162,7 @@
 		virtual ~CppMethod(){}
 		virtual int nargs(){ return 0 ; }
 		virtual bool is_void(){ return false ; }
+		virtual const char* signature(const char* name ){ return name ; }
 } ;
 
 #include <Rcpp/module/Module_generated_Constructor.h>
@@ -197,6 +198,7 @@
     
     inline int nargs(){ return method->nargs() ; }
     inline bool is_void(){ return method->is_void() ; }
+    inline const char* signature(const char* name){ return method->signature(name); }
 
 } ;
 
@@ -216,16 +218,17 @@
     typedef SignedMethod<Class> signed_method_class ;
 	typedef std::vector<signed_method_class*> vec_signed_method ;
 	
-	S4_CppOverloadedMethods( vec_signed_method* m, SEXP class_xp ) : Reference( "C++OverloadedMethods" ){
+	S4_CppOverloadedMethods( vec_signed_method* m, SEXP class_xp, const char* name ) : Reference( "C++OverloadedMethods" ){
         
 	    int n = m->size() ;
         Rcpp::LogicalVector voidness( n) ;
-        Rcpp::CharacterVector docstrings( n ) ;
+        Rcpp::CharacterVector docstrings( n ), signatures(n) ;
         signed_method_class* met ;
         for( int i=0; i<n; i++){ 
             met = m->at(i) ;
             voidness[i] = met->is_void() ;
             docstrings[i] = met->docstring ;
+            signatures[i] = met->signature(name) ;
         }
         
 	    field( "pointer" )       = Rcpp::XPtr< vec_signed_method >( m, false ) ;
@@ -233,10 +236,12 @@
         field( "size" )          = n ;
         field( "void" )          = voidness ;
         field( "docstrings" )    = docstrings ;
-        
+        field( "signatures" )    = signatures ;
     }
 } ;
 
+#include <Rcpp/module/Module_generated_get_signature.h>
+
 #include <Rcpp/module/Module_generated_CppMethod.h>
 #include <Rcpp/module/Module_generated_Pointer_CppMethod.h>
 
@@ -625,7 +630,7 @@
 	    for( int i=0; i<n; i++, ++it){
 		    mnames[i] = it->first ;
 		    v = it->second ;
-		    res[i] = S4_CppOverloadedMethods<Class>( v , class_xp ) ;
+		    res[i] = S4_CppOverloadedMethods<Class>( v , class_xp, it->first.c_str() ) ;
 		}
 		res.names() = mnames ;
 	    return res ;

Modified: pkg/Rcpp/inst/include/Rcpp/module/Module_generated_CppMethod.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/module/Module_generated_CppMethod.h	2010-11-22 12:03:56 UTC (rev 2487)
+++ pkg/Rcpp/inst/include/Rcpp/module/Module_generated_CppMethod.h	2010-11-22 12:09:51 UTC (rev 2488)
@@ -32,6 +32,8 @@
 		}
 		inline int nargs(){ return 0 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name){ return Rcpp::signature<OUT>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -47,6 +49,8 @@
 		}
 		inline int nargs(){ return 0 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name){ return Rcpp::signature<void_type>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -61,6 +65,8 @@
 		}
 		inline int nargs(){ return 0 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name){ return Rcpp::signature<OUT>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -69,13 +75,15 @@
 	public:
 		typedef void (Class::*Method)(void) const ;
 		typedef CppMethod<Class> method_class ;
-		const_CppMethod0( Method m) : method_class(), met(m){} 
+		const_CppMethod0( Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* ){
 			(object->*met)( ) ;
 			return R_NilValue ;
 		}
 		inline int nargs(){ return 0 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name){ return Rcpp::signature<void_type>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -87,12 +95,13 @@
 		typedef OUT (Class::*Method)(U0 u0) ;
 		typedef CppMethod<Class> method_class ;
 		
-		CppMethod1(Method m) : method_class(), met(m){} 
+		CppMethod1(Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			return Rcpp::wrap( (object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ) ) ) ;
 		}
 		inline int nargs(){ return 1 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -109,6 +118,7 @@
 		}
 		inline int nargs(){ return 1 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -126,6 +136,8 @@
 		}
 		inline int nargs(){ return 1 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -135,13 +147,15 @@
 		typedef void (Class::*Method)(U0 u0) const ;
 		typedef CppMethod<Class> method_class ;
 		
-		const_CppMethod1( Method m) : method_class(), met(m){} 
+		const_CppMethod1( Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			(object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ) ) ;
 			return R_NilValue ;
 		}
 		inline int nargs(){ return 1 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -154,12 +168,13 @@
 		typedef OUT (Class::*Method)(U0 u0, U1 u1) ;
 		typedef CppMethod<Class> method_class ;
 		
-		CppMethod2(Method m) : method_class(), met(m){} 
+		CppMethod2(Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			return Rcpp::wrap( (object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ) ) ) ;
 		}
 		inline int nargs(){ return 2 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -176,6 +191,7 @@
 		}
 		inline int nargs(){ return 2 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -193,6 +209,8 @@
 		}
 		inline int nargs(){ return 2 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -202,13 +220,15 @@
 		typedef void (Class::*Method)(U0 u0, U1 u1) const ;
 		typedef CppMethod<Class> method_class ;
 		
-		const_CppMethod2( Method m) : method_class(), met(m){} 
+		const_CppMethod2( Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			(object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ) ) ;
 			return R_NilValue ;
 		}
 		inline int nargs(){ return 2 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -221,12 +241,13 @@
 		typedef OUT (Class::*Method)(U0 u0, U1 u1, U2 u2) ;
 		typedef CppMethod<Class> method_class ;
 		
-		CppMethod3(Method m) : method_class(), met(m){} 
+		CppMethod3(Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			return Rcpp::wrap( (object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ) ) ) ;
 		}
 		inline int nargs(){ return 3 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -243,6 +264,7 @@
 		}
 		inline int nargs(){ return 3 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -260,6 +282,8 @@
 		}
 		inline int nargs(){ return 3 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -269,13 +293,15 @@
 		typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2) const ;
 		typedef CppMethod<Class> method_class ;
 		
-		const_CppMethod3( Method m) : method_class(), met(m){} 
+		const_CppMethod3( Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			(object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ) ) ;
 			return R_NilValue ;
 		}
 		inline int nargs(){ return 3 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -288,12 +314,13 @@
 		typedef OUT (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3) ;
 		typedef CppMethod<Class> method_class ;
 		
-		CppMethod4(Method m) : method_class(), met(m){} 
+		CppMethod4(Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			return Rcpp::wrap( (object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ) ) ) ;
 		}
 		inline int nargs(){ return 4 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -310,6 +337,7 @@
 		}
 		inline int nargs(){ return 4 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -327,6 +355,8 @@
 		}
 		inline int nargs(){ return 4 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -336,13 +366,15 @@
 		typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3) const ;
 		typedef CppMethod<Class> method_class ;
 		
-		const_CppMethod4( Method m) : method_class(), met(m){} 
+		const_CppMethod4( Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			(object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ) ) ;
 			return R_NilValue ;
 		}
 		inline int nargs(){ return 4 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -355,12 +387,13 @@
 		typedef OUT (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4) ;
 		typedef CppMethod<Class> method_class ;
 		
-		CppMethod5(Method m) : method_class(), met(m){} 
+		CppMethod5(Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			return Rcpp::wrap( (object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U4 >::type >( args[4] ) ) ) ;
 		}
 		inline int nargs(){ return 5 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3, U4>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -377,6 +410,7 @@
 		}
 		inline int nargs(){ return 5 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3, U4>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -394,6 +428,8 @@
 		}
 		inline int nargs(){ return 5 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3, U4>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -403,13 +439,15 @@
 		typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4) const ;
 		typedef CppMethod<Class> method_class ;
 		
-		const_CppMethod5( Method m) : method_class(), met(m){} 
+		const_CppMethod5( Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			(object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U4 >::type >( args[4] ) ) ;
 			return R_NilValue ;
 		}
 		inline int nargs(){ return 5 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3, U4>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -422,12 +460,13 @@
 		typedef OUT (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5) ;
 		typedef CppMethod<Class> method_class ;
 		
-		CppMethod6(Method m) : method_class(), met(m){} 
+		CppMethod6(Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			return Rcpp::wrap( (object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U4 >::type >( args[4] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U5 >::type >( args[5] ) ) ) ;
 		}
 		inline int nargs(){ return 6 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -444,6 +483,7 @@
 		}
 		inline int nargs(){ return 6 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -461,6 +501,8 @@
 		}
 		inline int nargs(){ return 6 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -470,13 +512,15 @@
 		typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5) const ;
 		typedef CppMethod<Class> method_class ;
 		
-		const_CppMethod6( Method m) : method_class(), met(m){} 
+		const_CppMethod6( Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			(object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U4 >::type >( args[4] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U5 >::type >( args[5] ) ) ;
 			return R_NilValue ;
 		}
 		inline int nargs(){ return 6 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -489,12 +533,13 @@
 		typedef OUT (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6) ;
 		typedef CppMethod<Class> method_class ;
 		
-		CppMethod7(Method m) : method_class(), met(m){} 
+		CppMethod7(Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			return Rcpp::wrap( (object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U4 >::type >( args[4] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U5 >::type >( args[5] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U6 >::type >( args[6] ) ) ) ;
 		}
 		inline int nargs(){ return 7 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -511,6 +556,7 @@
 		}
 		inline int nargs(){ return 7 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -528,6 +574,8 @@
 		}
 		inline int nargs(){ return 7 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -537,13 +585,15 @@
 		typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6) const ;
 		typedef CppMethod<Class> method_class ;
 		
-		const_CppMethod7( Method m) : method_class(), met(m){} 
+		const_CppMethod7( Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			(object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U4 >::type >( args[4] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U5 >::type >( args[5] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U6 >::type >( args[6] ) ) ;
 			return R_NilValue ;
 		}
 		inline int nargs(){ return 7 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -556,12 +606,13 @@
 		typedef OUT (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6, U7 u7) ;
 		typedef CppMethod<Class> method_class ;
 		
-		CppMethod8(Method m) : method_class(), met(m){} 
+		CppMethod8(Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			return Rcpp::wrap( (object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U4 >::type >( args[4] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U5 >::type >( args[5] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U6 >::type >( args[6] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U7 >::type >( args[7] ) ) ) ;
 		}
 		inline int nargs(){ return 8 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -578,6 +629,7 @@
 		}
 		inline int nargs(){ return 8 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -595,6 +647,8 @@
 		}
 		inline int nargs(){ return 8 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -604,13 +658,15 @@
 		typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6, U7 u7) const ;
 		typedef CppMethod<Class> method_class ;
 		
-		const_CppMethod8( Method m) : method_class(), met(m){} 
+		const_CppMethod8( Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			(object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U4 >::type >( args[4] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U5 >::type >( args[5] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U6 >::type >( args[6] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U7 >::type >( args[7] ) ) ;
 			return R_NilValue ;
 		}
 		inline int nargs(){ return 8 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -623,12 +679,13 @@
 		typedef OUT (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6, U7 u7, U8 u8) ;
 		typedef CppMethod<Class> method_class ;
 		
-		CppMethod9(Method m) : method_class(), met(m){} 
+		CppMethod9(Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			return Rcpp::wrap( (object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U4 >::type >( args[4] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U5 >::type >( args[5] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U6 >::type >( args[6] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U7 >::type >( args[7] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U8 >::type >( args[8] ) ) ) ;
 		}
 		inline int nargs(){ return 9 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -645,6 +702,7 @@
 		}
 		inline int nargs(){ return 9 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -662,6 +720,8 @@
 		}
 		inline int nargs(){ return 9 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -671,13 +731,15 @@
 		typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6, U7 u7, U8 u8) const ;
 		typedef CppMethod<Class> method_class ;
 		
-		const_CppMethod9( Method m) : method_class(), met(m){} 
+		const_CppMethod9( Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			(object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U4 >::type >( args[4] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U5 >::type >( args[5] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U6 >::type >( args[6] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U7 >::type >( args[7] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U8 >::type >( args[8] ) ) ;
 			return R_NilValue ;
 		}
 		inline int nargs(){ return 9 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -690,12 +752,13 @@
 		typedef OUT (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6, U7 u7, U8 u8, U9 u9) ;
 		typedef CppMethod<Class> method_class ;
 		
-		CppMethod10(Method m) : method_class(), met(m){} 
+		CppMethod10(Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			return Rcpp::wrap( (object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U4 >::type >( args[4] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U5 >::type >( args[5] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U6 >::type >( args[6] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U7 >::type >( args[7] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U8 >::type >( args[8] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U9 >::type >( args[9] ) ) ) ;
 		}
 		inline int nargs(){ return 10 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -712,6 +775,7 @@
 		}
 		inline int nargs(){ return 10 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9>(name) ; }
 	private:
 		Method met ;
 	} ;
@@ -729,6 +793,8 @@
 		}
 		inline int nargs(){ return 10 ; }
 		inline bool is_void(){ return false ; }
+		const char* signature(const char* name ){ return Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -738,13 +804,15 @@
 		typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6, U7 u7, U8 u8, U9 u9) const ;
 		typedef CppMethod<Class> method_class ;
 		
-		const_CppMethod10( Method m) : method_class(), met(m){} 
+		const_CppMethod10( Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			(object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U4 >::type >( args[4] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U5 >::type >( args[5] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U6 >::type >( args[6] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U7 >::type >( args[7] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U8 >::type >( args[8] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U9 >::type >( args[9] ) ) ;
 			return R_NilValue ;
 		}
 		inline int nargs(){ return 10 ; }
 		inline bool is_void(){ return true ; }
+		const char* signature(const char* name ){ return Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9>(name) ; }
+		
 	private:
 		Method met ;
 	} ;
@@ -757,12 +825,13 @@
 		typedef OUT (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6, U7 u7, U8 u8, U9 u9, U10 u10) ;
 		typedef CppMethod<Class> method_class ;
 		
-		CppMethod11(Method m) : method_class(), met(m){} 
+		CppMethod11(Method m) : method_class(), met(m) {} 
 		SEXP operator()( Class* object, SEXP* args){
 			return Rcpp::wrap( (object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U1 >::type >( args[1] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U2 >::type >( args[2] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U3 >::type >( args[3] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U4 >::type >( args[4] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U5 >::type >( args[5] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U6 >::type >( args[6] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U7 >::type >( args[7] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U8 >::type >( args[8] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U9 >::type >( args[9] ), Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U10 >::type >( args[10] ) ) ) ;
 		}
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/rcpp -r 2488


More information about the Rcpp-commits mailing list