[Rcpp-devel] Create and access several instances of a C++ class from R
soeren.vogel at uzh.ch
soeren.vogel at uzh.ch
Fri May 13 16:11:36 CEST 2011
Hello
This posting continues the discussions from here:
https://stat.ethz.ch/pipermail/r-help/2011-April/276490.html
https://stat.ethz.ch/pipermail/r-devel/2011-May/060922.html
Following all recommendations, we have rewritten our class to use STL. However, I have been trying around with various changes, but I can't get it working with RCPP_MODULES. Also, the code snippets posted by Romain Francois did not help since we cannot use inline, rather we need raw C++ code that can be compiled using R CMD BUILD etc. Therefore, I kindly ask the experts here for an example adaption to the source below. I guess you experts instantly see what needs to be done next to make the code working. Could you please give tips for the next step?
Thank you
Regards
Sören
/* FOO_mod.cpp */
#include <Rcpp.h>
#include <vector>
#include <valarray>
using namespace std;
// from FOO.h
class FOO
{
double dtau;
vector<double> D, ee, ff, S;
public:
int M;
vector<double> C, t, s, par;
vector<int> y;
FOO();
~FOO();
double do_bar(vector<double> z);
};
// from FOO.cpp
double FOO::do_bar(vector<double> z)
{
// whatever it does
}
RCPP_MODULE(mod_foo){
using namespace Rcpp ;
class_<FOO>( "FOO" )
.constructor()
.field( "M" , &FOO::M )
.field( "C" , &FOO::C )
.method( "do_bar", &FOO::do_bar )
;
}
More information about the Rcpp-devel
mailing list