DragonFly On-Line Manual Pages

Search: Section:  


sc::Ref< T >(3)                      MPQC                      sc::Ref< T >(3)

NAME

sc::Ref< T > - A template class that maintains references counts.

SYNOPSIS

#include <ref.h> Inherits sc::RefBase. Public Member Functions 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 () Create a reference to the object a. T * operator-> () const Returns the reference counted object. 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. int null () const Return 1 if this is a reference to a null object. 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. 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. 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. Additional Inherited Members Detailed Description template<class T>class sc::Ref< T > A template class that maintains references counts. 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. There also may be a to convert to T*, where T is the type of the object which Ref references. Some compilers have bugs that prevent the use of operator T*(). The pointer() member should be used instead. Constructor & Destructor Documentation template<class T> sc::Ref< T >::~Ref () [inline] Create a reference to the object a. Do a dynamic_cast to convert a to the appropiate type. Create a reference to the object a. Do a dynamic_cast to convert a to the appropiate type. Delete this reference to the object. Decrement the object's reference count and delete the object if the count is zero. Member Function Documentation template<class T> int sc::Ref< T >::compare (const Ref< T > & a) const [inline] Compare two objects returning -1, 0, or 1. Similar to the C library routine strcmp. template<class T> int sc::Ref< T >::null () const [inline] Return 1 if this is a reference to a null object. Otherwise return 0. template<class T> T& sc::Ref< T >::operator* () const [inline] Returns a C++ reference to the reference counted object. The behaviour is undefined if the object is null. template<class T> T* sc::Ref< T >::operator-> () const [inline] Returns the reference counted object. The behaviour is undefined if the object is null. template<class T> Ref<T>& sc::Ref< T >::operator<< (RefCount * a) [inline] Assigns to the given base class pointer using dynamic_cast. If the dynamic_cast fails and the argument is nonnull and has a reference count of zero, then it is deleted. template<class T> template<class A > int sc::Ref< T >::operator== (const Ref< A > & a) const [inline] A variety of ordering and equivalence operators are provided using the Identity class. Author Generated automatically by Doxygen for MPQC from the source code. Version 2.3.1 Fri Feb 19 2016 sc::Ref< T >(3)

Search: Section: