[Rd] Is there any way to check the class of an ALTREP?

Benjamin Christoffersen boennecd @end|ng |rom gm@||@com
Mon Oct 19 11:38:33 CEST 2020


> You happened to send a link which points to the OP's own package :) I
> think Jiefei would like to know how one can "officially" determine if an
> arbitrary ALTERP object belongs to a class that he owns.
Argh, I am sorry! I did not notice that. My best bet for what I
thought the question was is section 1.1.2 of R Internals where they
note that: `unsigned int alt : 1; /* is this an ALTREP object? */`

This is also what the ALTREP macro checks. However, I also did not
notice the "... if an ALTREP object is from my package" part. I am
sorry.

Sincerely Yours,
Benjamin

Den man. 19. okt. 2020 kl. 11.25 skrev Dénes Tóth <toth.denes using kogentum.hu>:
>
> Benjamin,
>
> You happened to send a link which points to the OP's own package :) I
> think Jiefei would like to know how one can "officially" determine if an
> arbitrary ALTERP object belongs to a class that he owns.
>
> Regards,
> Denes
>
>
> On 10/19/20 10:22 AM, Benjamin Christoffersen wrote:
> > It seems as if you can you use the ALTREP macro as done in this
> > package: https://github.com/Jiefei-Wang/SharedObject/blob/804b6ac58c63a4bae95343ab43e8b1547b07ee6b/src/C_interface.cpp#L185
> >
> > and in base R: https://github.com/wch/r-source/blob/54fbdca9d3fc63437d9e697f442d32732fb4f443/src/include/Rinlinedfuns.h#L118
> >
> > The macro is defined here in Rinternals.h:
> > https://github.com/wch/r-source/blob/abb550c99b3927e5fc03d12f1a8e7593fddc04d2/src/include/Rinternals.h#L325
> >
> > Den man. 19. okt. 2020 kl. 10.13 skrev Jiefei Wang <szwjf08 using gmail.com>:
> >>
> >> Hi all,
> >>
> >> I would like to determine if an ALTREP object is from my package, I see
> >> there is a function `ALTREP_CLASS` defined in RInternal.h but its return
> >> value is neither a `R_altrep_class_t` object nor an STRSXP representing a
> >> class name. I do not know how to correctly use it. Any suggestions?
> >>
> >> Thanks,
> >> Jiefei
> >>
> >>          [[alternative HTML version deleted]]
> >>
> >> ______________________________________________
> >> R-devel using r-project.org mailing list
> >> https://stat.ethz.ch/mailman/listinfo/r-devel
> >
> > ______________________________________________
> > R-devel using r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
> >



More information about the R-devel mailing list