#include <svector.hpp>
Inheritance diagram for SExpressionVector:
Implements an optionally-resizeable vector of S-expressions.
Definition at line 37 of file svector.hpp.
Public Member Functions | |
SExpressionVector (int n=0) | |
Constructor. | |
const SReference & | operator[] (unsigned int n) const |
constant version of the indexing operator | |
SReference & | operator[] (unsigned int n) |
non-constant version of the indexing operator | |
int | Size () const |
Get the current slots count. | |
void | SetSize (unsigned int n) |
Force resizing the vector. | |
bool | IsResizeable () const |
Is it allowed to resize the vector? | |
virtual SExpression * | Clone () const |
Clone a changeable object. | |
virtual SString | TextRepresentation () const |
Text representation of the S-expression. | |
const IntelibTypeId & | TermType () const |
Actual S-expression type. | |
bool | IsChangeable () const |
Can it be changed during the lifetime of the object? | |
virtual bool | SpecificEql (const SExpression *) const |
Are the two objects EQL (while not EQ). | |
Static Public Attributes | |
static IntelibTypeId | TypeId |
The type identifier. | |
Protected Member Functions | |
SExpressionVector (const IntelibTypeId &tid, int n=0) | |
Constructor form for derived classes. | |
~SExpressionVector () | |
Destructor. | |
bool | CanDie () |
Is it OK to delete the object now? |
|
Constructor.
Definition at line 28 of file svector.cpp. Referenced by Clone(). |
|
Constructor form for derived classes.
Definition at line 44 of file svector.cpp. |
|
Destructor.
Definition at line 60 of file svector.hpp. |
|
constant version of the indexing operator
Definition at line 59 of file svector.cpp. References INTELIB_ASSERT. |
|
non-constant version of the indexing operator
Definition at line 65 of file svector.cpp. References INTELIB_ASSERT. |
|
Get the current slots count.
Definition at line 69 of file svector.hpp. Referenced by TextRepresentation(). |
|
Force resizing the vector.
Definition at line 100 of file svector.cpp. |
|
Is it allowed to resize the vector?
Definition at line 73 of file svector.hpp. |
|
Clone a changeable object. The method should return the pointer created with new
Reimplemented from SExpression. Definition at line 75 of file svector.cpp. References SReference::Clone(), Resize(), SExpressionVector(), and vector. |
|
Text representation of the S-expression. Returns the text string which represents the given S-expression as for real Lisp (for example, (25 36 49)) Implements SExpression. Definition at line 85 of file svector.cpp. References GenericSReference< Tp, X_wrongtype >::GetPtr(), Size(), and SExpression::TextRepresentation(). |
|
Actual S-expression type.
Definition at line 195 of file sexpress.hpp. Referenced by SReference::DynamicCastGetPtr(), SchReference::IsEql(), LReference::IsEql(), SReference::SimpleCastGetPtr(), SchReference::TextRepresentation(), and LReference::TextRepresentation(). |
|
Can it be changed during the lifetime of the object?
Definition at line 198 of file sexpress.hpp. References IntelibTypeId::IsChangeable(). |
|
Are the two objects EQL (while not EQ). This function is overriden by those SExpressions able to be EQL while being not EQ.
Reimplemented in SExpressionInt, SExpressionFloat, SExpressionChar, and SExpressionString. Definition at line 235 of file sexpress.hpp. Referenced by SchReference::IsEql(), and LReference::IsEql(). |
|
Is it OK to delete the object now? Our children have no access to the private attribute RefCount and should never need it except when checking if the destruction is not an error. This solves the problem. Definition at line 53 of file refcount.hpp. |
|
The type identifier.
Reimplemented from SExpression. |