[Rcpp-devel] Pass an Rcpp module object to a method belonging to another module from R?

Grant Brown grant.brown73 at gmail.com
Wed Sep 10 02:56:29 CEST 2014


Hi folks,

I'm building several Rcpp modules which specify parts of a complicated
statistical model, and want to pass them to a main module for use. Is there
an easy way to do this?

Below is a simplified example, with question marks where I'm not sure what
to do. I've tried accepting a pointer to A, playing with using XPtrs, and a
bunch of things which made far less sense, but so far no luck.

Any suggestions or links to sections of the docs I should revisit would be
appreciated.

Thanks,
-Grant


## file: A.cpp

class A
{
public:
A();
~A();
};

class B
{
public:
B();
void DoSomethingWithInstanceOfA(???);
~B();
};

A::A()
{
// Do stuff
}

B::B()
{
// Do stuff
}

B::DoSomethingWithInstanceOfA(???)
{
// Do stuff
}

RCPP_MODULE(mod_A)
{
using namespace Rcpp;
class_<A>( "A" )
.constructor();
}

RCPP_MODULE(mod_B)
{
using namespace Rcpp;
class_<B>( "B" )
.constructor()
.method("DoSomethingWithInstanceOfA", &B::DoSomethingWithInstanceOfA);
}


### End pseduo c++ code
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20140909/55bebe3a/attachment.html>


More information about the Rcpp-devel mailing list