#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(). |
|
|
|
|
|
|
|
|
|
1.4.1