CXXR (C++ R) API
|
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. |