|
CXXR (C++ R)
|
The SEXPTYPE enumeration. More...

Go to the source code of this file.
Enumerations | |
| enum | SEXPTYPE { NILSXP = 0, SYMSXP = 1, LISTSXP = 2, CLOSXP = 3, ENVSXP = 4, PROMSXP = 5, LANGSXP = 6, SPECIALSXP = 7, BUILTINSXP = 8, CHARSXP = 9, LGLSXP = 10, INTSXP = 13, REALSXP = 14, CPLXSXP = 15, STRSXP = 16, DOTSXP = 17, ANYSXP = 18, VECSXP = 19, EXPRSXP = 20, BCODESXP = 21, EXTPTRSXP = 22, WEAKREFSXP = 23, RAWSXP = 24, S4SXP = 25, CXXSXP = 43, BAILSXP = 44, FUNSXP = 99 } |
| CR's object type identification. More... | |
The SEXPTYPE enumeration.
| enum SEXPTYPE |
CR's object type identification.
This enumeration is used within CR to identify different types of R object. In CXXR the same purpose could be (and sometimes is) achieved by C++ run-time type information (RTTI), virtual function despatch etc. However, a SEXPTYPE field is retained within each CXXR::RObject for backwards compatibility, and indeed efficiency.
| NILSXP |
NULL. In CXXR no CXXR::RObject has this type, but for backward compatibility TYPEOF will return NILSXP if passed a null pointer. |
| SYMSXP |
symbols, implemented in class CXXR::Symbol. |
| LISTSXP |
lists of dotted pairs, implemented in class CXXR::PairList. |
| CLOSXP |
closures, implemented in class CXXR::Closure. |
| ENVSXP |
environments, implemented in class CXXR::Environment. |
| PROMSXP |
promises: [un]evaluated closure arguments, implemented in class CXXR::Promise. |
| LANGSXP |
language constructs (special lists), implemented in class CXXR::Expression. |
| SPECIALSXP |
special forms, implemented in class CXXR::BuiltInFunction. |
| BUILTINSXP |
builtin non-special forms, also implemented in class CXXR::BuiltInFunction. |
| CHARSXP |
"scalar" string type (internal only), implemented in class CXXR::String. |
| LGLSXP |
logical vectors, implemented in class CXXR::LogicalVector. |
| INTSXP |
integer vectors, implemented in class CXXR::IntVector. |
| REALSXP |
real variables, implemented in class CXXR::RealVector. |
| CPLXSXP |
complex variables, implemented in class CXXR::ComplexVector. |
| STRSXP |
string vectors, implemented in class CXXR::StringVector. |
| DOTSXP |
dot-dot-dot objects, implemented in class CXXR::DottedArgs. |
| ANYSXP |
Used to make "any" args work. No CXXR::RObject has this type. |
| VECSXP |
generic vectors, implemented in class CXXR::ListVector. |
| EXPRSXP |
expression vectors, implemented in class CXXR::ExpressionVector. |
| BCODESXP |
byte code, implemented in class CXXR::ByteCode. |
| EXTPTRSXP |
external pointers, implemented in class CXXR::ExternalPointer. |
| WEAKREFSXP |
weak references, implemented in class CXXR::WeakRef. |
| RAWSXP |
raw bytes, implemented in class CXXR::RawVector. |
| S4SXP |
S4 object not inheriting from another SEXPTYPE, implemented in class CXXR::S4Object. |
| CXXSXP |
object types specific to CXXR. |
| BAILSXP |
Object used to implement indirect flow of control in R without using a C++ exception. |
| FUNSXP |
Closure or Builtin. No CXXR::RObject has this type. |
1.8.1