CVCL::SmartCDO< T > Class Template Reference

SmartCDO. More...

#include <smartcdo.h>

Inheritance diagram for CVCL::SmartCDO< T >:

Inheritance graph
[legend]
Collaboration diagram for CVCL::SmartCDO< T >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Private Attributes

Classes


Detailed Description

template<class T>
class CVCL::SmartCDO< T >

SmartCDO.

Author: Clark Barrett

Created: Fri Nov 12 17:33:31 2004

Wrapper for CDO which automatically allocates and deletes a pointer to a CDO. This allows the copy constructor and operator= to be defined which are especially useful for storing CDO's in vectors. All operations are const to enable use as a member of CDLists.

Be careful not to delete RefCDO during pop(), since this messes up the backtracking data structures. We delay the deletion by registering each RefCDO to be notified before and after each pop(). This makes the use of SmartCDO somewhat more expensive, so use it with care.

Definition at line 60 of file smartcdo.h.


Constructor & Destructor Documentation

template<class T>
CVCL::SmartCDO< T >::SmartCDO  )  [inline]
 

Default constructor: create a Null SmartCDO object.

Definition at line 104 of file smartcdo.h.

template<class T>
CVCL::SmartCDO< T >::SmartCDO Context context  )  [inline]
 

Create and initialize SmartCDO object at the current scope.

Definition at line 106 of file smartcdo.h.

template<class T>
CVCL::SmartCDO< T >::SmartCDO Context context,
const T &  data,
int  scope = -1
[inline]
 

Create and initialize SmartCDO object at the given scope.

Definition at line 109 of file smartcdo.h.

template<class T>
CVCL::SmartCDO< T >::~SmartCDO  )  [inline]
 

Delete.

Definition at line 112 of file smartcdo.h.

template<class T>
CVCL::SmartCDO< T >::SmartCDO const SmartCDO< T > &  cdo  )  [inline]
 

Definition at line 116 of file smartcdo.h.


Member Function Documentation

template<class T>
bool CVCL::SmartCDO< T >::isNull  )  const [inline]
 

Check if the SmartCDO object is Null.

Definition at line 102 of file smartcdo.h.

Referenced by CVCL::SmartCDO< bigunsigned >::get(), CVCL::SmartCDO< bigunsigned >::operator=(), CVCL::SmartCDO< bigunsigned >::set(), CVCL::SmartCDO< bigunsigned >::SmartCDO(), and CVCL::SmartCDO< bigunsigned >::~SmartCDO().

template<class T>
SmartCDO<T>& CVCL::SmartCDO< T >::operator= const SmartCDO< T > &  cdo  )  [inline]
 

Definition at line 119 of file smartcdo.h.

template<class T>
void CVCL::SmartCDO< T >::set const T &  data,
int  scope = -1
const [inline]
 

Definition at line 128 of file smartcdo.h.

Referenced by CVCL::SmartCDO< bigunsigned >::operator=().

template<class T>
const T& CVCL::SmartCDO< T >::get  )  const [inline]
 

Definition at line 132 of file smartcdo.h.

Referenced by CVCL::SmartCDO< T >::operator T().

template<class T>
CVCL::SmartCDO< T >::operator T  )  const [inline]
 

Definition at line 136 of file smartcdo.h.

References CVCL::SmartCDO< T >::get().

template<class T>
const SmartCDO<T>& CVCL::SmartCDO< T >::operator= const T &  data  )  const [inline]
 

Definition at line 137 of file smartcdo.h.


Member Data Documentation

template<class T>
RefCDO<T>* CVCL::SmartCDO< T >::d_data [private]
 

Definition at line 98 of file smartcdo.h.

Referenced by CVCL::SmartCDO< bigunsigned >::get(), CVCL::SmartCDO< bigunsigned >::isNull(), CVCL::SmartCDO< bigunsigned >::operator=(), CVCL::SmartCDO< bigunsigned >::set(), CVCL::SmartCDO< bigunsigned >::SmartCDO(), and CVCL::SmartCDO< bigunsigned >::~SmartCDO().


The documentation for this class was generated from the following file:
Generated on Thu Apr 13 16:57:43 2006 for CVC Lite by  doxygen 1.4.4