Thanks to you and to Andrew for the responses. I will put the module declaration in a separate .cpp file.
On Tue, Nov 16, 2010 at 2:50 AM, Romain Francois <rom...@r-enthusiasts.com> wrote: > Le 16/11/10 03:50, Douglas Bates a écrit : >> >> Is there any guidance on where to put RCPP_MODULE declarations in >> package sources? I'm working on the assumption of one module per >> package but the module itself can contain multiple class or function >> declarations. Is one module per package reasonable or would there be >> a reason for multiple modules in a package? >> >> I typically keep class declarations and definitions in separate files, >> usually one class per pair of files. To me it seems that the module >> declaration belongs in a header file but I haven't looked closely at >> what it expands to. Should it be in a header file or a .cpp source >> code file? > > I know from previous conversations that this might not be of interest, but > here's the definition of RCPP_MODULE anyway: > > #define RCPP_MODULE(name) \ > void _rcpp_module_##name##_init() ; \ > static Rcpp::Module _rcpp_module_##name( # name ) ; \ > extern "C" SEXP _rcpp_module_boot_##name(){ \ > ::setCurrentScope( & _rcpp_module_##name ) ; \ > _rcpp_module_##name##_init( ) ; \ > Rcpp::XPtr<Rcpp::Module> mod_xp( & _rcpp_module_##name , false ) ; \ > ::setCurrentScope( 0 ) ; \ > return mod_xp ; \ > } \ > void _rcpp_module_##name##_init() > > > > I'm specially concerned about the "static" in the third line. I think for > that reason, it has to be in a .cpp file. > > I would declare classes and functions in headers, define them in a .cpp file > and module them in a separate file. > > There is no design restrictions about the number of modules per package, so > if it does not work it is a bug. I simply have not tried it as I'm happy > with a single one. > > Romain > > -- > Romain Francois > Professional R Enthusiast > +33(0) 6 28 91 30 30 > http://romainfrancois.blog.free.fr > |- http://bit.ly/9VOd3l : ZAT! 2010 > |- http://bit.ly/c6DzuX : Impressionnism with R > `- http://bit.ly/czHPM7 : Rcpp Google tech talk on youtube > > > _______________________________________________ > 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 > _______________________________________________ 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