Public Methods |
| Ref () |
| Create a reference to a null object.
|
| Ref (T *a) |
| Create a reference to the object a.
|
| Ref (const Ref< T > &a) |
| Create a reference to the object referred to by a.
|
template<class A> | Ref (const Ref< A > &a) |
| Create a reference to the object referred to by a.
|
| ~Ref () |
| Delete this reference to the object. More...
|
T * | operator-> () const |
| Returns the reference counted object. More...
|
T * | pointer () const |
| Returns a pointer the reference counted object.
|
RefCount * | parentpointer () const |
| Implements the parentpointer pure virtual in the base class.
|
| operator T * () const |
T & | operator * () const |
| Returns a C++ reference to the reference counted object. More...
|
int | null () const |
| Return 1 if this is a reference to a null object. More...
|
int | nonnull () const |
| Return !null().
|
template<class A> int | operator== (const Ref< A > &a) const |
| A variety of ordering and equivalence operators are provided using the Identity class.
|
template<class A> int | operator>= (const Ref< A > &a) const |
template<class A> int | operator<= (const Ref< A > &a) const |
template<class A> int | operator> (const Ref< A > &a) const |
template<class A> int | operator< (const Ref< A > &a) const |
template<class A> int | operator!= (const Ref< A > &a) const |
int | compare (const Ref< T > &a) const |
| Compare two objects returning -1, 0, or 1. More...
|
void | clear () |
| Refer to the null object.
|
Ref< T > & | operator= (const Ref< T > &c) |
| Assignment to c.
|
template<class A> Ref< T > & | operator= (const Ref< A > &c) |
| Assignment to c.
|
Ref< T > & | operator<< (const RefBase &a) |
| Assignment to the object that a references using dynamic_cast.
|
Ref< T > & | operator<< (RefCount *a) |
| Assigns to the given base class pointer using dynamic_cast. More...
|
Ref< T > & | operator= (T *cr) |
| Assignment to cr.
|
void | assign_pointer (T *cr) |
| Assignment to cr.
|
void | check_pointer () const |
| Check the validity of the pointer.
|
void | ref_info (std::ostream &os) const |
| Print information about the reference to os.
|
void | warn (const char *s) const |
| Print a warning concerning the reference.
|
Several of these operations can cause a reference to an object to be replaced by a reference to a different object. If a reference to a nonnull object is eliminated, the object's reference count is decremented and the object is deleted if the reference count becomes zero.