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

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Fri Nov 2 17:08:32 CET 2012


Author: romain
Date: 2012-11-02 17:08:32 +0100 (Fri, 02 Nov 2012)
New Revision: 3886

Added:
   pkg/Rcpp/inst/include/Rcpp/module/CppFunction.h
Modified:
   pkg/Rcpp/ChangeLog
   pkg/Rcpp/inst/include/Rcpp/Module.h
   pkg/Rcpp/inst/include/Rcpp/module/Module_generated_CppFunction.h
Log:
CppFunction gains get_function_ptr (implemented in all its child classes)

Modified: pkg/Rcpp/ChangeLog
===================================================================
--- pkg/Rcpp/ChangeLog	2012-11-02 16:05:49 UTC (rev 3885)
+++ pkg/Rcpp/ChangeLog	2012-11-02 16:08:32 UTC (rev 3886)
@@ -1,3 +1,10 @@
+2012-11-02  Romain Francois <romain at r-enthusiasts.com>
+
+        * include/Rcpp/module/CppFunction.h : factored CppFunction in its own file
+        and added the get_function_ptr virtual method. added documentation
+        * include/Rcpp/module/Module_generated_CppFunction.h: implementation 
+        of get_function_ptr in classes that derive CppFunction
+
 2012-11-01  Dirk Eddelbuettel  <edd at debian.org>
 
 	* inst/unitTests/runit.rmath.R: New unit test file added

Modified: pkg/Rcpp/inst/include/Rcpp/Module.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/Module.h	2012-11-02 16:05:49 UTC (rev 3885)
+++ pkg/Rcpp/inst/include/Rcpp/Module.h	2012-11-02 16:08:32 UTC (rev 3886)
@@ -81,21 +81,7 @@
         }
     } 
 
-    class CppFunction {
-    public:
-        CppFunction(const char* doc = 0) : docstring( doc == 0 ? "" : doc) {}
-        virtual SEXP operator()(SEXP*) { 
-            return R_NilValue ;
-        }
-        virtual ~CppFunction(){} ;
-        virtual int nargs(){ return 0 ; }
-        virtual bool is_void(){ return false ; }
-        virtual void signature(std::string&, const char* ){}
-        virtual SEXP get_formals(){ return R_NilValue; }
-                
-        std::string docstring ;
-    };
-
+#include <Rcpp/module/CppFunction.h>
 #include <Rcpp/module/Module_generated_get_return_type.h>
 #include <Rcpp/module/Module_generated_get_signature.h>
 

Added: pkg/Rcpp/inst/include/Rcpp/module/CppFunction.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/module/CppFunction.h	                        (rev 0)
+++ pkg/Rcpp/inst/include/Rcpp/module/CppFunction.h	2012-11-02 16:08:32 UTC (rev 3886)
@@ -0,0 +1,76 @@
+// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; indent-tabs-mode: nil; -*-
+//
+// CppFunction.h: Rcpp R/C++ interface class library -- C++ exposed function
+//
+// Copyright (C) 2012 Dirk Eddelbuettel and Romain Francois
+//
+// This file is part of Rcpp.
+//
+// Rcpp is free software: you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 2 of the License, or           
+// (at your option) any later version.
+//
+// Rcpp is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Rcpp.  If not, see <http://www.gnu.org/licenses/>.
+
+#ifndef Rcpp_Module_CppFunction_h
+#define Rcpp_Module_CppFunction_h
+
+    /** 
+     * base class of all exported C++ functions. Template deduction in the
+     * Module_generated_function.h file creates an instance of a class that 
+     * derives CppFunction (see Module_generated_CppFunction.h fr all the 
+     * definitions
+     */
+    class CppFunction {
+    public:
+        CppFunction(const char* doc = 0) : docstring( doc == 0 ? "" : doc) {}
+        
+        /**
+         * modules call the function with this interface. input: an array of SEXP
+         * output: a SEXP. 
+         */
+        virtual SEXP operator()(SEXP*) { 
+            return R_NilValue ;
+        }
+        virtual ~CppFunction(){} ;
+        
+        /**
+         * The number of arguments of the function
+         */
+        virtual int nargs(){ return 0 ; }
+        
+        /**
+         * voidness
+         */
+        virtual bool is_void(){ return false ; }
+        
+        /**
+         * Human readable function signature (demangled if possible)
+         */
+        virtual void signature(std::string&, const char* ){}
+        
+        /**
+         * formal arguments
+         */
+        virtual SEXP get_formals(){ return R_NilValue; }
+        
+        /**
+         * The actual function pointer, as a catch all function pointer
+         * (see Rdynload.h for definition of DL_FUNC)
+         */
+        virtual DL_FUNC get_function_ptr() ;        
+        
+        /**
+         * description of the function
+         */
+        std::string docstring ;
+    };
+
+#endif

Modified: pkg/Rcpp/inst/include/Rcpp/module/Module_generated_CppFunction.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/module/Module_generated_CppFunction.h	2012-11-02 16:05:49 UTC (rev 3885)
+++ pkg/Rcpp/inst/include/Rcpp/module/Module_generated_CppFunction.h	2012-11-02 16:08:32 UTC (rev 3886)
@@ -32,7 +32,8 @@
 
         inline int nargs(){ return 0; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(void) ;
 } ;
@@ -51,7 +52,8 @@
         inline int nargs(){ return 0; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(void) ;
 } ;
@@ -67,7 +69,8 @@
 
         inline int nargs(){ return 0; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(void) ;
 } ;
@@ -86,7 +89,8 @@
         inline int nargs(){ return 0; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(void) ;
 } ;
@@ -103,7 +107,8 @@
 
         inline int nargs(){ return 1; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0) ;
 } ;
@@ -121,7 +126,8 @@
         inline int nargs(){ return 1; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0) ;
 } ;
@@ -142,7 +148,8 @@
         inline int nargs(){ return 1; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0) ;
@@ -163,7 +170,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0) ;
@@ -182,7 +190,8 @@
 
         inline int nargs(){ return 2; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1) ;
 } ;
@@ -200,7 +209,8 @@
         inline int nargs(){ return 2; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1) ;
 } ;
@@ -221,7 +231,8 @@
         inline int nargs(){ return 2; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1) ;
@@ -242,7 +253,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1) ;
@@ -261,7 +273,8 @@
 
         inline int nargs(){ return 3; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2) ;
 } ;
@@ -279,7 +292,8 @@
         inline int nargs(){ return 3; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2) ;
 } ;
@@ -300,7 +314,8 @@
         inline int nargs(){ return 3; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2) ;
@@ -321,7 +336,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2) ;
@@ -340,7 +356,8 @@
 
         inline int nargs(){ return 4; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3) ;
 } ;
@@ -358,7 +375,8 @@
         inline int nargs(){ return 4; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3) ;
 } ;
@@ -379,7 +397,8 @@
         inline int nargs(){ return 4; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2, U3) ;
@@ -400,7 +419,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2, U3) ;
@@ -419,7 +439,8 @@
 
         inline int nargs(){ return 5; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3, U4) ;
 } ;
@@ -437,7 +458,8 @@
         inline int nargs(){ return 5; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3, U4) ;
 } ;
@@ -458,7 +480,8 @@
         inline int nargs(){ return 5; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2, U3, U4) ;
@@ -479,7 +502,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2, U3, U4) ;
@@ -498,7 +522,8 @@
 
         inline int nargs(){ return 6; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5) ;
 } ;
@@ -516,7 +541,8 @@
         inline int nargs(){ return 6; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5) ;
 } ;
@@ -537,7 +563,8 @@
         inline int nargs(){ return 6; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5) ;
@@ -558,7 +585,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5) ;
@@ -577,7 +605,8 @@
 
         inline int nargs(){ return 7; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6) ;
 } ;
@@ -595,7 +624,8 @@
         inline int nargs(){ return 7; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6) ;
 } ;
@@ -616,7 +646,8 @@
         inline int nargs(){ return 7; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6) ;
@@ -637,7 +668,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6) ;
@@ -656,7 +688,8 @@
 
         inline int nargs(){ return 8; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7) ;
 } ;
@@ -674,7 +707,8 @@
         inline int nargs(){ return 8; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7) ;
 } ;
@@ -695,7 +729,8 @@
         inline int nargs(){ return 8; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7) ;
@@ -716,7 +751,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7) ;
@@ -735,7 +771,8 @@
 
         inline int nargs(){ return 9; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8) ;
 } ;
@@ -753,7 +790,8 @@
         inline int nargs(){ return 9; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8) ;
 } ;
@@ -774,7 +812,8 @@
         inline int nargs(){ return 9; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8) ;
@@ -795,7 +834,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8) ;
@@ -814,7 +854,8 @@
 
         inline int nargs(){ return 10; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9) ;
 } ;
@@ -832,7 +873,8 @@
         inline int nargs(){ return 10; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9) ;
 } ;
@@ -853,7 +895,8 @@
         inline int nargs(){ return 10; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9) ;
@@ -874,7 +917,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9) ;
@@ -893,7 +937,8 @@
 
         inline int nargs(){ return 11; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10) ;
 } ;
@@ -911,7 +956,8 @@
         inline int nargs(){ return 11; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10) ;
 } ;
@@ -932,7 +978,8 @@
         inline int nargs(){ return 11; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10) ;
@@ -953,7 +1000,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10) ;
@@ -972,7 +1020,8 @@
 
         inline int nargs(){ return 12; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11) ;
 } ;
@@ -990,7 +1039,8 @@
         inline int nargs(){ return 12; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11) ;
 } ;
@@ -1011,7 +1061,8 @@
         inline int nargs(){ return 12; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11) ;
@@ -1032,7 +1083,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11) ;
@@ -1051,7 +1103,8 @@
 
         inline int nargs(){ return 13; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12) ;
 } ;
@@ -1069,7 +1122,8 @@
         inline int nargs(){ return 13; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12) ;
 } ;
@@ -1090,7 +1144,8 @@
         inline int nargs(){ return 13; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12) ;
@@ -1111,7 +1166,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12) ;
@@ -1130,7 +1186,8 @@
 
         inline int nargs(){ return 14; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13) ;
 } ;
@@ -1148,7 +1205,8 @@
         inline int nargs(){ return 14; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13) ;
 } ;
@@ -1169,7 +1227,8 @@
         inline int nargs(){ return 14; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13) ;
@@ -1190,7 +1249,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13) ;
@@ -1209,7 +1269,8 @@
 
         inline int nargs(){ return 15; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14) ;
 } ;
@@ -1227,7 +1288,8 @@
         inline int nargs(){ return 15; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14) ;
 } ;
@@ -1248,7 +1310,8 @@
         inline int nargs(){ return 15; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14) ;
@@ -1269,7 +1332,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14) ;
@@ -1288,7 +1352,8 @@
 
         inline int nargs(){ return 16; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15) ;
 } ;
@@ -1306,7 +1371,8 @@
         inline int nargs(){ return 16; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15) ;
 } ;
@@ -1327,7 +1393,8 @@
         inline int nargs(){ return 16; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15) ;
@@ -1348,7 +1415,8 @@
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15>(s, name) ; }
         SEXP get_formals(){ return formals; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         Rcpp::List formals ;
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15) ;
@@ -1367,7 +1435,8 @@
 
         inline int nargs(){ return 17; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<OUT,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         OUT (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16) ;
 } ;
@@ -1385,7 +1454,8 @@
         inline int nargs(){ return 17; }
         inline bool is_void(){ return true; }
         inline void signature(std::string& s, const char* name){ Rcpp::signature<void_type,U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16>(s, name) ; }
-
+        inline DL_FUNC get_function_ptr(){ return (DL_FUNC)ptr_fun ; }
+        
     private:
         void (*ptr_fun)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16) ;
 } ;
@@ -1406,7 +1476,8 @@
[TRUNCATED]

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


More information about the Rcpp-commits mailing list