[Rcpp-commits] r3049 - in pkg/Rcpp/inst/include/Rcpp: . module
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Tue Jun 7 15:15:55 CEST 2011
Author: romain
Date: 2011-06-07 15:15:54 +0200 (Tue, 07 Jun 2011)
New Revision: 3049
Modified:
pkg/Rcpp/inst/include/Rcpp/Module.h
pkg/Rcpp/inst/include/Rcpp/module/Module_generated_CppMethod.h
Log:
second pass
Modified: pkg/Rcpp/inst/include/Rcpp/Module.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/Module.h 2011-06-07 12:44:34 UTC (rev 3048)
+++ pkg/Rcpp/inst/include/Rcpp/Module.h 2011-06-07 13:15:54 UTC (rev 3049)
@@ -38,6 +38,15 @@
T* ptr;
} ;
+namespace internal {
+template <typename Class>
+SEXP make_new_object( Class* ptr ){
+ Rcpp::XPtr<Class> xp( ptr, true ) ;
+ Function maker = Environment::Rcpp_namespace()[ "cpp_object_maker"] ;
+ return maker( typeid(Class).name() , xp ) ;
+}
+}
+
class CppFunction {
public:
CppFunction(const char* doc = 0) : docstring( doc == 0 ? "" : doc) {}
Modified: pkg/Rcpp/inst/include/Rcpp/module/Module_generated_CppMethod.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/module/Module_generated_CppMethod.h 2011-06-07 12:44:34 UTC (rev 3048)
+++ pkg/Rcpp/inst/include/Rcpp/module/Module_generated_CppMethod.h 2011-06-07 13:15:54 UTC (rev 3049)
@@ -2,7 +2,7 @@
//
// Module_generated_CppMethod.h: Rcpp R/C++ interface class library -- Rcpp modules
//
-// Copyright (C) 2010 - 2011 Dirk Eddelbuettel and Romain Francois
+// Copyright (C) 2010 Dirk Eddelbuettel and Romain Francois
//
// This file is part of Rcpp.
//
@@ -66,9 +66,7 @@
CppMethod0( Method m) : method_class(), met(m){}
SEXP operator()( Class* object, SEXP* ){
T* ptr = (object->*met)( ) ;
- XP res = XP( ptr, true ) ;
- Function maker = Environment::Rcpp_namespace()[ "cpp_object_maker"] ;
- return maker( typeid(T).name() , res ) ;
+ return internal::make_new_object<T>(ptr) ;
}
inline int nargs(){ return 0 ; }
inline bool is_void(){ return false ; }
@@ -79,8 +77,8 @@
Method met ;
} ;
+
-
template <typename Class, typename OUT> class const_CppMethod0 : public CppMethod<Class> {
public:
typedef OUT (Class::*Method)(void) const ;
@@ -116,6 +114,27 @@
Method met ;
} ;
+ template <typename Class, typename T>
+ class const_CppMethod0< Class, result<T> > : public CppMethod<Class> {
+ public:
+ typedef result<T> (Class::*Method)(void) const ;
+ typedef CppMethod<Class> method_class ;
+ typedef XPtr<T> XP ;
+ const_CppMethod0( Method m) : method_class(), met(m){}
+ SEXP operator()( Class* object, SEXP* ){
+ T* ptr = (object->*met)( ) ;
+ return internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 0 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return false ; }
+ inline void signature(std::string& s, const char* name){ Rcpp::signature< result<T> >(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
+
template < typename Class, typename OUT, typename U0 > class CppMethod1 : public CppMethod<Class> {
@@ -136,6 +155,27 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0 >
+ class CppMethod1 <Class, result<T>, U0> : public CppMethod<Class> {
+ public:
+ typedef result<T> (Class::*Method)(U0 u0) ;
+ typedef CppMethod<Class> method_class ;
+
+ CppMethod1(Method m) : method_class(), met(m) {}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ) ) ;
+ return internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 1 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return false ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
+
template < typename Class, typename U0 > class CppMethod1<Class,void,U0> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0) ;
@@ -154,6 +194,8 @@
Method met ;
} ;
+
+
template < typename Class, typename OUT, typename U0 > class const_CppMethod1 : public CppMethod<Class> {
@@ -174,6 +216,26 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0 >
+ class const_CppMethod1 <Class, result<T>, U0> : public CppMethod<Class> {
+ public:
+ typedef result<T> (Class::*Method)(U0 u0) const ;
+ typedef CppMethod<Class> method_class ;
+
+ const_CppMethod1(Method m) : method_class(), met(m){}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (object->*met)( Rcpp::as< typename Rcpp::traits::remove_const_and_reference< U0 >::type >( args[0] ) ) ;
+ return internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 1 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return true ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
template < typename Class, typename U0 > class const_CppMethod1<Class,void,U0> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0) const ;
@@ -214,6 +276,27 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1 >
+ class CppMethod2 <Class, result<T>, U0, U1> : public CppMethod<Class> {
+ public:
+ typedef result<T> (Class::*Method)(U0 u0, U1 u1) ;
+ typedef CppMethod<Class> method_class ;
+
+ CppMethod2(Method m) : method_class(), met(m) {}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 2 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return false ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
+
template < typename Class, typename U0, typename U1 > class CppMethod2<Class,void,U0, U1> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1) ;
@@ -232,6 +315,8 @@
Method met ;
} ;
+
+
template < typename Class, typename OUT, typename U0, typename U1 > class const_CppMethod2 : public CppMethod<Class> {
@@ -252,6 +337,26 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1 >
+ class const_CppMethod2 <Class, result<T>, U0, U1> : public CppMethod<Class> {
+ public:
+ typedef result<T> (Class::*Method)(U0 u0, U1 u1) const ;
+ typedef CppMethod<Class> method_class ;
+
+ const_CppMethod2(Method m) : method_class(), met(m){}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 2 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return true ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
template < typename Class, typename U0, typename U1 > class const_CppMethod2<Class,void,U0, U1> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1) const ;
@@ -292,6 +397,27 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2 >
+ class CppMethod3 <Class, result<T>, U0, U1, U2> : public CppMethod<Class> {
+ public:
+ typedef result<T> (Class::*Method)(U0 u0, U1 u1, U2 u2) ;
+ typedef CppMethod<Class> method_class ;
+
+ CppMethod3(Method m) : method_class(), met(m) {}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 3 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return false ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
+
template < typename Class, typename U0, typename U1, typename U2 > class CppMethod3<Class,void,U0, U1, U2> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2) ;
@@ -310,6 +436,8 @@
Method met ;
} ;
+
+
template < typename Class, typename OUT, typename U0, typename U1, typename U2 > class const_CppMethod3 : public CppMethod<Class> {
@@ -330,6 +458,26 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2 >
+ class const_CppMethod3 <Class, result<T>, U0, U1, U2> : public CppMethod<Class> {
+ public:
+ typedef result<T> (Class::*Method)(U0 u0, U1 u1, U2 u2) const ;
+ typedef CppMethod<Class> method_class ;
+
+ const_CppMethod3(Method m) : method_class(), met(m){}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 3 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return true ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
template < typename Class, typename U0, typename U1, typename U2 > class const_CppMethod3<Class,void,U0, U1, U2> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2) const ;
@@ -370,6 +518,27 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2, typename U3 >
+ class CppMethod4 <Class, result<T>, U0, U1, U2, U3> : public CppMethod<Class> {
+ public:
+ typedef result<T> (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3) ;
+ typedef CppMethod<Class> method_class ;
+
+ CppMethod4(Method m) : method_class(), met(m) {}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 4 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return false ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2, U3>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
+
template < typename Class, typename U0, typename U1, typename U2, typename U3 > class CppMethod4<Class,void,U0, U1, U2, U3> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3) ;
@@ -388,6 +557,8 @@
Method met ;
} ;
+
+
template < typename Class, typename OUT, typename U0, typename U1, typename U2, typename U3 > class const_CppMethod4 : public CppMethod<Class> {
@@ -408,6 +579,26 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2, typename U3 >
+ class const_CppMethod4 <Class, result<T>, U0, U1, U2, U3> : public CppMethod<Class> {
+ public:
+ typedef result<T> (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3) const ;
+ typedef CppMethod<Class> method_class ;
+
+ const_CppMethod4(Method m) : method_class(), met(m){}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 4 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return true ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2, U3>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
template < typename Class, typename U0, typename U1, typename U2, typename U3 > class const_CppMethod4<Class,void,U0, U1, U2, U3> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3) const ;
@@ -448,6 +639,27 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2, typename U3, typename U4 >
+ class CppMethod5 <Class, result<T>, U0, U1, U2, U3, U4> : public CppMethod<Class> {
+ public:
+ typedef result<T> (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4) ;
+ typedef CppMethod<Class> method_class ;
+
+ CppMethod5(Method m) : method_class(), met(m) {}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 5 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return false ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2, U3, U4>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
+
template < typename Class, typename U0, typename U1, typename U2, typename U3, typename U4 > class CppMethod5<Class,void,U0, U1, U2, U3, U4> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4) ;
@@ -466,6 +678,8 @@
Method met ;
} ;
+
+
template < typename Class, typename OUT, typename U0, typename U1, typename U2, typename U3, typename U4 > class const_CppMethod5 : public CppMethod<Class> {
@@ -486,6 +700,26 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2, typename U3, typename U4 >
+ class const_CppMethod5 <Class, result<T>, U0, U1, U2, U3, U4> : public CppMethod<Class> {
+ public:
+ typedef result<T> (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){}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 5 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return true ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2, U3, U4>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
template < typename Class, typename U0, typename U1, typename U2, typename U3, typename U4 > class const_CppMethod5<Class,void,U0, U1, U2, U3, U4> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4) const ;
@@ -526,6 +760,27 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5 >
+ class CppMethod6 <Class, result<T>, U0, U1, U2, U3, U4, U5> : public CppMethod<Class> {
+ public:
+ typedef result<T> (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) {}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 6 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return false ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2, U3, U4, U5>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
+
template < typename Class, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5 > class CppMethod6<Class,void,U0, U1, U2, U3, U4, U5> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5) ;
@@ -544,6 +799,8 @@
Method met ;
} ;
+
+
template < typename Class, typename OUT, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5 > class const_CppMethod6 : public CppMethod<Class> {
@@ -564,6 +821,26 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5 >
+ class const_CppMethod6 <Class, result<T>, U0, U1, U2, U3, U4, U5> : public CppMethod<Class> {
+ public:
+ typedef result<T> (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){}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 6 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return true ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2, U3, U4, U5>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
template < typename Class, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5 > class const_CppMethod6<Class,void,U0, U1, U2, U3, U4, U5> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5) const ;
@@ -604,6 +881,27 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6 >
+ class CppMethod7 <Class, result<T>, U0, U1, U2, U3, U4, U5, U6> : public CppMethod<Class> {
+ public:
+ typedef result<T> (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) {}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 7 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return false ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2, U3, U4, U5, U6>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
+
template < typename Class, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6 > class CppMethod7<Class,void,U0, U1, U2, U3, U4, U5, U6> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6) ;
@@ -622,6 +920,8 @@
Method met ;
} ;
+
+
template < typename Class, typename OUT, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6 > class const_CppMethod7 : public CppMethod<Class> {
@@ -642,6 +942,26 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6 >
+ class const_CppMethod7 <Class, result<T>, U0, U1, U2, U3, U4, U5, U6> : public CppMethod<Class> {
+ public:
+ typedef result<T> (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){}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 7 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return true ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2, U3, U4, U5, U6>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
template < typename Class, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6 > class const_CppMethod7<Class,void,U0, U1, U2, U3, U4, U5, U6> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6) const ;
@@ -682,6 +1002,27 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7 >
+ class CppMethod8 <Class, result<T>, U0, U1, U2, U3, U4, U5, U6, U7> : public CppMethod<Class> {
+ public:
+ typedef result<T> (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) {}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 8 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return false ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2, U3, U4, U5, U6, U7>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
+
template < typename Class, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7 > class CppMethod8<Class,void,U0, U1, U2, U3, U4, U5, U6, U7> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6, U7 u7) ;
@@ -700,6 +1041,8 @@
Method met ;
} ;
+
+
template < typename Class, typename OUT, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7 > class const_CppMethod8 : public CppMethod<Class> {
@@ -720,6 +1063,26 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7 >
+ class const_CppMethod8 <Class, result<T>, U0, U1, U2, U3, U4, U5, U6, U7> : public CppMethod<Class> {
+ public:
+ typedef result<T> (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){}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 8 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return true ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2, U3, U4, U5, U6, U7>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
template < typename Class, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7 > class const_CppMethod8<Class,void,U0, U1, U2, U3, U4, U5, U6, U7> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6, U7 u7) const ;
@@ -760,6 +1123,27 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8 >
+ class CppMethod9 <Class, result<T>, U0, U1, U2, U3, U4, U5, U6, U7, U8> : public CppMethod<Class> {
+ public:
+ typedef result<T> (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) {}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 9 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return false ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2, U3, U4, U5, U6, U7, U8>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
+
template < typename Class, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8 > class CppMethod9<Class,void,U0, U1, U2, U3, U4, U5, U6, U7, U8> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6, U7 u7, U8 u8) ;
@@ -778,6 +1162,8 @@
Method met ;
} ;
+
+
template < typename Class, typename OUT, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8 > class const_CppMethod9 : public CppMethod<Class> {
@@ -798,6 +1184,26 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8 >
+ class const_CppMethod9 <Class, result<T>, U0, U1, U2, U3, U4, U5, U6, U7, U8> : public CppMethod<Class> {
+ public:
+ typedef result<T> (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){}
+ SEXP operator()( Class* object, SEXP* args){
+ T* ptr = (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 internal::make_new_object<T>(ptr) ;
+ }
+ inline int nargs(){ return 9 ; }
+ inline bool is_void(){ return false ; }
+ inline bool is_const(){ return true ; }
+ inline void signature(std::string& s, const char* name ){ Rcpp::signature<result<T>,U0, U1, U2, U3, U4, U5, U6, U7, U8>(s, name) ; }
+
+ private:
+ Method met ;
+ } ;
+
template < typename Class, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8 > class const_CppMethod9<Class,void,U0, U1, U2, U3, U4, U5, U6, U7, U8> : public CppMethod<Class> {
public:
typedef void (Class::*Method)(U0 u0, U1 u1, U2 u2, U3 u3, U4 u4, U5 u5, U6 u6, U7 u7, U8 u8) const ;
@@ -838,6 +1244,27 @@
Method met ;
} ;
+ template < typename Class, typename T, typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9 >
+ class CppMethod10 <Class, result<T>, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9> : public CppMethod<Class> {
+ public:
+ typedef result<T> (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) {}
+ SEXP operator()( Class* object, SEXP* args){
[TRUNCATED]
To get the complete diff run:
svnlook diff /svnroot/rcpp -r 3049
More information about the Rcpp-commits
mailing list