CXXR (C++ R)
|
(As described in 'Writing R Extensions'.) More...
#include <cstdio>
#include <climits>
#include <R_ext/Arith.h>
#include <R_ext/Error.h>
#include <R_ext/Memory.h>
#include <R_ext/PrtUtil.h>
#include <R_ext/Utils.h>
#include <R_ext/libextern.h>
#include "CXXR/Closure.h"
#include "CXXR/ComplexVector.h"
#include "CXXR/DotInternal.h"
#include "CXXR/GCRoot.h"
#include "CXXR/Environment.h"
#include "CXXR/Expression.h"
#include "CXXR/ExpressionVector.h"
#include "CXXR/ExternalPointer.h"
#include "CXXR/IntVector.h"
#include "CXXR/ListVector.h"
#include "CXXR/LogicalVector.h"
#include "CXXR/PairList.h"
#include "CXXR/Promise.h"
#include "CXXR/ProtectStack.h"
#include "CXXR/RawVector.h"
#include "CXXR/RealVector.h"
#include "CXXR/S4Object.h"
#include "CXXR/String.h"
#include "CXXR/StringVector.h"
#include "CXXR/Symbol.h"
#include "CXXR/WeakRef.h"
Go to the source code of this file.
Namespaces | |
namespace | CXXR |
Namespace for the CXXR project. |
Macros | |
#define | NEWSXP 30 /* fresh node creaed in new page */ |
#define | FREESXP 31 /* node released by GC */ |
#define | CHAR(x) R_CHAR(x) |
#define | CONS(a, b) Rf_cons((a), (b)) /* data lists */ |
#define | LCONS(a, b) Rf_lcons((a), (b)) /* language lists */ |
#define | EXTPTR_PTR(x) R_ExternalPtrAddr(x) |
#define | EXTPTR_PROT(x) R_ExternalPtrProtected(x) |
#define | EXTPTR_TAG(x) R_ExternalPtrTag(x) |
#define | isByteCode(x) (TYPEOF(x)==BCODESXP) |
#define | PROTECT(s) Rf_protect(s) |
#define | UNPROTECT(n) Rf_unprotect(n) |
#define | UNPROTECT_PTR(s) Rf_unprotect_ptr(s) |
#define | PROTECT_WITH_INDEX(x, i) R_ProtectWithIndex(x,i) |
#define | REPROTECT(x, i) R_Reprotect(x,i) |
#define | R_NilValue NULL |
#define | NA_STRING R_NaString |
#define | error_return(msg) { Rf_error(msg); return R_NilValue; } |
#define | errorcall_return(cl, msg) { Rf_errorcall(cl, msg); return R_NilValue; } |
#define | BODY_EXPR(e) R_ClosureExpr(e) |
#define | R_XDR_DOUBLE_SIZE 8 |
#define | R_XDR_INTEGER_SIZE 4 |
#define | acopy_string Rf_acopy_string |
#define | alloc3DArray Rf_alloc3DArray |
#define | allocArray Rf_allocArray |
#define | allocList Rf_allocList |
#define | allocMatrix Rf_allocMatrix |
#define | allocS4Object Rf_allocS4Object |
#define | allocSExp Rf_allocSExp |
#define | allocVector Rf_allocVector |
#define | any_duplicated Rf_any_duplicated |
#define | any_duplicated3 Rf_any_duplicated3 |
#define | arraySubscript Rf_arraySubscript |
#define | asChar Rf_asChar |
#define | asCharacterFactor Rf_asCharacterFactor |
#define | asComplex Rf_asComplex |
#define | asInteger Rf_asInteger |
#define | asLogical Rf_asLogical |
#define | asReal Rf_asReal |
#define | asS4 Rf_asS4 |
#define | classgets Rf_classgets |
#define | coerceVector Rf_coerceVector |
#define | conformable Rf_conformable |
#define | cons Rf_cons |
#define | copyMatrix Rf_copyMatrix |
#define | copyMostAttrib Rf_copyMostAttrib |
#define | copyVector Rf_copyVector |
#define | CreateTag Rf_CreateTag |
#define | defineVar Rf_defineVar |
#define | dimgets Rf_dimgets |
#define | dimnamesgets Rf_dimnamesgets |
#define | DropDims Rf_DropDims |
#define | duplicate Rf_duplicate |
#define | duplicated Rf_duplicated |
#define | elt Rf_elt |
#define | errorcall Rf_errorcall |
#define | eval Rf_eval |
#define | findFun Rf_findFun |
#define | findVar Rf_findVar |
#define | findVarInFrame Rf_findVarInFrame |
#define | findVarInFrame3 Rf_findVarInFrame3 |
#define | GetArrayDimnames Rf_GetArrayDimnames |
#define | getAttrib Rf_getAttrib |
#define | getCharCE Rf_getCharCE |
#define | GetColNames Rf_GetColNames |
#define | GetMatrixDimnames Rf_GetMatrixDimnames |
#define | GetOption1 Rf_GetOption1 |
#define | GetOptionDigits Rf_GetOptionDigits |
#define | GetOptionWidth Rf_GetOptionWidth |
#define | GetOption Rf_GetOption |
#define | GetRowNames Rf_GetRowNames |
#define | gsetVar Rf_gsetVar |
#define | inherits Rf_inherits |
#define | install Rf_install |
#define | isArray Rf_isArray |
#define | isBasicClass Rf_isBasicClass |
#define | isComplex Rf_isComplex |
#define | isEnvironment Rf_isEnvironment |
#define | isExpression Rf_isExpression |
#define | isFactor Rf_isFactor |
#define | isFrame Rf_isFrame |
#define | isFree Rf_isFree |
#define | isFunction Rf_isFunction |
#define | isInteger Rf_isInteger |
#define | isLanguage Rf_isLanguage |
#define | isList Rf_isList |
#define | isLogical Rf_isLogical |
#define | isSymbol Rf_isSymbol |
#define | isMatrix Rf_isMatrix |
#define | isNewList Rf_isNewList |
#define | isNull Rf_isNull |
#define | isNumeric Rf_isNumeric |
#define | isNumber Rf_isNumber |
#define | isObject Rf_isObject |
#define | isOrdered Rf_isOrdered |
#define | isPairList Rf_isPairList |
#define | isPrimitive Rf_isPrimitive |
#define | isReal Rf_isReal |
#define | isS4 Rf_isS4 |
#define | isString Rf_isString |
#define | isTs Rf_isTs |
#define | isUnordered Rf_isUnordered |
#define | isUnsorted Rf_isUnsorted |
#define | isUserBinop Rf_isUserBinop |
#define | isValidString Rf_isValidString |
#define | isValidStringF Rf_isValidStringF |
#define | isVector Rf_isVector |
#define | isVectorAtomic Rf_isVectorAtomic |
#define | isVectorizable Rf_isVectorizable |
#define | isVectorList Rf_isVectorList |
#define | lang1 Rf_lang1 |
#define | lang2 Rf_lang2 |
#define | lang3 Rf_lang3 |
#define | lang4 Rf_lang4 |
#define | lang5 Rf_lang5 |
#define | lang6 Rf_lang6 |
#define | lastElt Rf_lastElt |
#define | lcons Rf_lcons |
#define | lengthgets Rf_lengthgets |
#define | list1 Rf_list1 |
#define | list2 Rf_list2 |
#define | list3 Rf_list3 |
#define | list4 Rf_list4 |
#define | list5 Rf_list5 |
#define | listAppend Rf_listAppend |
#define | match Rf_match |
#define | matchE Rf_matchE |
#define | mkChar Rf_mkChar |
#define | mkCharCE Rf_mkCharCE |
#define | mkCharLen Rf_mkCharLen |
#define | mkCharLenCE Rf_mkCharLenCE |
#define | mkNamed Rf_mkNamed |
#define | mkString Rf_mkString |
#define | namesgets Rf_namesgets |
#define | ncols Rf_ncols |
#define | nlevels Rf_nlevels |
#define | NonNullStringMatch Rf_NonNullStringMatch |
#define | nrows Rf_nrows |
#define | nthcdr Rf_nthcdr |
#define | PairToVectorList Rf_PairToVectorList |
#define | pmatch Rf_pmatch |
#define | psmatch Rf_psmatch |
#define | PrintValue Rf_PrintValue |
#define | protect Rf_protect |
#define | reEnc Rf_reEnc |
#define | rownamesgets Rf_rownamesgets |
#define | S3Class Rf_S3Class |
#define | ScalarComplex Rf_ScalarComplex |
#define | ScalarInteger Rf_ScalarInteger |
#define | ScalarLogical Rf_ScalarLogical |
#define | ScalarReal Rf_ScalarReal |
#define | ScalarString Rf_ScalarString |
#define | ScalarRaw Rf_ScalarRaw |
#define | setAttrib Rf_setAttrib |
#define | setSVector Rf_setSVector |
#define | setVar Rf_setVar |
#define | str2type Rf_str2type |
#define | StringBlank Rf_StringBlank |
#define | substitute Rf_substitute |
#define | translateChar Rf_translateChar |
#define | translateChar0 Rf_translateChar0 |
#define | translateCharUTF8 Rf_translateCharUTF8 |
#define | type2char Rf_type2char |
#define | type2str Rf_type2str |
#define | unprotect Rf_unprotect |
#define | unprotect_ptr Rf_unprotect_ptr |
#define | VectorToPairList Rf_VectorToPairList |
#define | warningcall Rf_warningcall |
#define | warningcall_immediate Rf_warningcall_immediate |
Typedefs | |
typedef void * | R_pstream_data_t |
typedef struct R_outpstream_st * | R_outpstream_t |
typedef struct R_inpstream_st * | R_inpstream_t |
Enumerations | |
enum | R_pstream_format_t { R_pstream_any_format, R_pstream_ascii_format, R_pstream_binary_format, R_pstream_xdr_format } |
Functions | |
const char *() | R_CHAR (SEXP x) |
Access the content of CXXR::String as a C-style string. | |
Rboolean() | Rf_isNull (SEXP s) |
Is this the null object pointer? | |
Rboolean() | Rf_isSymbol (SEXP s) |
Test if SYMSXP. | |
Rboolean() | Rf_isLogical (SEXP s) |
Rboolean() | Rf_isReal (SEXP s) |
Rboolean() | Rf_isComplex (SEXP s) |
Rboolean() | Rf_isExpression (SEXP s) |
Rboolean() | Rf_isEnvironment (SEXP s) |
Is this a CXXR::Environment? | |
Rboolean() | Rf_isString (SEXP s) |
Rboolean() | Rf_isObject (SEXP s) |
Does an object have a class attribute? | |
SEXP() | ATTRIB (SEXP x) |
Get the attributes of a CXXR::RObject. | |
Rboolean() | OBJECT (SEXP x) |
Does an object have a class attribute? | |
int() | MARK (SEXP x) |
SEXPTYPE() | TYPEOF (SEXP x) |
Get object's SEXPTYPE. | |
int() | NAMED (SEXP x) |
Get object copying status. | |
void() | SET_NAMED (SEXP x, int v) |
Set object copying status. | |
void | SET_ATTRIB (SEXP x, SEXP v) |
Replace an object's attributes. | |
void | DUPLICATE_ATTRIB (SEXP to, SEXP from) |
Replace the attributes of to by those of from. | |
Rboolean() | IS_S4_OBJECT (SEXP x) |
Is this an S4 object? | |
void() | SET_S4_OBJECT (SEXP x) |
void() | UNSET_S4_OBJECT (SEXP x) |
int() | LENGTH (SEXP x) |
int() | TRUELENGTH (SEXP x) |
void() | SETLENGTH (SEXP x, int v) |
void() | SET_TRUELENGTH (SEXP x, int v) |
int() | LEVELS (SEXP x) |
(For use only in serialization.) | |
int() | SETLEVELS (SEXP x, int v) |
(For use only in deserialization.) | |
int *() | LOGICAL (SEXP x) |
int *() | INTEGER (SEXP x) |
Rbyte *() | RAW (SEXP x) |
double *() | REAL (SEXP x) |
Rcomplex *() | COMPLEX (SEXP x) |
SEXP() | STRING_ELT (SEXP x, int i) |
Examine element of a CXXR::StringVector. | |
SEXP() | VECTOR_ELT (SEXP x, int i) |
Examine element of CXXR::ListVector. | |
void | SET_STRING_ELT (SEXP x, int i, SEXP v) |
Set element of CXXR::StringVector. | |
SEXP | SET_VECTOR_ELT (SEXP x, int i, SEXP v) |
Set element of CXXR::ListVector. | |
SEXP() | TAG (SEXP e) |
Get tag of CXXR::ConsCell. | |
SEXP() | CAR (SEXP e) |
Get car of CXXR::ConsCell. | |
SEXP() | CDR (SEXP e) |
Get tail of CXXR::ConsCell. | |
SEXP() | CAAR (SEXP e) |
Equivalent to CAR(CAR(e)). | |
SEXP() | CDAR (SEXP e) |
Equivalent to CDR(CAR(e)). | |
SEXP() | CADR (SEXP e) |
Equivalent to CAR(CDR(e)). | |
SEXP() | CDDR (SEXP e) |
Equivalent to CDR(CDR(e)). | |
SEXP() | CADDR (SEXP e) |
Equivalent to CAR(CDR(CDR(e))). | |
SEXP() | CADDDR (SEXP e) |
Equivalent to CAR(CDR(CDR(CDR(e)))). | |
SEXP() | CAD4R (SEXP e) |
Equivalent to CAR(CDR(CDR(CDR(CDR(e))))). | |
int() | MISSING (SEXP x) |
void() | SET_MISSING (SEXP x, int v) |
void | SET_TAG (SEXP x, SEXP y) |
Set the tag of a CXXR::ConsCell. | |
SEXP | SETCAR (SEXP x, SEXP y) |
Set the 'car' value of a CXXR::ConsCell. | |
SEXP | SETCDR (SEXP x, SEXP y) |
Replace the tail of a CXXR::ConsCell. | |
SEXP | SETCADR (SEXP x, SEXP y) |
Set the 'car' value of the second element of list. | |
SEXP | SETCADDR (SEXP x, SEXP y) |
Set the 'car' value of the third element of list. | |
SEXP | SETCADDDR (SEXP x, SEXP y) |
Set the 'car' value of the fourth element of list. | |
SEXP | SETCAD4R (SEXP e, SEXP y) |
Set the 'car' value of the fifth element of list. | |
SEXP() | FORMALS (SEXP x) |
Access formal arguments of a CXXR::Closure. | |
SEXP() | BODY (SEXP x) |
Access the body of a CXXR::Closure. | |
SEXP() | CLOENV (SEXP x) |
Access the environment of a CXXR::Closure. | |
Rboolean() | RDEBUG (SEXP x) |
Query debugging status. | |
int() | RSTEP (SEXP x) |
int() | RTRACE (SEXP x) |
Get function tracing status. | |
void() | SET_RDEBUG (SEXP x, Rboolean v) |
void() | SET_RSTEP (SEXP x, int v) |
void() | SET_RTRACE (SEXP x, int v) |
Set function tracing status. | |
void | SET_CLOENV (SEXP x, SEXP v) |
Replace the environment of a closure. | |
SEXP() | PRINTNAME (SEXP x) |
Symbol name. | |
SEXP() | SYMVALUE (SEXP x) |
Symbol's value in the base environment. | |
SEXP() | INTERNAL (SEXP x) |
Get function accessed via .Internal() . | |
Rboolean() | DDVAL (SEXP x) |
Does symbol relate to a ... expression? | |
void() | SET_DDVAL (SEXP x, int v) |
void | SET_PRINTNAME (SEXP x, SEXP v) |
void | SET_SYMVALUE (SEXP x, SEXP v) |
Set symbol's value in the base environment. | |
void | SET_INTERNAL (SEXP x, SEXP v) |
Associate a Symbol with a .Internal() function. | |
SEXP() | FRAME (SEXP x) |
Access an environment's Frame, represented as a PairList. | |
SEXP() | ENCLOS (SEXP x) |
Access enclosing environment. | |
SEXP() | PRCODE (SEXP x) |
Access the expression of a CXXR::Promise. | |
SEXP() | PRENV (SEXP x) |
Access the environment of a CXXR::Promise. | |
SEXP() | PRVALUE (SEXP x) |
Access the value of a CXXR::Promise. | |
void | SET_PRVALUE (SEXP x, SEXP v) |
Set the value of a CXXR::Promise. | |
void | SET_PRSEEN (SEXP x, int v) |
int() | HASHVALUE (SEXP x) |
SEXP | R_GetCurrentSrcref (int) |
SEXP | R_GetSrcFilename (SEXP) |
SEXP | Rf_asChar (SEXP) |
SEXP | Rf_coerceVector (SEXP, SEXPTYPE) |
SEXP | Rf_PairToVectorList (SEXP x) |
SEXP | Rf_VectorToPairList (SEXP x) |
SEXP | Rf_asCharacterFactor (SEXP x) |
int | Rf_asLogical (SEXP x) |
int | Rf_asInteger (SEXP x) |
double | Rf_asReal (SEXP x) |
Rcomplex | Rf_asComplex (SEXP x) |
char * | Rf_acopy_string (const char *) |
SEXP | Rf_alloc3DArray (SEXPTYPE, int, int, int) |
SEXP | Rf_allocArray (SEXPTYPE, SEXP) |
SEXP | Rf_allocMatrix (SEXPTYPE, int, int) |
SEXP | Rf_allocList (unsigned int) |
Create a CXXR::PairList of a specified length. | |
SEXP | Rf_allocS4Object (void) |
Create an S4 object. | |
SEXP | Rf_allocSExp (SEXPTYPE) |
Create an object of a type derived from CXXR::ConsCell. | |
SEXP | Rf_allocVector (SEXPTYPE, R_len_t) |
int | Rf_any_duplicated (SEXP x, Rboolean from_last) |
int | Rf_any_duplicated3 (SEXP x, SEXP incomp, Rboolean from_last) |
SEXP | Rf_arraySubscript (int, SEXP, SEXP, SEXP(*)(SEXP, SEXP), SEXP(*)(SEXP, int), SEXP) |
SEXP | Rf_classgets (SEXP, SEXP) |
SEXP | Rf_cons (SEXP, SEXP) |
Creates a CXXR::PairList with a specified car and tail. | |
void | Rf_copyMatrix (SEXP, SEXP, Rboolean) |
void | Rf_copyMostAttrib (SEXP, SEXP) |
void | Rf_copyVector (SEXP, SEXP) |
SEXP | Rf_CreateTag (SEXP) |
void | Rf_defineVar (SEXP, SEXP, SEXP) |
SEXP | Rf_dimgets (SEXP, SEXP) |
SEXP | Rf_dimnamesgets (SEXP, SEXP) |
SEXP | Rf_DropDims (SEXP) |
SEXP | Rf_duplicate (SEXP) |
SEXP | Rf_duplicated (SEXP, Rboolean) |
SEXP | Rf_eval (SEXP, SEXP) |
Evaluate an object in a specified Environment. | |
SEXP | Rf_findFun (SEXP, SEXP) |
SEXP | Rf_findVar (SEXP, SEXP) |
SEXP | Rf_findVarInFrame (SEXP, SEXP) |
SEXP | Rf_findVarInFrame3 (SEXP, SEXP, Rboolean) |
SEXP | Rf_getAttrib (SEXP, SEXP) |
SEXP | Rf_GetArrayDimnames (SEXP) |
SEXP | Rf_GetColNames (SEXP) |
void | Rf_GetMatrixDimnames (SEXP, SEXP *, SEXP *, const char **, const char **) |
SEXP | Rf_GetOption (SEXP, SEXP) |
SEXP | Rf_GetOption1 (SEXP) |
int | Rf_GetOptionDigits (void) |
int | Rf_GetOptionWidth (void) |
SEXP | Rf_GetRowNames (SEXP) |
void | Rf_gsetVar (SEXP, SEXP, SEXP) |
SEXP | Rf_install (const char *) |
Get a pointer to a regular Symbol object. | |
Rboolean | Rf_isFree (SEXP) |
Rboolean | Rf_isOrdered (SEXP) |
Rboolean | Rf_isUnordered (SEXP) |
Rboolean | Rf_isUnsorted (SEXP, Rboolean) |
SEXP | Rf_lengthgets (SEXP, R_len_t) |
SEXP | R_lsInternal (SEXP, Rboolean) |
SEXP | Rf_match (SEXP, SEXP, int) |
SEXP | Rf_matchE (SEXP, SEXP, int, SEXP) |
SEXP | Rf_namesgets (SEXP, SEXP) |
SEXP | Rf_mkChar (const char *) |
Get a pointer to a CXXR::String object. | |
SEXP | Rf_mkCharLen (const char *, int) |
Create a CXXR::String object for specified text. | |
Rboolean | Rf_NonNullStringMatch (SEXP, SEXP) |
int | Rf_ncols (SEXP) |
int | Rf_nrows (SEXP) |
SEXP | Rf_nthcdr (SEXP, int) |
Rboolean | Rf_pmatch (SEXP, SEXP, Rboolean) |
Rboolean | Rf_psmatch (const char *, const char *, Rboolean) |
void | Rf_PrintValue (SEXP) |
SEXP | Rf_protect (SEXP) |
Push a node pointer onto the C pointer protection stack. | |
SEXP | Rf_setAttrib (SEXP, SEXP, SEXP) |
void | Rf_setSVector (SEXP *, int, SEXP) |
void | Rf_setVar (SEXP, SEXP, SEXP) |
SEXPTYPE | Rf_str2type (const char *) |
Rboolean | Rf_StringBlank (SEXP) |
SEXP | Rf_substitute (SEXP, SEXP) |
const char * | Rf_translateChar (SEXP) |
const char * | Rf_translateChar0 (SEXP) |
const char * | Rf_translateCharUTF8 (SEXP) |
const char * | Rf_type2char (SEXPTYPE) |
SEXP | Rf_type2str (SEXPTYPE) |
void | Rf_unprotect (int) |
Pop cells from the C pointer protection stack. | |
void | Rf_unprotect_ptr (SEXP) |
Remove entry from pointer protection stack. | |
void | R_ProtectWithIndex (SEXP, PROTECT_INDEX *) |
Push a node pointer onto the C pointer protection stack. | |
void | R_Reprotect (SEXP, PROTECT_INDEX) |
Retarget a cell in the C pointer protection stack. | |
SEXP | R_tryEval (SEXP, SEXP, int *) |
SEXP | R_tryEvalSilent (SEXP, SEXP, int *) |
const char * | R_curErrorBuf () |
Rboolean | Rf_isS4 (SEXP) |
SEXP | Rf_asS4 (SEXP, Rboolean, int) |
SEXP | Rf_S3Class (SEXP) |
int | Rf_isBasicClass (const char *) |
cetype_t | Rf_getCharCE (SEXP) |
SEXP | Rf_mkCharCE (const char *, cetype_t) |
Get a pointer to a CXXR::String object. | |
SEXP | Rf_mkCharLenCE (const char *, int, cetype_t) |
Create a CXXR::String object for specified text and encoding. | |
const char * | Rf_reEnc (const char *x, cetype_t ce_in, cetype_t ce_out, int subst) |
SEXP | R_MakeExternalPtr (void *p, SEXP tag, SEXP prot) |
Create a CXXR::ExternalPointer object. | |
void * | R_ExternalPtrAddr (SEXP s) |
Get the encapsulated external pointer. | |
SEXP | R_ExternalPtrTag (SEXP s) |
Get pointer to tag object. | |
SEXP | R_ExternalPtrProtected (SEXP s) |
Get pointer to protege object. | |
void | R_ClearExternalPtr (SEXP s) |
Reset the encapsulated pointer to a null pointer. | |
void | R_SetExternalPtrAddr (SEXP s, void *p) |
Set the value of the encapsulated pointer. | |
void | R_SetExternalPtrTag (SEXP s, SEXP tag) |
Designate the tag object. | |
void | R_SetExternalPtrProtected (SEXP s, SEXP p) |
Designate the protege object. | |
void | R_RegisterFinalizer (SEXP s, SEXP fun) |
void | R_RegisterCFinalizer (SEXP s, R_CFinalizer_t fun) |
void | R_RegisterFinalizerEx (SEXP s, SEXP fun, Rboolean onexit) |
void | R_RegisterCFinalizerEx (SEXP s, R_CFinalizer_t fun, Rboolean onexit) |
SEXP | R_MakeWeakRef (SEXP key, SEXP val, SEXP fin, Rboolean onexit) |
SEXP | R_MakeWeakRefC (SEXP key, SEXP val, R_CFinalizer_t fin, Rboolean onexit) |
SEXP | R_WeakRefKey (SEXP w) |
SEXP | R_WeakRefValue (SEXP w) |
void | R_RunWeakRefFinalizer (SEXP w) |
SEXP | R_ClosureExpr (SEXP) |
void | R_initialize_bcode (void) |
Rboolean | R_ToplevelExec (void(*fun)(void *), void *data) |
void | R_RestoreHashCount (SEXP rho) |
Rboolean | R_IsPackageEnv (SEXP rho) |
SEXP | R_PackageEnvName (SEXP rho) |
SEXP | R_FindPackageEnv (SEXP info) |
Rboolean | R_IsNamespaceEnv (SEXP rho) |
SEXP | R_NamespaceEnvSpec (SEXP rho) |
SEXP | R_FindNamespace (SEXP info) |
void | R_LockEnvironment (SEXP env, Rboolean bindings) |
Rboolean | R_EnvironmentIsLocked (SEXP env) |
void | R_LockBinding (SEXP sym, SEXP env) |
void | R_unLockBinding (SEXP sym, SEXP env) |
void | R_MakeActiveBinding (SEXP sym, SEXP fun, SEXP env) |
Rboolean | R_BindingIsLocked (SEXP sym, SEXP env) |
Rboolean | R_BindingIsActive (SEXP sym, SEXP env) |
Rboolean | R_HasFancyBindings (SEXP rho) |
void | Rf_errorcall (SEXP, const char *,...) |
void | Rf_warningcall (SEXP, const char *,...) |
void | Rf_warningcall_immediate (SEXP, const char *,...) |
void | R_XDREncodeDouble (double d, void *buf) |
double | R_XDRDecodeDouble (void *buf) |
void | R_XDREncodeInteger (int i, void *buf) |
int | R_XDRDecodeInteger (void *buf) |
void | R_InitInPStream (R_inpstream_t stream, R_pstream_data_t data, R_pstream_format_t type, int(*inchar)(R_inpstream_t), void(*inbytes)(R_inpstream_t, void *, int), SEXP(*phook)(SEXP, SEXP), SEXP pdata) |
void | R_InitOutPStream (R_outpstream_t stream, R_pstream_data_t data, R_pstream_format_t type, int version, void(*outchar)(R_outpstream_t, int), void(*outbytes)(R_outpstream_t, const void *, int), SEXP(*phook)(SEXP, SEXP), SEXP pdata) |
void | R_InitFileInPStream (R_inpstream_t stream, FILE *fp, R_pstream_format_t type, SEXP(*phook)(SEXP, SEXP), SEXP pdata) |
void | R_InitFileOutPStream (R_outpstream_t stream, FILE *fp, R_pstream_format_t type, int version, SEXP(*phook)(SEXP, SEXP), SEXP pdata) |
void | R_Serialize (SEXP s, R_outpstream_t ops) |
SEXP | R_Unserialize (R_inpstream_t ips) |
SEXP | R_do_slot (SEXP obj, SEXP name) |
SEXP | R_do_slot_assign (SEXP obj, SEXP name, SEXP value) |
int | R_has_slot (SEXP obj, SEXP name) |
SEXP | R_do_MAKE_CLASS (const char *what) |
SEXP | R_getClassDef (const char *what) |
SEXP | R_do_new_object (SEXP class_def) |
int | R_check_class_and_super (SEXP x, const char **valid, SEXP rho) |
int | R_check_class_etc (SEXP x, const char **valid) |
void | R_PreserveObject (SEXP) |
Protect object against garbage collection. | |
void | R_ReleaseObject (SEXP) |
Remove object's protection against garbage collection. | |
void | R_dot_Last (void) |
void | R_RunExitFinalizers (void) |
int | R_system (const char *) |
Rboolean | R_compute_identical (SEXP, SEXP, int) |
Rboolean | Rf_conformable (SEXP, SEXP) |
SEXP | Rf_elt (SEXP, int) |
Rboolean | Rf_inherits (SEXP, const char *) |
Rboolean | Rf_isArray (SEXP) |
Rboolean | Rf_isFactor (SEXP) |
Rboolean | Rf_isFrame (SEXP) |
Rboolean | Rf_isFunction (SEXP) |
Rboolean | Rf_isInteger (SEXP) |
Rboolean | Rf_isLanguage (SEXP) |
Rboolean | Rf_isList (SEXP) |
Rboolean | Rf_isMatrix (SEXP) |
Rboolean | Rf_isNewList (SEXP) |
Rboolean | Rf_isNumber (SEXP) |
Rboolean | Rf_isNumeric (SEXP) |
Rboolean | Rf_isPairList (SEXP) |
Rboolean | Rf_isPrimitive (SEXP) |
Rboolean | Rf_isTs (SEXP) |
Rboolean | Rf_isUserBinop (SEXP) |
Rboolean | Rf_isValidString (SEXP) |
Rboolean | Rf_isValidStringF (SEXP) |
Rboolean | Rf_isVector (SEXP) |
Is an RObject a vector? | |
Rboolean | Rf_isVectorAtomic (SEXP) |
Rboolean | Rf_isVectorList (SEXP) |
Rboolean | Rf_isVectorizable (SEXP) |
SEXP | Rf_lang1 (SEXP) |
SEXP | Rf_lang2 (SEXP, SEXP) |
SEXP | Rf_lang3 (SEXP, SEXP, SEXP) |
SEXP | Rf_lang4 (SEXP, SEXP, SEXP, SEXP) |
SEXP | Rf_lang5 (SEXP, SEXP, SEXP, SEXP, SEXP) |
SEXP | Rf_lang6 (SEXP, SEXP, SEXP, SEXP, SEXP, SEXP) |
SEXP | Rf_lastElt (SEXP) |
SEXP | Rf_lcons (SEXP, SEXP) |
Create a CXXR::Expression with a specified car and tail. | |
R_len_t | Rf_length (SEXP) |
SEXP | Rf_list1 (SEXP) |
SEXP | Rf_list2 (SEXP, SEXP) |
SEXP | Rf_list3 (SEXP, SEXP, SEXP) |
SEXP | Rf_list4 (SEXP, SEXP, SEXP, SEXP) |
SEXP | Rf_list5 (SEXP, SEXP, SEXP, SEXP, SEXP) |
SEXP | Rf_listAppend (SEXP, SEXP) |
SEXP | Rf_mkNamed (SEXPTYPE, const char **) |
SEXP | Rf_mkString (const char *) |
int | Rf_nlevels (SEXP) |
SEXP | Rf_ScalarComplex (Rcomplex) |
SEXP | Rf_ScalarInteger (int) |
SEXP | Rf_ScalarLogical (int) |
SEXP | Rf_ScalarRaw (Rbyte) |
SEXP | Rf_ScalarReal (double) |
SEXP | Rf_ScalarString (SEXP) |
R_len_t | CXXR::length (RObject *s) |
Shorthand for Rf_length(). |
Variables | |
LibExtern SEXP | R_GlobalEnv |
LibExtern SEXP | R_EmptyEnv |
LibExtern SEXP | R_BaseEnv |
LibExtern SEXP | R_BaseNamespace |
LibExtern SEXP | R_NamespaceRegistry |
LibExtern SEXP | R_Srcref |
LibExtern SEXP | R_UnboundValue |
LibExtern SEXP | R_MissingArg |
LibExtern SEXP | R_Bracket2Symbol |
LibExtern SEXP | R_BracketSymbol |
LibExtern SEXP | R_BraceSymbol |
LibExtern SEXP | R_ClassSymbol |
LibExtern SEXP | R_DeviceSymbol |
LibExtern SEXP | R_DimNamesSymbol |
LibExtern SEXP | R_DimSymbol |
LibExtern SEXP | R_DollarSymbol |
LibExtern SEXP | R_DotsSymbol |
LibExtern SEXP | R_DropSymbol |
LibExtern SEXP | R_LastvalueSymbol |
LibExtern SEXP | R_LevelsSymbol |
LibExtern SEXP | R_ModeSymbol |
LibExtern SEXP | R_NameSymbol |
LibExtern SEXP | R_NamesSymbol |
LibExtern SEXP | R_NaRmSymbol |
LibExtern SEXP | R_PackageSymbol |
LibExtern SEXP | R_QuoteSymbol |
LibExtern SEXP | R_RowNamesSymbol |
LibExtern SEXP | R_SeedsSymbol |
LibExtern SEXP | R_SourceSymbol |
LibExtern SEXP | R_TspSymbol |
LibExtern SEXP | R_dot_defined |
LibExtern SEXP | R_dot_Method |
LibExtern SEXP | R_dot_target |
LibExtern SEXP | R_NaString |
LibExtern SEXP | R_BlankString |
(As described in 'Writing R Extensions'.)
As CXXR development proceeds, the type definitions, function prototypes etc. defined in this header file will be progressively factored out into individual class-related header files, which will be #include
d back into this 'master' header file. CXXR code should use the class-related header files directly, as required, rather than #include
ing this file.
In most cases, function prototypes and extern declarations that have been factored out into CXXR's own header files are nevertheless also retained in this file. This is so that any changes to these declarations that appear in a new release of CR are picked up automatically during the 'svn merge' process. The compiler will then detect any inconsistencies between the new declaration in this file and the 'factored-out' declaration.
Get the attributes of a CXXR::RObject.
x | Pointer to the CXXR::RObject whose attributes are required. |
Access the body of a CXXR::Closure.
x | Pointer to a CXXR::Closure object (checked). |
Get car of CXXR::ConsCell.
e | Pointer to a CXXR::ConsCell (checked), or a null pointer. |
Get tail of CXXR::ConsCell.
e | Pointer to a CXXR::ConsCell (checked), or a null pointer. |
Access the environment of a CXXR::Closure.
x | Pointer to a CXXR::Closure object (checked). |
|
inline |
x | Pointer to a CXXR::ComplexVector (i.e. an R complex vector). An error is generated if x is not a non-null pointer to a CXXR::ComplexVector . |
|
inline |
Does symbol relate to a ...
expression?
x | Pointer to a CXXR::Symbol (checked). |
TRUE
iff this symbol denotes an element of a ...
expression. Replace the attributes of to by those of from.
The status of to as an S4 Object is also copied from from .
to | Pointer to CXXR::RObject. |
from | Pointer to another CXXR::RObject. |
Access enclosing environment.
x | Pointer to a CXXR::Environment (checked). |
Access formal arguments of a CXXR::Closure.
x | Pointer to a CXXR::Closure object (checked). |
Access an environment's Frame, represented as a PairList.
x | Pointer to a CXXR::Environment (checked). |
|
inline |
x | Pointer to an IntVector or a LogicalVector (i.e. an R integer or logical vector). An error is generated if x is not a non-null pointer to an IntVector or a LogicalVector . |
Get function accessed via .Internal()
.
x | Pointer to a CXXR::Symbol (checked). |
.Internal()
, then a pointer to the appropriate CXXR::BuiltInFunction, otherwise a null pointer.
|
inline |
Is this an S4 object?
x | Pointer to CXXR::RObject. |
|
inline |
x | Pointer to an CXXR::VectorBase . |
|
inline |
x | Pointer to a CXXR::LogicalVector (checked). |
|
inline |
Get object copying status.
x | Pointer to CXXR::RObject. |
|
inline |
Does an object have a class attribute?
x | Pointer to a CXXR::RObject. |
Access the expression of a CXXR::Promise.
x | Pointer to a CXXR::Promise (checked). |
Access the environment of a CXXR::Promise.
x | Pointer to a CXXR::Promise (checked). |
Symbol name.
x | Pointer to a CXXR::Symbol (checked). |
Access the value of a CXXR::Promise.
x | Pointer to a CXXR::Promise (checked). |
|
inline |
Access the content of CXXR::String as a C-style string.
x | non-null pointer to a CXXR::String . |
const
pointer to character 0 of x . Return the 0-based index of an is() match in a vector of class-name strings terminated by an empty string. Returns -1 for no match.
x | an R object, about which we want is(x, .) information. |
valid | vector of possible matches terminated by an empty string. |
rho | the environment in which the class definitions exist. |
int R_check_class_etc | ( | SEXP | x, |
const char ** | valid | ||
) |
Return the 0-based index of an is() match in a vector of class-name strings terminated by an empty string. Returns -1 for no match. Strives to find the correct environment() for is(), using .classEnv() (from {methods}).
x | an R object, about which we want is(x, .) information. |
valid | vector of possible matches terminated by an empty string. |
|
inline |
Reset the encapsulated pointer to a null pointer.
s | Pointer to a CXXR::ExternalPointer (checked). |
|
inline |
Get the encapsulated external pointer.
s | Pointer to a CXXR::ExternalPointer (checked). |
Get pointer to protege object.
s | Pointer to a CXXR::ExternalPointer (checked). |
Get pointer to tag object.
s | Pointer to a CXXR::ExternalPointer (checked). |
R_has_slot() : a C-level test if a obj<name> is available; as R_do_slot() gives an error when there's no such slot.
Create a CXXR::ExternalPointer object.
p | The pointer that the CXXR::ExternalPointer object is to encapsulate. |
tag | Pointer to the tag object. May be null (and often is). |
prot | Pointer to the protege object. May be null (and often is). |
void R_PreserveObject | ( | SEXP | ) |
Protect object against garbage collection.
This is intended for long-term protection, for which PROTECT() etc. would be inappropriate.
object | Pointer to the object to be preserved. It is permissible for this to be a null pointer. |
|
inline |
Push a node pointer onto the C pointer protection stack.
Push a node pointer onto the C pointer protection stack, and record the index of the resulting stack cell (for subsequent use with R_Reprotect).
node | Pointer to the node to be protected from the garbage collector. |
iptr | Pointer to a location in which the stack cell index is to be stored. |
void R_ReleaseObject | ( | SEXP | ) |
Remove object's protection against garbage collection.
object | Pointer to the object whose protection is to be removed. It is permissible (but pointless) for this to be a pointer to an object that is not currently protected by R_PreserveObject(), but in that case R_ReleaseObject() has no effect. |
|
inline |
Retarget a cell in the C pointer protection stack.
Change the node that a particular cell in the C pointer protection stack protects. As a consistency check, it is required that the reprotect takes place within the same ProtectStack::Scope as the original protect.
node | Pointer to the node now to be protected from the garbage collector by the designated stack cell. (Not necessarily a different node from the one currently protected.) |
index | Index (as returned by R_ProtectWithIndex() ) of the stack cell to be retargeted to node. Must be less than the current size of the C pointer protection stack. |
void R_SetExternalPtrAddr | ( | SEXP | s, |
void * | p | ||
) |
Set the value of the encapsulated pointer.
s | Pointer to a CXXR::ExternalPointer (checked). |
p | New pointer value (may be null). |
Designate the protege object.
s | Pointer to a CXXR::ExternalPointer (checked). |
p | Pointer to the new protege object (or a null pointer). |
Designate the tag object.
s | Pointer to a CXXR::ExternalPointer (checked). |
tag | Pointer to the new tag object (or a null pointer). |
|
inline |
x | Pointer to a CXXR::RawVector (i.e. a RAWSXP). An error is generated if x is not a non-null pointer to a CXXR::RawVector . |
|
inline |
Query debugging status.
x | Pointer to a CXXR::Closure object. |
true
if debugging is set, i.e. evaluations of the function should run under the browser.
|
inline |
x | Pointer to an RealVector (i.e. an R numeric vector). An error is generated if x is not pointer to an RealVector . |
SEXP Rf_allocList | ( | unsigned | int | ) |
Create a CXXR::PairList of a specified length.
This constructor creates a CXXR::PairList with a specified number of elements. On creation, each element has null 'car' and 'tag'.
n | Number of elements required in the list. |
SEXP Rf_allocS4Object | ( | void | ) |
Create an S4 object.
Create an object of a type derived from CXXR::ConsCell.
The object is created with null car, tag and tail pointers.
t | The SEXPTYPE of the required object. Must be one of LISTSXP, LANGSXP, DOTSXP or BCODESXP (not checked). |
Creates a CXXR::PairList with a specified car and tail.
This function protects its arguments from the garbage collector.
cr | Pointer to the 'car' of the element to be created. |
tl | Pointer to the 'tail' of the element to be created, which must be of a CXXR::PairList type (checked). |
Evaluate an object in a specified Environment.
e | Pointer (possibly null) to the object to be evaluated. |
rho | Pointer to an Environment (checked unless e is null). |
|
inline |
Get a pointer to a regular Symbol object.
If no Symbol with the specified name currently exists, one will be created, and a pointer to it returned. Otherwise a pointer to the existing Symbol will be returned.
name | The name of the required Symbol (CE_NATIVE encoding is assumed). |
|
inline |
s | Pointer to an RObject. |
|
inline |
Is this a CXXR::Environment?
s | Pointer to an RObject. |
|
inline |
s | Pointer to a CXXR::RObject. |
|
inline |
s | Pointer to a CXXR::RObject. |
|
inline |
Is this the null object pointer?
s | Pointer to a CXXR::RObject. |
== R_NilValue
in CXXR), or is a CXXR::RObject with SEXPTYPE NILSXP (should not happen in CXXR). Rboolean Rf_isNumber | ( | SEXP | s | ) |
Is an object "Numeric" or complex
|
inline |
Does an object have a class attribute?
s | Pointer to a CXXR::RObject. |
|
inline |
s | Pointer to an RObject. |
|
inline |
s | Pointer to an RObject. |
|
inline |
Test if SYMSXP.
s | Pointer to a CXXR::RObject. |
Rboolean Rf_isVector | ( | SEXP | ) |
Is an RObject a vector?
Vector in this context embraces R matrices and arrays.
s | Pointer to the RObject to be tested. The pointer may be null, in which case the function returns FALSE. |
Create a CXXR::Expression with a specified car and tail.
This function protects its arguments from the garbage collector.
cr | Pointer to the 'car' of the element to be created. |
tl | Pointer to the 'tail' of the element to be created, which must be of a CXXR::PairList type (checked). |
|
inline |
Get a pointer to a CXXR::String object.
CE_NATIVE encoding is assumed. If no CXXR::String with the specified text and encoding currently exists, one will be created. Otherwise a pointer to the existing CXXR::String will be returned.
str | The null-terminated text of the required string. |
|
inline |
Get a pointer to a CXXR::String object.
If no CXXR::String with the specified text and encoding currently exists, one will be created. Otherwise a pointer to the existing CXXR::String will be returned.
str | The null-terminated text of the required cached string. |
encoding | The encoding of the required String. Only CE_NATIVE, CE_UTF8 or CE_LATIN1 are permitted in this context (checked). |
|
inline |
Create a CXXR::String object for specified text.
CE_NATIVE encoding is assumed. If no CXXR::String with the specified text and encoding currently exists, one will be created. Otherwise a pointer to the existing CXXR::String will be returned.
text | The text of the string to be created, possibly including embedded null characters. The encoding is assumed to be CE_NATIVE. |
length | The length of the string pointed to by text. Must be nonnegative. The created string will comprise the text plus an appended null byte. |
SEXP Rf_mkCharLenCE | ( | const char * | , |
int | , | ||
cetype_t | |||
) |
Create a CXXR::String object for specified text and encoding.
If no CXXR::String with the specified text and encoding currently exists, one will be created. Otherwise a pointer to the existing CXXR::String will be returned.
text | The text of the string to be created, possibly including embedded null characters. The encoding is assumed to be CE_NATIVE. |
length | The length of the string pointed to by text. Must be nonnegative. The created string will comprise the text plus an appended null byte. |
encoding | The encoding of the required String. Only CE_NATIVE, CE_UTF8 or CE_LATIN1 are permitted in this context (checked). |
Push a node pointer onto the C pointer protection stack.
node | Pointer to the node to be protected from the garbage collector. |
|
inline |
Pop cells from the C pointer protection stack.
As a consistency check, it is required that the unprotect takes place within the same ProtectStack::Scope as the corresponding protects.
count | Number of cells to be popped. Must not be larger than the current size of the C pointer protection stack. |
|
inline |
Remove entry from pointer protection stack.
Removes from the C pointer protection stack the uppermost stack cell containing a pointer to a specified node, and drops all the stack cells above it by one place.
node | Pointer to the node whose cell is to be removed from the C pointer protection stack. |
|
inline |
Get function tracing status.
x | Pointer to a CXXR::FunctionBase (checked), or a null pointer. |
Replace an object's attributes.
x | Pointer to a CXXR::RObject. |
v | Pointer to a PairList giving the new attributes of x. x should be considered to assume ownership of the 'car' values in v ; they should therefore not be subsequently altered externally. |
RObject::setAttributes()
. In particular, do not attempt to modify the attributes by changing v after SET_ATTRIB has been called.Replace the environment of a closure.
x | Pointer to a CXXR::Closure object (checked). |
v | Pointer to the environment now to be considered as the environment of this CXXR::Closure. A null pointer is not permissible (not checked). |
Associate a Symbol with a .Internal()
function.
x | Pointer to a CXXR::Symbol (checked). |
v | Pointer to the CXXR::BuiltInFunction (checked) to be associated by this symbol. A null pointer is permissible, and signifies that any previous association of sym with a function is to be removed from the table. |
|
inline |
Set object copying status.
x | Pointer to CXXR::RObject. The function does nothing if x is a null pointer. |
v | Refer to 'R Internals' document. |
Set the value of a CXXR::Promise.
Once the value is set to something other than R_UnboundValue, the environment pointer is set null.
x | Pointer to a CXXR::Promise (checked). |
v | Pointer to the value to be assigned to the promise. |
|
inline |
Set the debugging state of a CXXR::Closure object.
x | Pointer a CXXR::Closure object (checked). |
v | The new debugging state. |
|
inline |
Set function tracing status.
x | Pointer to a CXXR::FunctionBase (checked), or a null pointer. |
v | The desired tracing status: non-zero if tracing is required. |
|
inline |
Set element of CXXR::StringVector.
x | Non-null pointer to a CXXR::StringVector . |
i | Index of the required element. There is no bounds checking. |
v | Non-null pointer to CXXR::String representing the new value. |
Set symbol's value in the base environment.
x | Pointer to a CXXR::Symbol (checked). |
val | Pointer to the RObject now to be considered as the value of this symbol. A null pointer or R_UnboundValue are permissible values of val. |
Set the tag of a CXXR::ConsCell.
x | Pointer to a CXXR::ConsCell (checked). |
y | Pointer a CXXR::RObject representing the new tag of the CXXR::ConsCell. |
|
inline |
Set 'true length' of vector.
x | Pointer to a CXXR::VectorBase . |
v | The required new 'true length'. |
Set element of CXXR::ListVector.
x | Pointer to a CXXR::ListVector. |
i | Index of the required element. There is no bounds checking. |
v | Pointer, possibly null, to CXXR::RObject representing the new value. |
Set the 'car' value of the fifth element of list.
x | Pointer to a CXXR::ConsCell with at least four successors (checked). |
y | Pointer a CXXR::RObject representing the new value of the fifth element of the list. |
Set the 'car' value of the fourth element of list.
x | Pointer to a CXXR::ConsCell with at least three successors (checked). |
y | Pointer a CXXR::RObject representing the new value of the fourth element of the list. |
Set the 'car' value of the third element of list.
x | Pointer to a CXXR::ConsCell with at least two successors (checked). |
y | Pointer a CXXR::RObject representing the new value of the third element of the list. |
Set the 'car' value of the second element of list.
x | Pointer to a CXXR::ConsCell with at least one successor (checked). |
y | Pointer a CXXR::RObject representing the new value of the second element of the list. |
Set the 'car' value of a CXXR::ConsCell.
x | Pointer to a CXXR::ConsCell (checked). |
y | Pointer a CXXR::RObject representing the new value of the list car. |
Replace the tail of a CXXR::ConsCell.
x | Pointer to a CXXR::ConsCell (checked). |
y | Pointer a CXXR::RObject representing the new tail of the list. |
void() SETLENGTH | ( | SEXP | x, |
int | v | ||
) |
Set length of vector.
x | Pointer to a CXXR::VectorBase . |
v | The required new length, which must not be greater than the current length. |
Examine element of a CXXR::StringVector.
x | Non-null pointer to a CXXR::StringVector. An error is raised if x is not a pointer to a CXXR::StringVector. |
i | Index of the required element. There is no bounds checking. |
Symbol's value in the base environment.
x | Pointer to a CXXR::Symbol (checked). |
Get tag of CXXR::ConsCell.
e | Pointer to a CXXR::ConsCell (checked), or a null pointer. |
|
inline |
x | Pointer to a CXXR::VectorBase . |
Get object's SEXPTYPE.
x | Pointer to CXXR::RObject. |
|
inline |
Examine element of CXXR::ListVector.
x | Non-null pointer to a CXXR::ListVector . |
i | Index of the required element. There is no bounds checking. |