#include <sexpress.hpp>
Inheritance diagram for SReference:
The class acts just like a smart pointer to an object of SExpression class. SReference has no virtual table so it is guaranteed that sizeof(SReference) == sizeof(SExpression*). This means it's no problem to pass SReferences by value. SReference is intended to be the primary API to the invented S-expression representation.
Definition at line 467 of file sexpress.hpp.
Public Member Functions | |
SReference () | |
Default constructor. | |
SReference (const SExpression *tp) | |
Construct from a pointer. | |
SReference (const SReference &other) | |
The copy constructor. | |
~SReference () | |
SReference (const class SListConstructor &) | |
Creates empty list repesentation. | |
SReference (const SReference &car, const SReference &cdr) | |
Creates a dotted pair. | |
SReference & | operator= (const SReference &other) |
void | operator= (SExpression *newterm) |
Assignment. | |
SExpression * | GetPtr () const |
Get a plain pointer. | |
SReference & | AddAnotherItemToList (const SReference &right) |
Add item to list. | |
SReference & | ChangeListEnd (const SReference &new_last) |
Make/change dotted list. | |
SReference | MakeCons (const SReference &right) const |
Make a cons. | |
SReference & | operator, (const SReference &r) |
List composing operation. | |
SReference & | operator|| (const SReference &t) |
dotted list composing operation | |
SReference | operator^ (const SReference &t) const |
CONS operation. | |
bool | operator== (const SReference &other) const |
Equality is just pointer comparision. | |
bool | operator!= (const SReference &other) const |
Non-equality is just pointer comparision. | |
bool | operator== (const SExpression *other) const |
Equality is just pointer comparision. | |
bool | operator!= (const SExpression *other) const |
Non-equality is just pointer comparision. | |
bool | IsEql (const SReference &other) const |
bool | IsEqual (const SReference &other) const |
SReference & | Car () const |
SReference & | Cdr () const |
SReference & | CCar () const |
SReference & | CCdr () const |
intelib_float_t | GetFloat () const |
intelib_integer_t | GetInt () const |
const char * | GetString () const |
char | GetSingleChar () const |
template<class Tp> | |
Tp * | DynamicCastGetPtr () const |
template<class Tp> | |
Tp * | SimpleCastGetPtr () const |
SReference | Clone () const |
SReference | CopyList () const |
SReference | CopyTree () const |
bool | IsEmptyList () const |
SExpression * | operator-> () const |
Field/method selection. | |
SExpression & | operator * () const |
Dereference. | |
SReference (char c) | |
SReference (signed char c) | |
SReference (unsigned char c) | |
SReference (signed short i) | |
SReference (unsigned short i) | |
SReference (signed int i) | |
SReference (unsigned int i) | |
SReference (signed long i) | |
SReference (unsigned long i) | |
SReference (signed long long i) | |
SReference (unsigned long long i) | |
SReference (float f) | |
SReference (double f) | |
SReference (long double f) | |
SReference (const char *s) | |
SReference (const unsigned char *s) |
|
Default constructor. Creates NULL (unbound) reference Definition at line 471 of file sexpress.hpp. Referenced by SQueue::operator,(), SString::operator=(), SQueue::operator|(), SchReference::operator~(), LReference::operator~(), and SExpressionDoubleList::Iterator::Remove(). |
|
Construct from a pointer.
Definition at line 474 of file sexpress.hpp. |
|
The copy constructor.
Definition at line 477 of file sexpress.hpp. |
|
Definition at line 480 of file sexpress.hpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 385 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 390 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 395 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 400 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 404 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 408 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 412 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 416 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 420 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 424 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 428 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 432 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 436 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression Definition at line 440 of file sexpress.cpp. |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression |
|
These constructors allow to cast any standard scalar type to the appropriate S-expression |
|
Creates empty list repesentation.
|
|
Creates a dotted pair.
|
|
Reimplemented in SBacklinkRef. Definition at line 508 of file sexpress.hpp. References GenericReference< Tp >::operator=(). Referenced by SQueue::Append(), SQueue::InsertFirst(), SVector::operator=(), SString::operator=(), SBacklinkRef::operator=(), GenericSReference< LExpressionContext, IntelibX_lisp_not_a_context >::operator=(), SExpressionDoubleList::Iterator::Remove(), SQueue::RemoveFirst(), and SQueue::SQueue(). |
|
Assignment.
Reimplemented from GenericReference< SExpression >. Definition at line 510 of file sexpress.hpp. References GenericReference< Tp >::operator=(). |
|
|
Add item to list. For a list, adds another dotted pair to its end. For non-lists, the result is undefined. Referenced by operator,(). |
|
Make/change dotted list.
Referenced by operator||(). |
|
Make a cons. Produces a cons (dotted pair) using *this as the CAR and the given argument as the CDR Referenced by operator^(). |
|
List composing operation. Operator "," is used to construct lists naturally, like this: (L| 1, 2, 3)
Reimplemented in SBacklinkRef, SDoubleListRef, LReference, and SchReference. Definition at line 541 of file sexpress.hpp. References AddAnotherItemToList(). Referenced by SchReference::operator,(), and LReference::operator,(). |
|
dotted list composing operation Operator "||" is used to construct dotted lists, like this: ((L| 1, 2, 3) || 4) // (1 2 3 . 4)
Reimplemented in LReference, and SchReference. Definition at line 548 of file sexpress.hpp. References ChangeListEnd(). Referenced by SchReference::operator||(), and LReference::operator||(). |
|
CONS operation. Operator "^" is used to produce conses Definition at line 552 of file sexpress.hpp. References MakeCons(). |
|
Equality is just pointer comparision.
Definition at line 556 of file sexpress.hpp. References GetPtr(). |
|
Non-equality is just pointer comparision.
Definition at line 559 of file sexpress.hpp. References GetPtr(). |
|
Equality is just pointer comparision.
Definition at line 562 of file sexpress.hpp. References GetPtr(). |
|
Non-equality is just pointer comparision.
Definition at line 565 of file sexpress.hpp. References GetPtr(). |
|
Reimplemented in LReference, and SchReference. Referenced by SExprsAreEql(). |
|
Reimplemented in LReference, and SchReference. Referenced by SExprsAreEqual(). |
|
Referenced by LExpressionMacro::Call(), SDoubleListRange::Copy(), IntelibGenericReader::Get(), RetrieveFunctionObject(), and stack_representation(). |
|
Referenced by LExpressionMacro::Call(), SBacklinkRef::Remove(), SQueue::RemoveFirst(), RetrieveFunctionObject(), and stack_representation(). |
|
|
|
|
|
Referenced by SExpressionIndirectTemplate< Tt >::Setf(). |
|
Referenced by SExpressionIndirectTemplate< Tt >::Setf(). |
|
Referenced by SExpressionIndirectTemplate< Tt >::Setf(). |
|
|
|
Definition at line 687 of file sexpress.hpp. References GetPtr(), IntelibTypeId::IsSubtypeOf(), and SExpression::TermType(). Referenced by LispLambdaBody::DoAnalyseLambdaList(), SExpressionBacklink::InsertAfter(), SBacklinkRef::operator,(), pretty_print(), IntelibGenericReader::Read(), SBacklinkRef::Remove(), SExpressionBacklink::RemoveNext(), RetrieveFunctionObject(), SQueue::SQueue(), and SExpressionBacklink::~SExpressionBacklink(). |
|
Definition at line 695 of file sexpress.hpp. References GetPtr(), and SExpression::TermType(). |
|
Referenced by SExpressionVector::Clone(), and SExpressionHashTable::Clone(). |
|
|
|
|
|
|
|