[Rd] R_ext/Altrep.h should be more C++-friendly
Romain Francois
rom@in @ending from r@tudio@com
Wed Oct 10 10:57:49 CEST 2018
Thank you,
I updated my example package so that it works with both. https://github.com/romainfrancois/altrepisode/blob/96af0548a9ecc08701d119ea427e16940a82882b/src/altrepisode.h <https://github.com/romainfrancois/altrepisode/blob/96af0548a9ecc08701d119ea427e16940a82882b/src/altrepisode.h>
We have to do something like this unless we depend on R 3.6.0:
#if R_VERSION < R_Version(3, 6, 0)
#define class klass
extern "C" {
#include <R_ext/Altrep.h>
}
#undef class
#else
#include <R_ext/Altrep.h>
#endif
Romain
> Le 9 oct. 2018 à 05:09, Tierney, Luke <luke-tierney using uiowa.edu> a écrit :
>
> Thanks for the suggestion. Committed in R_devel.
>
> Best,
>
> luke
>
> On Mon, 8 Oct 2018, Michael Sannella wrote:
>
>> I am not able to #include "R_ext/Altrep.h" from a C++ file. I think
>> it needs two changes:
>>
>> 1. add the same __cplusplus check as most of the other header files:
>> #ifdef __cplusplus
>> extern "C" {
>> #endif
>> ...
>> #ifdef __cplusplus
>> }
>> #endif
>>
>> 2. change the line
>> R_new_altrep(R_altrep_class_t class, SEXP data1, SEXP data2);
>> to
>> R_new_altrep(R_altrep_class_t cls, SEXP data1, SEXP data2);
>> since C++ doesn't like an argument named 'class'
>>
>> ~~ Michael Sannella
>>
>>
>>
>
> --
> Luke Tierney
> Ralph E. Wareham Professor of Mathematical Sciences
> University of Iowa Phone: 319-335-3386
> Department of Statistics and Fax: 319-335-3017
> Actuarial Science
> 241 Schaeffer Hall email: luke-tierney using uiowa.edu
> Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
[[alternative HTML version deleted]]
More information about the R-devel
mailing list