#include <Value_Ptr.h>
Collaboration diagram for ACE::Value_Ptr< T >:

Public Member Functions | |
| Value_Ptr (T *p=0) | |
| Constructor.   | |
| ~Value_Ptr (void) | |
| Destructor.   | |
| T & | operator * (void) const | 
| Deference operator.   | |
| T * | operator-> (void) const | 
| Pointer operator.   | |
| void | swap (Value_Ptr &other) | 
| Value_Ptr (Value_Ptr const &other) | |
| Copy constructor.   | |
| Value_Ptr & | operator= (Value_Ptr const &other) | 
| Assignment operator.   | |
| template<typename U> | Value_Ptr (Value_Ptr< U > const &other) | 
| Converting copy constructor.   | |
| template<typename U> Value_Ptr & | operator= (Value_Ptr< U > const &other) | 
| Converting assignment operator.   | |
Private Member Functions | |
| template<typename U> T * | create_from (U const *p) const | 
| Copying method invoked when copy constructing.   | |
Private Attributes | |
| T * | p_ | 
Object owned by this Value_Ptr.   | |
Friends | |
| class | Value_Ptr | 
Using a std::auto_ptr<> as a class member is sometimes problematic since ownership of memory is transferred when copying such members. This Value_Ptr class is explicitly designed to avoid such problems by performing copies of the underlying object rather than transfer ownership. This, for example, allows it to be readily used as a member in classes placed inside STL containers.
Definition at line 67 of file Value_Ptr.h.
      
  | 
  ||||||||||
| 
 Constructor. 
 Definition at line 72 of file Value_Ptr.h. 
 00072 : p_ (p) { }  | 
  
      
  | 
  ||||||||||
| 
 Destructor. 
 Definition at line 75 of file Value_Ptr.h. 
 00075 { delete this->p_; }
 | 
  
      
  | 
  ||||||||||
| 
 Copy constructor. 
 Definition at line 94 of file Value_Ptr.h. References ACE::Value_Ptr< T >::create_from(). 
 00095 : p_ (create_from (other.p_)) { }  | 
  
      
  | 
  ||||||||||||||
| 
 Converting copy constructor. 
 Definition at line 113 of file Value_Ptr.h. References ACE::Value_Ptr< T >::create_from(). 
 00114 : p_ (create_from (other.p_)) { }  | 
  
      
  | 
  ||||||||||||||
| 
 Copying method invoked when copy constructing. 
 Definition at line 134 of file Value_Ptr.h. Referenced by ACE::Value_Ptr< T >::Value_Ptr(). 
 00135     {
00136       return p ? VP_traits<U>::clone (p) : 0;
00137     }
 | 
  
      
  | 
  ||||||||||
| 
 Deference operator. 
 Definition at line 78 of file Value_Ptr.h. 
 00078 { return *this->p_; }
 | 
  
      
  | 
  ||||||||||
| 
 Pointer operator. 
 Definition at line 81 of file Value_Ptr.h. 
 00081 { return this->p_; }
 | 
  
      
  | 
  ||||||||||||||
| 
 Converting assignment operator. 
 Definition at line 118 of file Value_Ptr.h. References ACE::Value_Ptr< T >::swap(). 
  | 
  
      
  | 
  ||||||||||
| 
 Assignment operator. 
 Definition at line 98 of file Value_Ptr.h. References ACE::Value_Ptr< T >::swap(). 
  | 
  
      
  | 
  ||||||||||
| 
 
 
 Definition at line 91 of file Value_Ptr.h. References ACE::Value_Ptr< T >::p_. Referenced by ACE::Value_Ptr< T >::operator=(). 
 00091 { std::swap (this->p_, other.p_); }
 | 
  
      
  | 
  |||||
| 
 
 Definition at line 155 of file Value_Ptr.h.  | 
  
      
  | 
  |||||
| 
 
Object owned by this  
 Definition at line 159 of file Value_Ptr.h. Referenced by ACE::Value_Ptr< T >::swap().  | 
  
 
1.3.6