[Rcpp-devel] Is 10.1 intentionally stricter than 9.15?

romain at r-enthusiasts.com romain at r-enthusiasts.com
Thu Dec 13 23:24:02 CET 2012


Le 2012-12-13 23:09, John Merrill a écrit :
> I just built a source package on a 0.10.1 box for the first time;
> previously, I'd always built it on 0.9.15 boxes.  I was surprised to
> see that I now need to do string comparisons to character SEXP's 
> using
> the CHAR() macro; previously, I'd been able to use the SEXP from a
> StringVector directly.
>
> I'm not complaining about this -- the code before was at least
> technically wrong.  I just don't remember an announcement that this
> change was happening, and I'd like to know if it was intentional.

I'm suspecting this is related to iterator over CharacterVector ?

I've changed the type that is returned by the 
`CharacterVector::operator[](int) const` from string_proxy to SEXP (I 
did it for performance reasons), but maybe it was not a good idea. It 
only affects you if you work on a const CharacterVector&, do you ?

Perhaps the new Rcpp::String class can help you.


Can you show some examples ? The intention is (and has always been) to 
hide the macros from the R API so this is not expected.

Romain


More information about the Rcpp-devel mailing list