CernVM-FS  2.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SharedPtr< T > Class Template Reference

#include <shared_ptr.h>

Inheritance diagram for SharedPtr< T >:

Public Types

typedef T element_type
 

Public Member Functions

 SharedPtr ()
 
template<class Y >
 SharedPtr (Y *p)
 
 ~SharedPtr ()
 
 SharedPtr (SharedPtr const &r)
 
template<class Y >
 SharedPtr (SharedPtr< Y > const &r)
 
SharedPtroperator= (SharedPtr const &r)
 
template<class Y >
SharedPtroperator= (SharedPtr< Y > const &r)
 
void Reset ()
 
template<class Y >
void Reset (Y *p)
 
T & operator* () const
 
T * operator-> () const
 
element_typeGet () const
 
bool Unique () const
 
int64_t UseCount () const
 

Private Attributes

element_typevalue_
 
atomic_int64count_
 

Detailed Description

template<typename T>
class SharedPtr< T >

This file is part of the CernVM File System.

Definition at line 17 of file shared_ptr.h.

Member Typedef Documentation

template<typename T>
typedef T SharedPtr< T >::element_type

Definition at line 19 of file shared_ptr.h.

Constructor & Destructor Documentation

template<typename T>
SharedPtr< T >::SharedPtr ( )
inline

Definition at line 21 of file shared_ptr.h.

template<typename T>
template<class Y >
SharedPtr< T >::SharedPtr ( Y *  p)
inlineexplicit

Definition at line 27 of file shared_ptr.h.

template<typename T>
SharedPtr< T >::~SharedPtr ( )
inline

Definition at line 33 of file shared_ptr.h.

template<typename T>
SharedPtr< T >::SharedPtr ( SharedPtr< T > const &  r)
inline

Definition at line 43 of file shared_ptr.h.

template<typename T>
template<class Y >
SharedPtr< T >::SharedPtr ( SharedPtr< Y > const &  r)
inlineexplicit

Definition at line 51 of file shared_ptr.h.

Member Function Documentation

template<typename T>
element_type* SharedPtr< T >::Get ( ) const
inline

Definition at line 110 of file shared_ptr.h.

template<typename T>
T& SharedPtr< T >::operator* ( ) const
inline

Definition at line 102 of file shared_ptr.h.

template<typename T>
T* SharedPtr< T >::operator-> ( ) const
inline

Definition at line 106 of file shared_ptr.h.

template<typename T>
SharedPtr& SharedPtr< T >::operator= ( SharedPtr< T > const &  r)
inline

Definition at line 58 of file shared_ptr.h.

template<typename T>
template<class Y >
SharedPtr& SharedPtr< T >::operator= ( SharedPtr< Y > const &  r)
inline

Definition at line 72 of file shared_ptr.h.

template<typename T>
void SharedPtr< T >::Reset ( )
inline

Definition at line 82 of file shared_ptr.h.

template<typename T>
template<class Y >
void SharedPtr< T >::Reset ( Y *  p)
inline

Definition at line 95 of file shared_ptr.h.

template<typename T>
bool SharedPtr< T >::Unique ( ) const
inline

Definition at line 114 of file shared_ptr.h.

template<typename T>
int64_t SharedPtr< T >::UseCount ( ) const
inline

Definition at line 118 of file shared_ptr.h.

Member Data Documentation

template<typename T>
atomic_int64* SharedPtr< T >::count_
private

Definition at line 124 of file shared_ptr.h.

Referenced by SharedPtr< publish::SyncItem >::operator=().


The documentation for this class was generated from the following file: