![]() |
This class stores a reference counter as well as a Singular interpreter object. More...
Public Types | |
typedef CountedRefWeakPtr< self * > | back_ptr |
typedef LeftvDeep::copy_tag | copy_tag |
typedef back_ptr::ptr_type | ptr_type |
Fix smart pointer type to referenced data. More... | |
typedef CountedRefPtr< ring, true > | ring_ptr |
Fix smart pointer type to ring. More... | |
![]() | |
typedef short | count_type |
Name numerical type for enumbering. More... | |
Public Member Functions | |
CountedRefData () | |
Construct shared memory empty Singular object. More... | |
CountedRefData (leftv data) | |
Reference Singular object. More... | |
CountedRefData (leftv data, copy_tag do_copy) | |
Construct reference for Singular object. More... | |
~CountedRefData () | |
Destruct. More... | |
ptr_type | wrapid () |
Generate object for indexing. More... | |
back_ptr | weakref () |
Gerenate weak (but managed) reference to *this . More... | |
self & | operator= (leftv rhs) |
Replace with other Singular data. More... | |
BOOLEAN | put (leftv res) |
Write (shallow) copy to given handle. More... | |
LeftvShallow | operator* () const |
Extract (shallow) copy of stored data. More... | |
BOOLEAN | rering () |
Determine active ring when ring dependency changes. More... | |
idhdl * | root () |
Get the current context. More... | |
BOOLEAN | broken () const |
Check whether identifier became invalid. More... | |
BOOLEAN | assign (leftv result, leftv arg) |
Reassign actual object. More... | |
BOOLEAN | retrieve (leftv res) |
Recover additional information (e.g. subexpression) from likewise object. More... | |
BOOLEAN | unassigned () const |
Check whether data is all-zero. More... | |
![]() | |
RefCounter (...) | |
Any Constructor resets the counter. More... | |
~RefCounter () | |
Destructor. More... | |
Protected Attributes | |
LeftvDeep | m_data |
Singular object. More... | |
ring_ptr | m_ring |
Store namespace for ring-dependent objects. More... | |
back_ptr | m_back |
Reference to actual object for wrap structures. More... | |
Private Types | |
typedef CountedRefData | self |
typedef RefCounter | base |
Private Member Functions | |
CountedRefData (leftv wrapid, back_ptr back) | |
Generate object linked to other reference (e.g. for subscripts) More... | |
BOOLEAN | complain (const char *text) const |
Raise error message and return TRUE . More... | |
Disallow copying to avoid inconsistence | |
self & | operator= (const self &) |
CountedRefData (const self &) | |
Static Private Member Functions | |
static ring | parent (leftv rhs) |
Store ring for ring-dependent objects. More... | |
This class stores a reference counter as well as a Singular interpreter object.
It also take care of the context, e.g. the current ring, wrap object, etc.
Definition at line 41 of file countedref.cc.
typedef CountedRefWeakPtr<self*> CountedRefData::back_ptr |
Definition at line 45 of file countedref.cc.
|
private |
Definition at line 47 of file countedref.cc.
Definition at line 61 of file countedref.cc.
Fix smart pointer type to referenced data.
Definition at line 64 of file countedref.cc.
typedef CountedRefPtr<ring, true> CountedRefData::ring_ptr |
Fix smart pointer type to ring.
Definition at line 67 of file countedref.cc.
|
private |
Definition at line 43 of file countedref.cc.
Generate object linked to other reference (e.g. for subscripts)
Definition at line 50 of file countedref.cc.
|
inlineexplicit |
Construct shared memory empty Singular object.
Definition at line 70 of file countedref.cc.
|
inlineexplicit |
Reference Singular object.
Definition at line 74 of file countedref.cc.
Construct reference for Singular object.
Definition at line 78 of file countedref.cc.
|
inline |
Destruct.
Definition at line 82 of file countedref.cc.
Reassign actual object.
Definition at line 142 of file countedref.cc.
|
inline |
Check whether identifier became invalid.
Definition at line 123 of file countedref.cc.
|
inline |
Extract (shallow) copy of stored data.
Definition at line 111 of file countedref.cc.
Replace with other Singular data.
Definition at line 101 of file countedref.cc.
|
inlinestaticprivate |
Store ring for ring-dependent objects.
Definition at line 165 of file countedref.cc.
Write (shallow) copy to given handle.
Definition at line 108 of file countedref.cc.
|
inline |
Determine active ring when ring dependency changes.
Definition at line 114 of file countedref.cc.
Recover additional information (e.g. subexpression) from likewise object.
Definition at line 151 of file countedref.cc.
|
inline |
Get the current context.
Definition at line 120 of file countedref.cc.
|
inline |
Check whether data is all-zero.
Definition at line 154 of file countedref.cc.
|
inline |
Gerenate weak (but managed) reference to *this
.
Definition at line 95 of file countedref.cc.
|
inline |
Generate object for indexing.
Definition at line 92 of file countedref.cc.
|
protected |
Reference to actual object for wrap structures.
Definition at line 178 of file countedref.cc.
|
protected |
Singular object.
Definition at line 172 of file countedref.cc.
|
protected |
Store namespace for ring-dependent objects.
Definition at line 175 of file countedref.cc.