#include <sbacklnk.hpp>
Inheritance diagram for SBacklinkRef:
For internal use only.
This class is not derived from GenericSReference because it can point to PTheEmptyList which might be of a wrong type
Definition at line 97 of file sbacklnk.hpp.
Public Member Functions | |
SBacklinkRef () | |
Default constructor (makes unbound reference). | |
SBacklinkRef (SExpressionBacklink *ex) | |
Constructor from a plain pointer. | |
SBacklinkRef (const SReference &ref) | |
Constructor from a SReference with type checking. | |
SBacklinkRef (const SBacklinkRef &other) | |
Copy constructor. | |
~SBacklinkRef () | |
The destructor. | |
SBacklinkRef & | operator= (SExpressionBacklink *ex) |
Assignment. | |
SBacklinkRef & | operator= (const SBacklinkRef &other) |
Assignment. | |
SBacklinkRef & | operator= (const SReference &ref) |
Assignment. | |
void | InsertAfter (const SReference &ref) |
Insert after the current. | |
bool | Remove () |
Remove the current element from the list. | |
SExpressionBacklink * | GetPtr () const |
Get the pointer to the referenced object. | |
SExpressionBacklink * | operator-> () const |
Field/method selector. | |
SBacklinkRef | operator, (const SReference &s) |
Append another element to the list. | |
SBacklinkRef | Begin () const |
Get the first element of the list. | |
SBacklinkRef | End () const |
Get the last element of the list. | |
SBacklinkRef & | operator++ () |
Move forward. | |
SBacklinkRef & | operator-- () |
Move backward. | |
SBacklinkRef | operator++ (int) |
Move forward. | |
SBacklinkRef | operator-- (int) |
Move backward. | |
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 &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 SExpression *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 |
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 |
Dereference. |
|
Default constructor (makes unbound reference).
Definition at line 106 of file sbacklnk.cpp. References PTheEmptyList. Referenced by operator,(). |
|
Constructor from a plain pointer.
Definition at line 110 of file sbacklnk.cpp. |
|
Constructor from a SReference with type checking.
Definition at line 119 of file sbacklnk.cpp. |
|
Copy constructor.
Definition at line 115 of file sbacklnk.cpp. |
|
The destructor.
Definition at line 131 of file sbacklnk.cpp. |
|
Assignment.
Definition at line 111 of file sbacklnk.hpp. References SReference::operator=(). Referenced by SExpressionDoubleList::Iterator::SetBegin(), and SExpressionDoubleList::Iterator::SetEnd(). |
|
Assignment.
Definition at line 114 of file sbacklnk.hpp. References SReference::operator=(). |
|
Assignment.
Reimplemented from SReference. Definition at line 134 of file sbacklnk.cpp. References SReference::operator=(). |
|
Insert after the current. For an empty list, creates a list of one element. Else, just calls SExpressionBacklink::InsertAfter(ref) Reimplemented in SExpressionDoubleList::Iterator. Definition at line 154 of file sbacklnk.cpp. References SExpressionBacklink::InsertAfter(), SReference::IsEmptyList(), and PTheEmptyList. Referenced by SExpressionDoubleList::AddToEnd(). |
|
Remove the current element from the list. For empty list, returns false; otherwise, tries to remove the current element and to advance backwards. If there's no previous element, advances forwards. If it is impossible as well, becomes EmptyList (this includes the case of removing the last node from a dotted backlinked list). Reimplemented in SExpressionDoubleList::Iterator. Definition at line 163 of file sbacklnk.cpp. References SReference::Cdr(), SExpressionBacklink::DisconnectBack(), SReference::DynamicCastGetPtr(), SReference::IsEmptyList(), SExpressionBacklink::Prev(), and PTheEmptyList. Referenced by SExpressionDoubleList::Iterator::Remove(). |
|
Get the pointer to the referenced object.
Reimplemented from SReference. Definition at line 148 of file sbacklnk.cpp. References SReference::GetPtr(), and SReference::IsEmptyList(). Referenced by SExpressionDoubleList::AddToBegin(), SExpressionDoubleList::AddToEnd(), SDoubleListRange::Copy(), SExpressionDoubleList::Iterator::Exhausted(), SExpressionDoubleList::Iterator::IsBegin(), SDoubleListRange::IsEmpty(), SExpressionDoubleList::Iterator::IsEnd(), operator++(), operator,(), operator--(), operator->(), SExpressionDoubleList::Iterator::Remove(), and SExpressionDoubleList::TextRepresentation(). |
|
Field/method selector.
Reimplemented from GenericReference< SExpression >. Definition at line 145 of file sbacklnk.hpp. References GetPtr(). |
|
Append another element to the list.
Reimplemented from SReference. Definition at line 186 of file sbacklnk.cpp. References SExpressionCons::Cdr(), SReference::DynamicCastGetPtr(), SReference::GetPtr(), GetPtr(), SExpressionBacklink::InsertAfter(), SReference::IsEmptyList(), PTheEmptyList, and SBacklinkRef(). |
|
Get the first element of the list.
Definition at line 206 of file sbacklnk.cpp. References SReference::IsEmptyList(). |
|
Get the last element of the list.
Definition at line 218 of file sbacklnk.cpp. References SReference::IsEmptyList(). |
|
Move forward.
Definition at line 230 of file sbacklnk.cpp. References SExpressionCons::Cdr(), GetPtr(), and SReference::IsEmptyList(). |
|
Move backward.
Definition at line 236 of file sbacklnk.cpp. References GetPtr(), SReference::IsEmptyList(), and SExpressionBacklink::Prev(). |
|
Move forward.
Definition at line 242 of file sbacklnk.cpp. References SExpressionCons::Cdr(), GetPtr(), and SReference::IsEmptyList(). |
|
Move backward.
Definition at line 250 of file sbacklnk.cpp. References GetPtr(), SReference::IsEmptyList(), and SExpressionBacklink::Prev(). |
|
Add item to list. For a list, adds another dotted pair to its end. For non-lists, the result is undefined. Referenced by SReference::operator,(). |
|
Make/change dotted list.
Referenced by SReference::operator||(). |
|
Make a cons. Produces a cons (dotted pair) using *this as the CAR and the given argument as the CDR Referenced by SReference::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 SReference::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 SReference::MakeCons(). |
|
Equality is just pointer comparision.
Definition at line 556 of file sexpress.hpp. References SReference::GetPtr(). |
|
Equality is just pointer comparision.
Definition at line 562 of file sexpress.hpp. References SReference::GetPtr(). |
|
Non-equality is just pointer comparision.
Definition at line 559 of file sexpress.hpp. References SReference::GetPtr(). |
|
Non-equality is just pointer comparision.
Definition at line 565 of file sexpress.hpp. References SReference::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(), 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 SReference::GetPtr(), IntelibTypeId::IsSubtypeOf(), and SExpression::TermType(). Referenced by LispLambdaBody::DoAnalyseLambdaList(), SExpressionBacklink::InsertAfter(), operator,(), pretty_print(), IntelibGenericReader::Read(), Remove(), SExpressionBacklink::RemoveNext(), RetrieveFunctionObject(), SQueue::SQueue(), and SExpressionBacklink::~SExpressionBacklink(). |
|
Definition at line 695 of file sexpress.hpp. References SReference::GetPtr(), and SExpression::TermType(). |
|
Referenced by SExpressionVector::Clone(), and SExpressionHashTable::Clone(). |
|
|
|
|
|
|