#include <slocatn.hpp>
Inheritance diagram for SExpressionLocation:
The class keeps a pointer to an existing SReference object. To make sure it will exist as long as the SExpressionLocation exists, the object also keeps an SReference to the structure which contains the pointed SReference. For example, if you wish to keep a pointer to a car part of a cons, you should also pass a reference to that cons.
Definition at line 40 of file slocatn.hpp.
Public Member Functions | |
SExpressionLocation (const SReference &superstruct, SReference *location) | |
The constructor. | |
void | Assign (const SReference &value) const |
Assign the given value to the location. | |
virtual class 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 SExpression * | Clone () const |
Clone a changeable 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 | |
~SExpressionLocation () | |
bool | CanDie () |
Is it OK to delete the object now? |
|
The constructor.
Definition at line 23 of file slocatn.cpp. |
|
Definition at line 27 of file slocatn.cpp. |
|
Assign the given value to the location.
Definition at line 62 of file slocatn.hpp. |
|
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 31 of file slocatn.cpp. |
|
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(). |
|
Clone a changeable object. The method should return the pointer created with new
Reimplemented in SExpressionBacklink, SExpressionCons, SExpressionHashTable, SExpressionRawBuffer, and SExpressionVector. Definition at line 214 of file sexpress.hpp. |
|
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. |