[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