#include <swrapper.hpp>
Inheritance diagram for SExpressionWrapper< Data >:
The wrapper is actually a subclass of a given compound, derived from it and from SExpression as well. So, all public fields and methods available in the copmound, are available in the wrapper.
The wrapped part of the object is only initialuzed by the default or the copy constructor, so think carefully is it what you want.
Definition at line 43 of file swrapper.hpp.
Public Member Functions | |
SExpressionWrapper () | |
The default constructor. | |
SExpressionWrapper (const Data &t) | |
The data-initializing constructor. | |
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 | |
~SExpressionWrapper () | |
bool | CanDie () |
Is it OK to delete the object now? |
|
The default constructor. The data part remains uninitialized, that is, the default constructor is used for it.
Definition at line 54 of file swrapper.hpp. References SExpressionWrapper< Data >::TypeId. |
|
The data-initializing constructor. For Data, its copy constructor is used Definition at line 60 of file swrapper.hpp. References SExpressionWrapper< Data >::TypeId. |
|
Definition at line 68 of file swrapper.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 64 of file swrapper.hpp. |
|
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. Referenced by SExpressionWrapper< Data >::SExpressionWrapper(). |