Loading...
Searching...
No Matches
 
 
 
 
Go to the documentation of this file.
   22#ifndef RCPP_MODULE_MACROS_H 
   23#define RCPP_MODULE_MACROS_H 
   29#define RCPP_EXPOSED_AS(CLASS)                                                \ 
   30    namespace Rcpp{ namespace traits{                                         \ 
   31    template<> struct r_type_traits< CLASS* >{                                \ 
   32        typedef r_type_module_object_pointer_tag r_category ;                 \ 
   34    template<> struct r_type_traits< const CLASS* >{                          \ 
   35        typedef r_type_module_object_const_pointer_tag r_category ;           \ 
   37    template<> struct r_type_traits< CLASS >{                                 \ 
   38        typedef r_type_module_object_tag r_category ;                         \ 
   40    template<> struct r_type_traits< CLASS& >{                                \ 
   41        typedef r_type_module_object_reference_tag r_category ;               \ 
   43    template<> struct r_type_traits< const CLASS& >{                          \ 
   44        typedef r_type_module_object_const_reference_tag r_category ;         \ 
   46    template<> struct input_parameter< CLASS* >{                              \ 
   47        typedef Rcpp::InputParameter<CLASS*> type ;                           \ 
   49    template<> struct input_parameter< const CLASS* >{                        \ 
   50        typedef Rcpp::InputParameter<const CLASS*> type ;                     \ 
   52    template<> struct input_parameter< CLASS >{                               \ 
   53        typedef Rcpp::InputParameter<CLASS> type ;                            \ 
   55    template<> struct input_parameter< CLASS& >{                              \ 
   56        typedef Rcpp::InputParameter<CLASS&> type ;                           \ 
   58    template<> struct input_parameter< const CLASS& >{                        \ 
   59        typedef Rcpp::InputParameter<const CLASS&> type ;                     \ 
 
   63#define RCPP_EXPOSED_WRAP(CLASS) namespace Rcpp{ namespace traits{ template<> struct wrap_type_traits< CLASS >{typedef wrap_type_module_object_tag wrap_category ; } ; }} 
   65#define RCPP_EXPOSED_CLASS_NODECL(CLASS) \ 
   66  RCPP_EXPOSED_AS(CLASS)          \ 
   67  RCPP_EXPOSED_WRAP(CLASS) 
 
   69#define RCPP_EXPOSED_CLASS(CLASS) \ 
   71  RCPP_EXPOSED_CLASS_NODECL(CLASS) 
 
   76#define RCPP_EXPOSED_ENUM_AS(CLASS)   namespace Rcpp{ namespace traits{ template<> struct r_type_traits< CLASS >{ typedef r_type_enum_tag r_category ; } ; }} 
   77#define RCPP_EXPOSED_ENUM_WRAP(CLASS) namespace Rcpp{ namespace traits{ template<> struct wrap_type_traits< CLASS >{typedef wrap_type_enum_tag wrap_category ; } ; }} 
   79#define RCPP_EXPOSED_ENUM_NODECL(CLASS) \ 
   80  RCPP_EXPOSED_ENUM_AS(CLASS)          \ 
   81  RCPP_EXPOSED_ENUM_WRAP(CLASS) 
 
   83#define RCPP_EXPOSED_ENUM(CLASS) \ 
   85  RCPP_EXPOSED_ENUM_NODECL(CLASS)