CXXR (C++ R)
|
Base class for function types. More...
#include <FunctionBase.h>
Public Member Functions | |
virtual RObject * | apply (ArgList *arglist, Environment *env, const Expression *call) const =0 |
Apply the function. | |
void | maybeTrace (const Expression *call) const |
Produce a tracing report if appropriate. | |
void | setTracing (bool on) |
Set tracing status. | |
bool | traced () const |
Is this function being traced? | |
Public Member Functions inherited from CXXR::RObject | |
virtual const PairList * | attributes () const |
Get object attributes. | |
virtual void | clearAttributes () |
Remove all attributes. | |
virtual RObject * | clone () const |
Return pointer to a copy of this object. | |
void | copyAttribute (const Symbol *name, const RObject *source) |
Copy an attribute from one RObject to another. | |
void | copyAttributes (const RObject *source, bool copyS4) |
Copy attributes from one RObject to another. | |
virtual RObject * | evaluate (Environment *env) |
Evaluate object in a specified Environment. | |
virtual RObject * | getAttribute (const Symbol *name) const |
Get the value a particular attribute. | |
virtual bool | hasAttributes () const |
Has this object any attributes? | |
bool | hasClass () const |
Has this object the class attribute? | |
bool | isS4Object () const |
Is this an S4 object? | |
void | maybeTraceMemory (const RObject *src) |
Carry out memory tracing. | |
void | maybeTraceMemory (const RObject *src1, const RObject *src2) |
Carry out memory tracing. | |
void | maybeTraceMemory (const RObject *src1, const RObject *src2, const RObject *src3) |
Carry out memory tracing. | |
bool | memoryTraced () const |
Is copying etc. of this object being traced? | |
virtual unsigned int | packGPBits () const |
Reproduce the gp bits field used in CR. | |
virtual void | setAttribute (const Symbol *name, RObject *value) |
Set or remove an attribute. | |
void | setAttributes (const PairList *new_attributes) |
Replace the attributes of an object. | |
void | setMemoryTracing (bool on) |
Enable/disable tracing of copying etc. | |
void | setS4Object (bool on) |
Set the status of this RObject as an S4 object. | |
SEXPTYPE | sexptype () const |
Get an object's SEXPTYPE. | |
virtual const char * | typeName () const |
Name within R of this type of object. | |
virtual void | unpackGPBits (unsigned int gpbits) |
Interpret the gp bits field used in CR. | |
void | detachReferents () |
Null out all references from this node to other nodes. | |
void | visitReferents (const_visitor *v) const |
Conduct a visitor to the nodes referred to by this one. | |
Public Member Functions inherited from CXXR::GCNode | |
void | expose () const |
Record that construction of a node is complete. | |
bool | isExposed () const |
Has this node been exposed to garbage collection? | |
Public Member Functions inherited from CXXR::HeterogeneousListBase::Link | |
Link () | |
Default constructor. | |
Link (HeterogeneousListBase *list) | |
Appending constructor. | |
void | freeLink () |
Detach Link from any list. |
Static Public Member Functions | |
static void | enableTracing (bool on) |
Enable/disable function tracing. | |
static bool | isA (const RObject *obj) |
Is an RObject a FunctionBase? | |
static const char * | staticTypeName () |
The name by which this type is known in R. | |
static bool | tracingEnabled () |
If function tracing currently enabled? | |
Static Public Member Functions inherited from CXXR::RObject | |
template<class T > | |
static T * | clone (const T *pattern) |
Return a pointer to a copy of an object. | |
Static Public Member Functions inherited from CXXR::GCNode | |
static void * | operator new (size_t bytes) |
Allocate memory. | |
static void * | operator new (size_t, void *where) |
Placement new for GCNode. | |
static void | operator delete (void *p, size_t bytes) |
Deallocate memory. | |
static bool | check () |
Integrity check. | |
template<class T > | |
static T * | expose (T *node) |
Record that construction of a node is complete. | |
static void | gc () |
Initiate a garbage collection. | |
static void | gclite () |
Lightweight garbage collection. | |
static void | maybeCheckExposed (const GCNode *node) |
Subject to configuration, check that a GCNode is exposed. | |
static size_t | numNodes () |
Number of GCNode objects in existence. |
Protected Member Functions | |
FunctionBase (SEXPTYPE stype) | |
FunctionBase (const FunctionBase &pattern) | |
Copy constructor. | |
Protected Member Functions inherited from CXXR::RObject | |
RObject (SEXPTYPE stype=CXXSXP) | |
RObject (const RObject &pattern) | |
Copy constructor. | |
Protected Member Functions inherited from CXXR::GCNode | |
virtual | ~GCNode () |
Protected Member Functions inherited from CXXR::HeterogeneousListBase::Link | |
virtual | ~Link () |
Friends | |
class | boost::serialization::access |
Additional Inherited Members | |
Public Attributes inherited from CXXR::RObject | |
unsigned char | m_named |
unsigned | m_missing: 2 |
unsigned | m_argused: 2 |
bool | m_active_binding: 1 |
bool | m_binding_locked: 1 |
Base class for function types.
|
inlineexplicitprotected |
stype | Required type of the FunctionBase. |
|
inlineprotected |
Copy constructor.
pattern | FunctionBase to be copied. |
|
pure virtual |
Apply the function.
arglist | Non-null pointer to the ArgList containing the list of arguments with which the function is to be invoked. |
env | Pointer to the Environment in which the function is to be evaluated. |
call | Pointer to the Expression calling the function. |
Implemented in CXXR::BuiltInFunction, and CXXR::Closure.
|
inlinestatic |
Enable/disable function tracing.
on | True iff function tracing is to be enabled. |
|
inlinestatic |
Is an RObject a FunctionBase?
obj | Pointer to RObject to be tested. This may be a null pointer, in which case the function returns false. |
|
inline |
Produce a tracing report if appropriate.
A tracing report is generated if this function is set to be traced and tracing in general is enabled.
call | The call to this function to be reported. |
|
inline |
Set tracing status.
on | True iff it is required to monitor calls to this function object. |
|
inlinestatic |
The name by which this type is known in R.
Reimplemented in CXXR::BuiltInFunction, and CXXR::Closure.
|
inline |
Is this function being traced?
|
inlinestatic |
If function tracing currently enabled?