|  | 
|  | OFshared_ptr (T *const pt=OFnullptr) | 
|  | Constructs a shared_ptr with pt as the managed object. 
 | 
|  | 
|  | OFshared_ptr (const OFshared_ptr &other) | 
|  | Constructs a shared_ptr which shares ownership of the object managed by other. 
 | 
|  | 
| OFshared_ptr & | operator= (const OFshared_ptr &other) | 
|  | Replaces the managed object with the one managed by other. 
 | 
|  | 
|  | ~OFshared_ptr () | 
|  | If *this owns an object and it is the last shared_ptr owning it, the object is destroyed. 
 | 
|  | 
|  | operator OFBool () const | 
|  | Checks if *this manages an object, i.e. 
 | 
|  | 
| OFBool | operator! () const | 
|  | Checks if *this does not manage an object, i.e. 
 | 
|  | 
| T & | operator* () const | 
|  | Dereferences pointer to the managed object. 
 | 
|  | 
| T * | operator-> () const | 
|  | Dereferences pointer to the managed object. 
 | 
|  | 
| T * | get () const | 
|  | Returns a pointer to the managed object. 
 | 
|  | 
| void | reset (T *const pt=OFnullptr) | 
|  | Replaces the managed object with an object pointed to by pt. 
 | 
|  | 
template<typename T>
class OFshared_ptr< T >
OFshared_ptr is a smart pointer that retains shared ownership of an object through a pointer. 
Several OFshared_ptr objects may own the same object; the object is destroyed when the last remaining OFshared_ptr referring to it is destroyed or reset.
An OFshared_ptr may also own no objects, in which case it is called empty.
OFshared_ptr meets the requirements of CopyConstructible and CopyAssignable. 
- Template Parameters
- 
  
    | T | the type of the managed object, e.g. int for an OFshared_ptr behaving like an int*. |  
 
- Note
- this implementation is meant to be a subset of the c++11's std::shared_ptr that lacks the following features: swap support, support for weak references, atomic access to the managed object, custom deleters and some functions like comparing OFshared_ptrs or read access to the reference counter. see http://en.cppreference.com/w/cpp/memory/shared_ptr to compare OFshared_ptr against std::shared_ptr.