[Rcpp-devel] How to access fields and methods of a RefClass from C++?
Anwar Ludin
anwar.ludin at riskcetera.com
Tue May 28 23:14:09 CEST 2013
Hello,
I have a Reference class defined in R that I am passing as a parameter
to a C++ class using Rcpp. I am trying to access the fields of the
Reference class from C++ and I'm not sure how to do this.
instrument.R:
Instrument <-setRefClass(
Class="Instrument",
fields=list("id"="character", "description"="character")
)
Instrument$accessors(c("id", "description"))
PricingEngine.cpp:
#include <Rcpp.h>
class PricingEngine;
RCPP_EXPOSED_CLASS(PricingEngine)
using namespace Rcpp;
class PricingEngine{
public:
PricingEngine(){};
virtual ~PricingEngine(){};
double price(SEXP value){
Rcpp::S4 obj(value);
// How do I check that SEXP is an instance of Instrument
// How do use accessors and fields of Instrument?
// do pricing here
return price;
}
};
RCPP_MODULE(riskceteraPricing) {
class_<PricingEngine>("PricingEngine")
.constructor()
.method("price", &PricingEngine::price)
;
}
// R REPL
instrument <- Instrument$new(id="AAPL", description="Apple")
pricingEngine <- new(PricingEngine)
price <- pricingEngine$price(instrument)
More information about the Rcpp-devel
mailing list