Thanks, I'm taking the approach of the default constructor with an initializer function. That seems to be a reasonable workaround.
Oh and BTW I was not using Notepad++ for some reason I was not able to copy and paste from vim into chrome. Notepad++ does great indenting although not quite as good as vim. I'm right now developing on Ubuntu, since CUDA works much easier on it. -Andrew On Wed, Oct 27, 2010 at 7:36 PM, Romain Francois <rom...@r-enthusiasts.com>wrote: > Le 27/10/10 12:32, Andrew Redd a écrit : > > Is it possible with Rcpp Modules to have a class that does not have a >> default constructor? Consider this example >> ----- >> #include <R.h> >> #include <Rcpp.h> >> class c1{ >> private: >> int n; >> int * x; >> c1(); >> public: >> c1(int n):n(n){} >> int getn(){return n;} >> }; >> RCPP_MODULE(c1){ >> using namespace Rcpp; >> class_<c1>("c1") >> .property("n",&c1::getn) >> ; >> } >> ----- >> Here I have a class that I do not want to allow to initialize without >> specifying n. Yes it does not do anything but the question is related >> to a class where constructors and destructors allocate and free special >> memory. And Yes I know that this fails on compile since c1() is >> private. Can Rcpp handle this kind of setup? If not suggestions about >> workarounds? >> >> thanks, >> Andrew >> > > At the moment, classes that are exposed through Rcpp modules require > default constructors. > > We need to take some inspiration from boost.python again to allow other > constructors. e.g. > http://www.boost.org/doc/libs/1_44_0/libs/python/doc/tutorial/doc/html/python/exposing.html#python.constructors > > This has been on our list for some time now. Not sure when we will have > this. Additional resources are welcome. > > Romain > >
_______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel