[Rcpp-commits] r4130 - in pkg/Rcpp: . inst/include inst/include/Rcpp inst/include/Rcpp/internal inst/include/Rcpp/macros inst/include/Rcpp/module inst/include/Rcpp/traits

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Mon Dec 10 15:44:24 CET 2012


Author: romain
Date: 2012-12-10 15:44:24 +0100 (Mon, 10 Dec 2012)
New Revision: 4130

Added:
   pkg/Rcpp/inst/include/Rcpp/internal/Exporter.h
   pkg/Rcpp/inst/include/Rcpp/macros/module.h
   pkg/Rcpp/inst/include/Rcpp/traits/traits.h
Removed:
   pkg/Rcpp/inst/include/Rcpp/int64/
   pkg/Rcpp/inst/include/Rcpp/module/macros.h
   pkg/Rcpp/inst/include/Rcpp/traits/Exporter.h
Modified:
   pkg/Rcpp/ChangeLog
   pkg/Rcpp/inst/include/Rcpp/as.h
   pkg/Rcpp/inst/include/Rcpp/macros/macros.h
   pkg/Rcpp/inst/include/Rcpp/traits/is_const.h
   pkg/Rcpp/inst/include/Rcpp/traits/is_reference.h
   pkg/Rcpp/inst/include/Rcpp/traits/remove_const_and_reference.h
   pkg/Rcpp/inst/include/RcppCommon.h
Log:
more cleaning

Modified: pkg/Rcpp/ChangeLog
===================================================================
--- pkg/Rcpp/ChangeLog	2012-12-10 14:20:53 UTC (rev 4129)
+++ pkg/Rcpp/ChangeLog	2012-12-10 14:44:24 UTC (rev 4130)
@@ -6,6 +6,8 @@
         * src/internal.h: new header to host function declarations for 
         routines that are not exported into Rcpp.h
         * src/Rcpp_init.c: export capabilities (renamed rcpp_capabilities)
+        * include/Rcpp/traits/traits.h: master file for all traits includes
+        * include/Rcpp/macros/macros.h: master file for all macros includes
         
 2012-12-09 Romain Francois <romain at r-enthusiasts.com>
 

Modified: pkg/Rcpp/inst/include/Rcpp/as.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/as.h	2012-12-10 14:20:53 UTC (rev 4129)
+++ pkg/Rcpp/inst/include/Rcpp/as.h	2012-12-10 14:44:24 UTC (rev 4130)
@@ -22,6 +22,8 @@
 #ifndef Rcpp__as__h
 #define Rcpp__as__h
 
+#include <Rcpp/internal/Exporter.h>
+
 namespace Rcpp{
 
     namespace internal{

Copied: pkg/Rcpp/inst/include/Rcpp/internal/Exporter.h (from rev 4125, pkg/Rcpp/inst/include/Rcpp/traits/Exporter.h)
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/internal/Exporter.h	                        (rev 0)
+++ pkg/Rcpp/inst/include/Rcpp/internal/Exporter.h	2012-12-10 14:44:24 UTC (rev 4130)
@@ -0,0 +1,111 @@
+// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; indent-tabs-mode: nil; -*-
+/* :tabSize=4:indentSize=4:noTabs=false:folding=explicit:collapseFolds=1: */
+//
+// exporter.h: Rcpp R/C++ interface class library -- identify if a class has a nested iterator typedef
+//
+// Copyright (C) 2010 - 2011 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__internal__exporter__h
+#define Rcpp__internal__exporter__h
+
+namespace Rcpp{
+    namespace traits{
+
+        template <typename T> class Exporter{
+        public:
+            Exporter( SEXP x ) : t(x){}
+            inline T get(){ return t ; }
+
+        private:
+            T t ;
+        } ;
+
+        template <typename T> class RangeExporter {
+        public:
+            typedef typename T::value_type r_export_type ;
+        
+            RangeExporter( SEXP x ) : object(x){}
+            ~RangeExporter(){}
+        
+            T get(){ 
+                T vec( ::Rf_length(object) );
+                ::Rcpp::internal::export_range( object, vec.begin() ) ;
+                return vec ;
+            }
+        
+        private:
+            SEXP object ;
+        } ;
+
+        template <typename T, typename value_type> class IndexingExporter {
+        public:
+            typedef value_type r_export_type ;
+        
+            IndexingExporter( SEXP x) : object(x){}
+            ~IndexingExporter(){}
+        
+            T get(){
+                T result( ::Rf_length(object) ) ;
+                ::Rcpp::internal::export_indexing<T,value_type>( object, result ) ;
+                return result ;
+            }
+        
+        private:
+            SEXP object ;
+        } ;
+
+        template <typename T, typename value_type> class MatrixExporter {
+        public:
+            typedef value_type r_export_type ;
+        
+            MatrixExporter( SEXP x) : object(x){}
+            ~MatrixExporter(){}
+        
+            T get() {
+                SEXP dims = PROTECT( ::Rf_getAttrib( object, R_DimSymbol ) ) ;
+                if( dims == R_NilValue || ::Rf_length(dims) != 2 ){
+                    throw ::Rcpp::not_a_matrix() ;
+                }
+                int* dims_ = INTEGER(dims) ;
+                T result( dims_[0], dims_[1] ) ;
+                ::Rcpp::internal::export_indexing<T,value_type>( object, result ) ;
+                UNPROTECT(1) ;
+                return result ;
+            }
+        
+        private:
+            SEXP object ;
+        } ;
+
+
+        template <typename T> class Exporter< std::vector<T> > : public RangeExporter< std::vector<T> > {
+        public:
+            Exporter(SEXP x) : RangeExporter< std::vector<T> >(x){}
+        };
+        template <typename T> class Exporter< std::deque<T> > : public RangeExporter< std::deque<T> > {
+        public:
+            Exporter(SEXP x) : RangeExporter< std::deque<T> >(x){}
+        };
+        template <typename T> class Exporter< std::list<T> > : public RangeExporter< std::list<T> > {
+        public:
+            Exporter(SEXP x) : RangeExporter< std::list<T> >(x){}
+        };
+
+    } // namespace traits
+} // namespace Rcpp
+#endif

Modified: pkg/Rcpp/inst/include/Rcpp/macros/macros.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/macros/macros.h	2012-12-10 14:20:53 UTC (rev 4129)
+++ pkg/Rcpp/inst/include/Rcpp/macros/macros.h	2012-12-10 14:44:24 UTC (rev 4130)
@@ -50,6 +50,6 @@
 #include <Rcpp/macros/traits.h>
 #include <Rcpp/macros/config.hpp>
 #include <Rcpp/macros/cat.hpp>
+#include <Rcpp/macros/module.h>
 
-
 #endif

Copied: pkg/Rcpp/inst/include/Rcpp/macros/module.h (from rev 4125, pkg/Rcpp/inst/include/Rcpp/module/macros.h)
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/macros/module.h	                        (rev 0)
+++ pkg/Rcpp/inst/include/Rcpp/macros/module.h	2012-12-10 14:44:24 UTC (rev 4130)
@@ -0,0 +1,55 @@
+// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*-
+//
+// macros.h: Rcpp R/C++ interface class library -- helper macros for Rcpp modules
+//
+// 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_MACROS_H
+#define RCPP_MODULE_MACROS_H
+
+/** This macros should be used by packages using modules when a type is used
+ *  as a parameter of a function or method exposed by modules. This defines
+ *  the necessary trait that makes the class as<>'able
+ */
+#define RCPP_EXPOSED_AS(CLASS)   namespace Rcpp{ namespace traits{ template<> struct r_type_traits< CLASS >{ typedef r_type_module_object_tag r_category ; } ; }}
+#define RCPP_EXPOSED_WRAP(CLASS) namespace Rcpp{ namespace traits{ template<> struct wrap_type_traits< CLASS >{typedef wrap_type_module_object_tag wrap_category ; } ; }}
+
+#define RCPP_EXPOSED_CLASS_NODECL(CLASS) \
+  RCPP_EXPOSED_AS(CLASS)          \
+  RCPP_EXPOSED_WRAP(CLASS)
+
+#define RCPP_EXPOSED_CLASS(CLASS) \
+  class CLASS;                    \
+  RCPP_EXPOSED_CLASS_NODECL(CLASS)
+
+/** 
+ * handling enums: TODO use is_enum from C++11 or boost to have those automatic
+ */
+#define RCPP_EXPOSED_ENUM_AS(CLASS)   namespace Rcpp{ namespace traits{ template<> struct r_type_traits< CLASS >{ typedef r_type_enum_tag r_category ; } ; }}
+#define RCPP_EXPOSED_ENUM_WRAP(CLASS) namespace Rcpp{ namespace traits{ template<> struct wrap_type_traits< CLASS >{typedef wrap_type_enum_tag wrap_category ; } ; }}
+ 
+#define RCPP_EXPOSED_ENUM_NODECL(CLASS) \
+  RCPP_EXPOSED_ENUM_AS(CLASS)          \
+  RCPP_EXPOSED_ENUM_WRAP(CLASS)
+
+#define RCPP_EXPOSED_ENUM(CLASS) \
+  class CLASS;                    \
+  RCPP_EXPOSED_ENUM_NODECL(CLASS)
+  
+  
+#endif

Deleted: pkg/Rcpp/inst/include/Rcpp/module/macros.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/module/macros.h	2012-12-10 14:20:53 UTC (rev 4129)
+++ pkg/Rcpp/inst/include/Rcpp/module/macros.h	2012-12-10 14:44:24 UTC (rev 4130)
@@ -1,55 +0,0 @@
-// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*-
-//
-// macros.h: Rcpp R/C++ interface class library -- helper macros for Rcpp modules
-//
-// 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_MACROS_H
-#define RCPP_MODULE_MACROS_H
-
-/** This macros should be used by packages using modules when a type is used
- *  as a parameter of a function or method exposed by modules. This defines
- *  the necessary trait that makes the class as<>'able
- */
-#define RCPP_EXPOSED_AS(CLASS)   namespace Rcpp{ namespace traits{ template<> struct r_type_traits< CLASS >{ typedef r_type_module_object_tag r_category ; } ; }}
-#define RCPP_EXPOSED_WRAP(CLASS) namespace Rcpp{ namespace traits{ template<> struct wrap_type_traits< CLASS >{typedef wrap_type_module_object_tag wrap_category ; } ; }}
-
-#define RCPP_EXPOSED_CLASS_NODECL(CLASS) \
-  RCPP_EXPOSED_AS(CLASS)          \
-  RCPP_EXPOSED_WRAP(CLASS)
-
-#define RCPP_EXPOSED_CLASS(CLASS) \
-  class CLASS;                    \
-  RCPP_EXPOSED_CLASS_NODECL(CLASS)
-
-/** 
- * handling enums: TODO use is_enum from C++11 or boost to have those automatic
- */
-#define RCPP_EXPOSED_ENUM_AS(CLASS)   namespace Rcpp{ namespace traits{ template<> struct r_type_traits< CLASS >{ typedef r_type_enum_tag r_category ; } ; }}
-#define RCPP_EXPOSED_ENUM_WRAP(CLASS) namespace Rcpp{ namespace traits{ template<> struct wrap_type_traits< CLASS >{typedef wrap_type_enum_tag wrap_category ; } ; }}
- 
-#define RCPP_EXPOSED_ENUM_NODECL(CLASS) \
-  RCPP_EXPOSED_ENUM_AS(CLASS)          \
-  RCPP_EXPOSED_ENUM_WRAP(CLASS)
-
-#define RCPP_EXPOSED_ENUM(CLASS) \
-  class CLASS;                    \
-  RCPP_EXPOSED_ENUM_NODECL(CLASS)
-  
-  
-#endif

Deleted: pkg/Rcpp/inst/include/Rcpp/traits/Exporter.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/traits/Exporter.h	2012-12-10 14:20:53 UTC (rev 4129)
+++ pkg/Rcpp/inst/include/Rcpp/traits/Exporter.h	2012-12-10 14:44:24 UTC (rev 4130)
@@ -1,111 +0,0 @@
-// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; indent-tabs-mode: nil; -*-
-/* :tabSize=4:indentSize=4:noTabs=false:folding=explicit:collapseFolds=1: */
-//
-// exporter.h: Rcpp R/C++ interface class library -- identify if a class has a nested iterator typedef
-//
-// Copyright (C) 2010 - 2011 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__traits__exporter__h
-#define Rcpp__traits__exporter__h
-
-namespace Rcpp{
-    namespace traits{
-
-        template <typename T> class Exporter{
-        public:
-            Exporter( SEXP x ) : t(x){}
-            inline T get(){ return t ; }
-
-        private:
-            T t ;
-        } ;
-
-        template <typename T> class RangeExporter {
-        public:
-            typedef typename T::value_type r_export_type ;
-        
-            RangeExporter( SEXP x ) : object(x){}
-            ~RangeExporter(){}
-        
-            T get(){ 
-                T vec( ::Rf_length(object) );
-                ::Rcpp::internal::export_range( object, vec.begin() ) ;
-                return vec ;
-            }
-        
-        private:
-            SEXP object ;
-        } ;
-
-        template <typename T, typename value_type> class IndexingExporter {
-        public:
-            typedef value_type r_export_type ;
-        
-            IndexingExporter( SEXP x) : object(x){}
-            ~IndexingExporter(){}
-        
-            T get(){
-                T result( ::Rf_length(object) ) ;
-                ::Rcpp::internal::export_indexing<T,value_type>( object, result ) ;
-                return result ;
-            }
-        
-        private:
-            SEXP object ;
-        } ;
-
-        template <typename T, typename value_type> class MatrixExporter {
-        public:
-            typedef value_type r_export_type ;
-        
-            MatrixExporter( SEXP x) : object(x){}
-            ~MatrixExporter(){}
-        
-            T get() {
-                SEXP dims = PROTECT( ::Rf_getAttrib( object, R_DimSymbol ) ) ;
-                if( dims == R_NilValue || ::Rf_length(dims) != 2 ){
-                    throw ::Rcpp::not_a_matrix() ;
-                }
-                int* dims_ = INTEGER(dims) ;
-                T result( dims_[0], dims_[1] ) ;
-                ::Rcpp::internal::export_indexing<T,value_type>( object, result ) ;
-                UNPROTECT(1) ;
-                return result ;
-            }
-        
-        private:
-            SEXP object ;
-        } ;
-
-
-        template <typename T> class Exporter< std::vector<T> > : public RangeExporter< std::vector<T> > {
-        public:
-            Exporter(SEXP x) : RangeExporter< std::vector<T> >(x){}
-        };
-        template <typename T> class Exporter< std::deque<T> > : public RangeExporter< std::deque<T> > {
-        public:
-            Exporter(SEXP x) : RangeExporter< std::deque<T> >(x){}
-        };
-        template <typename T> class Exporter< std::list<T> > : public RangeExporter< std::list<T> > {
-        public:
-            Exporter(SEXP x) : RangeExporter< std::list<T> >(x){}
-        };
-
-    } // namespace traits
-} // namespace Rcpp
-#endif

Modified: pkg/Rcpp/inst/include/Rcpp/traits/is_const.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/traits/is_const.h	2012-12-10 14:20:53 UTC (rev 4129)
+++ pkg/Rcpp/inst/include/Rcpp/traits/is_const.h	2012-12-10 14:44:24 UTC (rev 4130)
@@ -23,8 +23,6 @@
 #ifndef Rcpp__traits__is_const__h
 #define Rcpp__traits__is_const__h
 
-#include <Rcpp/traits/integral_constant.h>
-
 namespace Rcpp{ namespace traits {
 	
   /// @brief  type properties [4.5.3].

Modified: pkg/Rcpp/inst/include/Rcpp/traits/is_reference.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/traits/is_reference.h	2012-12-10 14:20:53 UTC (rev 4129)
+++ pkg/Rcpp/inst/include/Rcpp/traits/is_reference.h	2012-12-10 14:44:24 UTC (rev 4130)
@@ -23,8 +23,6 @@
 #ifndef Rcpp__traits__is_reference__h
 #define Rcpp__traits__is_reference__h
 
-#include <Rcpp/traits/integral_constant.h>
-
 namespace Rcpp{ namespace traits {
 	
   template<typename>

Modified: pkg/Rcpp/inst/include/Rcpp/traits/remove_const_and_reference.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/traits/remove_const_and_reference.h	2012-12-10 14:20:53 UTC (rev 4129)
+++ pkg/Rcpp/inst/include/Rcpp/traits/remove_const_and_reference.h	2012-12-10 14:44:24 UTC (rev 4130)
@@ -3,7 +3,7 @@
 //
 // is_reference.h: Rcpp R/C++ interface class library -- identifies if a type is a reference
 //
-// Copyright (C) 2010 - 2011 Dirk Eddelbuettel and Romain Francois
+// Copyright (C) 2010 - 2012 Dirk Eddelbuettel and Romain Francois
 //
 // This file is part of Rcpp.
 //
@@ -23,9 +23,6 @@
 #ifndef Rcpp__traits__remove_const_and_reference__h
 #define Rcpp__traits__remove_const_and_reference__h
 
-#include <Rcpp/traits/remove_const.h>
-#include <Rcpp/traits/remove_reference.h>
-
 namespace Rcpp{ namespace traits {
 	
 	template <typename T>

Added: pkg/Rcpp/inst/include/Rcpp/traits/traits.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/traits/traits.h	                        (rev 0)
+++ pkg/Rcpp/inst/include/Rcpp/traits/traits.h	2012-12-10 14:44:24 UTC (rev 4130)
@@ -0,0 +1,59 @@
+// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*-
+/* :tabSize=4:indentSize=4:noTabs=false:folding=explicit:collapseFolds=1: */
+//
+// traits.h: Rcpp R/C++ interface class library -- traits to help wrap
+//
+// 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__traits__traits__h
+#define Rcpp__traits__traits__h
+
+#include <Rcpp/traits/integral_constant.h>
+#include <Rcpp/traits/same_type.h>
+#include <Rcpp/traits/named_object.h>
+#include <Rcpp/traits/is_convertible.h>
+#include <Rcpp/traits/has_iterator.h>
+#include <Rcpp/traits/expands_to_logical.h>
+#include <Rcpp/traits/matrix_interface.h>
+#include <Rcpp/traits/is_sugar_expression.h>
+#include <Rcpp/traits/is_eigen_base.h>
+#include <Rcpp/traits/has_na.h>
+#include <Rcpp/traits/storage_type.h>
+#include <Rcpp/traits/r_sexptype_traits.h>
+#include <Rcpp/traits/storage_type.h>
+#include <Rcpp/traits/comparator_type.h>
+#include <Rcpp/traits/r_type_traits.h>
+#include <Rcpp/traits/un_pointer.h>
+#include <Rcpp/traits/is_pointer.h>
+#include <Rcpp/traits/wrap_type_traits.h>
+#include <Rcpp/traits/module_wrap_traits.h>
+#include <Rcpp/traits/is_na.h>
+#include <Rcpp/traits/if_.h>
+#include <Rcpp/traits/get_na.h>
+#include <Rcpp/traits/is_trivial.h>
+#include <Rcpp/traits/init_type.h>
+
+#include <Rcpp/traits/is_const.h>
+#include <Rcpp/traits/is_reference.h>
+#include <Rcpp/traits/remove_const.h>
+#include <Rcpp/traits/remove_reference.h>
+#include <Rcpp/traits/remove_const_and_reference.h>
+#include <Rcpp/traits/result_of.h>
+
+#endif
+

Modified: pkg/Rcpp/inst/include/RcppCommon.h
===================================================================
--- pkg/Rcpp/inst/include/RcppCommon.h	2012-12-10 14:20:53 UTC (rev 4129)
+++ pkg/Rcpp/inst/include/RcppCommon.h	2012-12-10 14:44:24 UTC (rev 4130)
@@ -54,8 +54,6 @@
     } // internal 
 } // Rcpp
 
-#include <Rcpp/module/macros.h>
-
 #include <iterator>
 #include <exception>
 #include <iostream>
@@ -122,40 +120,9 @@
 	}
 }	
 
-// DO NOT CHANGE THE ORDER OF THESE INCLUDES
-#include <Rcpp/traits/integral_constant.h>
-#include <Rcpp/traits/same_type.h>
-#include <Rcpp/traits/named_object.h>
+#include <Rcpp/traits/traits.h>
 #include <Rcpp/Named.h>
-#include <Rcpp/traits/is_convertible.h>
-#include <Rcpp/traits/has_iterator.h>
-#include <Rcpp/traits/expands_to_logical.h>
-#include <Rcpp/traits/matrix_interface.h>
-#include <Rcpp/traits/is_sugar_expression.h>
-#include <Rcpp/traits/is_eigen_base.h>
-#include <Rcpp/traits/has_na.h>
-#include <Rcpp/traits/storage_type.h>
-#include <Rcpp/traits/r_sexptype_traits.h>
-#include <Rcpp/traits/storage_type.h>
-#include <Rcpp/traits/comparator_type.h>
-#include <Rcpp/traits/r_type_traits.h>
-#include <Rcpp/traits/un_pointer.h>
-#include <Rcpp/traits/is_pointer.h>
-#include <Rcpp/traits/wrap_type_traits.h>
-#include <Rcpp/traits/module_wrap_traits.h>
-#include <Rcpp/traits/is_na.h>
-#include <Rcpp/traits/if_.h>
-#include <Rcpp/traits/get_na.h>
-#include <Rcpp/traits/is_trivial.h>
-#include <Rcpp/traits/init_type.h>
 
-#include <Rcpp/traits/is_const.h>
-#include <Rcpp/traits/is_reference.h>
-#include <Rcpp/traits/remove_const.h>
-#include <Rcpp/traits/remove_reference.h>
-#include <Rcpp/traits/remove_const_and_reference.h>
-#include <Rcpp/traits/result_of.h>
-
 #include <Rcpp/internal/caster.h>
 #include <Rcpp/internal/r_vector.h>
 #include <Rcpp/r_cast.h>
@@ -166,7 +133,6 @@
 #include <Rcpp/Datetime_forward.h>
 
 #include <Rcpp/internal/export.h>
-#include <Rcpp/traits/Exporter.h>
 #include <Rcpp/internal/r_coerce.h>
 #include <Rcpp/as.h>
 
@@ -185,6 +151,7 @@
 
 #include <Rcpp/cache.h>
 
+
 // "Rcout" iostream class contributed by Jelmer Ypma
 #include <Rcpp/iostream/Rstreambuf.h>
 #include <Rcpp/iostream/Rostream.h>



More information about the Rcpp-commits mailing list