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)