Loading...
Searching...
No Matches
Go to the documentation of this file.
18#ifndef Rcpp_macros_interface_h
19#define Rcpp_macros_interface_h
21#define RCPP_GENERATE_CTOR_ASSIGN(__CLASS__) \
22typedef StoragePolicy<__CLASS__> Storage ; \
23typedef AttributeProxyPolicy<__CLASS__> AttributePolicy ; \
24RCPP_CTOR_ASSIGN(__CLASS__)
26#define RCPP_CTOR_ASSIGN(__CLASS__) \
27__CLASS__( const __CLASS__& other ){ \
28 Storage::copy__(other) ; \
30__CLASS__& operator=(const __CLASS__& rhs) { \
31 return Storage::copy__(rhs) ; \
33template <typename Proxy> \
34__CLASS__( const GenericProxy<Proxy>& proxy ){ \
35 Storage::set__( proxy.get() ) ; \
38#define RCPP_CTOR_ASSIGN_WITH_BASE(__CLASS__) \
39 __CLASS__( const __CLASS__& other ) : Base(other) { \
41__CLASS__& operator=(const __CLASS__& rhs) { \
42 return Storage::copy__(rhs) ; \
44template <typename Proxy> \
45__CLASS__( const GenericProxy<Proxy>& proxy ){ \
46 Storage::set__( proxy.get() ) ; \
49#define RCPP_API_CLASS(__CLASS__) \
50template < template <class> class StoragePolicy > class __CLASS__ : \
51 public StoragePolicy<__CLASS__<StoragePolicy> >, \
52 public SlotProxyPolicy<__CLASS__<StoragePolicy> >, \
53 public AttributeProxyPolicy<__CLASS__<StoragePolicy> >, \
54 public RObjectMethods< __CLASS__<StoragePolicy> >