[Rcpp-devel] Exposing constructors with same number of arguments with different types using Rcpp Modules

Dirk Eddelbuettel edd at debian.org
Sat May 14 17:20:07 CEST 2011

On 13 May 2011 at 11:58, Dirk Eddelbuettel wrote:
| On 13 May 2011 at 16:35, Jelmer Ypma wrote:
| | Dear Rcpp-list,
| | 
| | I'm trying to expose multiple constructors of a C++ class to R using
| | modules. Here is an example of what I want to do based on the Uniform
| | example


| | Compilation works fine (on Windows using RTools, Rcpp_0.9.4.1,
| | inline_0.3.8), but the R code cannot distinguish between two
| | constructors with the same number of arguments, but with different
| | types for the arguments and always calls Uniform(double, double). The
| If I recall correctly, we have determined that this cannot work. It is one of
| these 'obvious in hindsight' issue.  Recall that R does the dispatch, and R
| cannot differentiate between  foo(double) and  foo(int)  as it is not typed.
| So I think you will have to differentiate the constructors by name. Sorry
| about that, but even Rcpp modules has its limits.
| And I may of course be wrong too in which case Romain may come in and
| clarify.

I got a brief word in with Romain who clarified that this ought to be
possible but may not be right now.  So stay tuned -- with some luck Romain
may be able to improve on what we currently have.

In the meantime you may have to make do with different setter functions.


Gauss once played himself in a zero-sum game and won $50.
                      -- #11 at http://www.gaussfacts.com

More information about the Rcpp-devel mailing list