Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

ONE::util::DeepCopy< Ptr > Class Template Reference

List of all members.

Detailed Description

template<typename Ptr>
class ONE::util::DeepCopy< Ptr >

deep copy ownership policy

SmartPointer s using this policy replicate the pointed-to object every time they themselves are replicated. This policy is especially useful for transporting polymorphic objects. The policy assumes the presence of a clone() member function in the pointee class that returns a pointer to the cloned object.

Note:
this class is based on the SmartPtr implementation presented in "Modern C++ Design" by Andrei Alexandrescu
Author:
Daniel Seibert


Protected Types

enum  { OWNERSHIP_TRANSFER = false }

Protected Member Functions

template<typename U>
 DeepCopy (const DeepCopy< U > &)
 DeepCopy ()

Static Protected Member Functions

static Ptr clone (const Ptr &obj)
static bool release (const Ptr &)
static void swap (DeepCopy &)


Member Enumeration Documentation

template<typename Ptr>
anonymous enum [protected]
 

Enumerator:
OWNERSHIP_TRANSFER 


Constructor & Destructor Documentation

template<typename Ptr>
ONE::util::DeepCopy< Ptr >::DeepCopy  )  [inline, protected]
 

template<typename Ptr>
template<typename U>
ONE::util::DeepCopy< Ptr >::DeepCopy const DeepCopy< U > &   )  [inline, protected]
 


Member Function Documentation

template<typename Ptr>
static Ptr ONE::util::DeepCopy< Ptr >::clone const Ptr &  obj  )  [inline, static, protected]
 

template<typename Ptr>
static bool ONE::util::DeepCopy< Ptr >::release const Ptr &   )  [inline, static, protected]
 

template<typename Ptr>
static void ONE::util::DeepCopy< Ptr >::swap DeepCopy< Ptr > &   )  [inline, static, protected]
 


Generated on Wed Sep 7 19:03:31 2005 for ONEngine by  doxygen 1.4.3