CXXR (C++ R) API
Namespaces | Typedefs | Functions
ExpressionVector.h File Reference

($Id: ExpressionVector.h 1351 2013-03-08 15:12:28Z arr $)

Class CXXR::ExpressionVector and associated C interface. More...

#include "CXXR/VectorBase.h"
#include "CXXR/FixedVector.hpp"
#include "CXXR/SEXP_downcast.hpp"
Include dependency graph for ExpressionVector.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  CXXR
 Namespace for the CXXR project.

Typedefs

typedef FixedVector< RHandle
<>, EXPRSXP
CXXR::ExpressionVector
 Expression vector.

Functions

Rboolean Rf_isExpression (SEXP s)
SEXP SET_XVECTOR_ELT (SEXP x, int i, SEXP v)
 Set element of CXXR::ExpressionVector.
SEXP XVECTOR_ELT (SEXP x, int i)
 Examine element of a CXXR::ExpressionVector.

Detailed Description

Class CXXR::ExpressionVector and associated C interface.

(CXXR::ExpressionVector implements EXPRSXP.)

Todo:
Constrain the elements to be Expression objects? However, as currently used, the elements of an ExpressionVector may be Symbols rather than Expressions.

Function Documentation

Rboolean Rf_isExpression ( SEXP  s)
inline
Parameters:
sPointer to a CXXR::RObject.
Returns:
TRUE iff the CXXR::RObject pointed to by s is an expression.
SEXP SET_XVECTOR_ELT ( SEXP  x,
int  i,
SEXP  v 
)

Set element of CXXR::ExpressionVector.

Parameters:
xPointer to a CXXR::ExpressionVector .
iIndex of the required element. There is no bounds checking.
vPointer, possibly null, to CXXR::RObject representing the new value.
Returns:
The new value v.
SEXP XVECTOR_ELT ( SEXP  x,
int  i 
)
inline

Examine element of a CXXR::ExpressionVector.

Parameters:
xNon-null pointer to a CXXR::ExpressionVector .
iIndex of the required element. There is no bounds checking.
Returns:
Pointer to extracted i 'th element.