[Rd] R_ext/Altrep.h should be more C++-friendly

Romain Francois rom@in @ending from r@tudio@com
Tue Oct 9 17:25:55 CEST 2018


I successfully use this workaround in this package: https://github.com/romainfrancois/altrepisode

(which is just my way to get familiar with altrep, nothing serious)

> Le 9 oct. 2018 à 17:00, Gabe Becker <becker.gabe using gene.com> a écrit :
> 
> Michael,
> 
> Thanks for reaching out. This was brought up by Romaine Francois offline to me as well. What he does as a workaround is 
> 
> 
> #define class klass
> extern "C" {
>   #include <R_ext/Altrep.h>
> }
> #undef class
> 
> While we consider changing Altrep.h, the above should work for you  in the immediate term.
> 
> Let me know if it doesn't.
> 
> ~G
> 
> 
> 
> 
> 
>> On Mon, Oct 8, 2018 at 4:17 PM, Michael Sannella via R-devel <r-devel using r-project.org> 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
>> 
>>         [[alternative HTML version deleted]]
>> 
>> ______________________________________________
>> R-devel using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>> 
> 
> 
> 
> -- 
> Gabriel Becker, Ph.D
> Scientist
> Bioinformatics and Computational Biology
> Genentech Research

	[[alternative HTML version deleted]]



More information about the R-devel mailing list