@@ -201,6 +201,7 @@ namespace Rcpp{
201
201
202
202
template <typename Class>
203
203
class S4_CppConstructor : public Reference {
204
+ typedef Reference Base;
204
205
public:
205
206
typedef XPtr<class_Base> XP_Class ;
206
207
typedef Reference::Storage Storage ;
@@ -215,12 +216,13 @@ namespace Rcpp{
215
216
field ( " docstring" ) = m->docstring ;
216
217
}
217
218
218
- RCPP_CTOR_ASSIGN (S4_CppConstructor)
219
+ RCPP_CTOR_ASSIGN_WITH_BASE (S4_CppConstructor)
219
220
220
221
} ;
221
222
222
223
template <typename Class>
223
224
class S4_CppOverloadedMethods : public Rcpp ::Reference {
225
+ typedef Rcpp::Reference Base;
224
226
public:
225
227
typedef Rcpp::XPtr<class_Base> XP_Class ;
226
228
typedef SignedMethod<Class> signed_method_class ;
@@ -253,7 +255,7 @@ namespace Rcpp{
253
255
254
256
}
255
257
256
- RCPP_CTOR_ASSIGN (S4_CppOverloadedMethods)
258
+ RCPP_CTOR_ASSIGN_WITH_BASE (S4_CppOverloadedMethods)
257
259
258
260
} ;
259
261
@@ -317,6 +319,7 @@ namespace Rcpp{
317
319
318
320
template <typename Class>
319
321
class S4_field : public Rcpp ::Reference {
322
+ typedef Rcpp::Reference Base;
320
323
public:
321
324
typedef XPtr<class_Base> XP_Class ;
322
325
S4_field ( CppProperty<Class>* p, const XP_Class& class_xp ) : Reference( " C++Field" ){
@@ -328,7 +331,7 @@ namespace Rcpp{
328
331
field ( " docstring" ) = p->docstring ;
329
332
}
330
333
331
- RCPP_CTOR_ASSIGN (S4_field)
334
+ RCPP_CTOR_ASSIGN_WITH_BASE (S4_field)
332
335
333
336
} ;
334
337
@@ -377,6 +380,7 @@ namespace Rcpp {
377
380
}
378
381
379
382
class CppClass : public S4 {
383
+ typedef S4 Base;
380
384
public:
381
385
typedef XPtr<class_Base> XP_Class ;
382
386
typedef Rcpp::XPtr<Rcpp::Module> XP ;
@@ -401,19 +405,20 @@ namespace Rcpp {
401
405
slot ( " parents" ) = cl->parents ;
402
406
}
403
407
404
- RCPP_CTOR_ASSIGN (CppClass)
408
+ RCPP_CTOR_ASSIGN_WITH_BASE (CppClass)
405
409
406
410
} ;
407
411
408
412
class CppObject : public S4 {
413
+ typedef S4 Base;
409
414
public:
410
415
typedef Rcpp::XPtr<Rcpp::Module> XP ;
411
416
CppObject ( Module* p, class_Base* clazz, SEXP xp ) : S4(" C++Object" ) {
412
417
slot ( " module" ) = XP ( p, false ) ;
413
418
slot ( " cppclass" ) = Rcpp::XPtr<class_Base>( clazz, false ) ;
414
419
slot ( " pointer" ) = xp ;
415
420
}
416
- RCPP_CTOR_ASSIGN (CppObject)
421
+ RCPP_CTOR_ASSIGN_WITH_BASE (CppObject)
417
422
} ;
418
423
419
424
}
0 commit comments