ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
viennacl::tools::shared_ptr< T > Class Template Reference

A shared pointer class similar to boost::shared_ptr. Reimplemented in order to avoid a Boost-dependency. Will be replaced by std::shared_ptr as soon as C++11 is widely available. More...

#include <shared_ptr.hpp>

Public Member Functions

 shared_ptr ()
 
template<class U , class Deleter >
 shared_ptr (U *pu, Deleter d)
 
template<class U >
 shared_ptr (U *pu)
 
T * get () const
 
T * operator-> () const
 
T & operator* () const
 
 shared_ptr (const shared_ptr &s)
 
template<class U >
 shared_ptr (const shared_ptr< U > &s)
 
 ~shared_ptr ()
 
void reset ()
 
void reset (T *ptr)
 
void swap (shared_ptr< T > &other)
 
shared_ptroperator= (const shared_ptr &s)
 
void inc ()
 
void dec ()
 

Friends

template<class U >
class shared_ptr
 

Detailed Description

template<class T>
class viennacl::tools::shared_ptr< T >

A shared pointer class similar to boost::shared_ptr. Reimplemented in order to avoid a Boost-dependency. Will be replaced by std::shared_ptr as soon as C++11 is widely available.

Definition at line 83 of file shared_ptr.hpp.

Constructor & Destructor Documentation

template<class T>
viennacl::tools::shared_ptr< T >::shared_ptr ( )
inline

Definition at line 93 of file shared_ptr.hpp.

template<class T>
template<class U , class Deleter >
viennacl::tools::shared_ptr< T >::shared_ptr ( U *  pu,
Deleter  d 
)
inline

Definition at line 96 of file shared_ptr.hpp.

template<class T>
template<class U >
viennacl::tools::shared_ptr< T >::shared_ptr ( U *  pu)
inlineexplicit

Definition at line 99 of file shared_ptr.hpp.

template<class T>
viennacl::tools::shared_ptr< T >::shared_ptr ( const shared_ptr< T > &  s)
inline

Definition at line 107 of file shared_ptr.hpp.

template<class T>
template<class U >
viennacl::tools::shared_ptr< T >::shared_ptr ( const shared_ptr< U > &  s)
inline

Definition at line 113 of file shared_ptr.hpp.

template<class T>
viennacl::tools::shared_ptr< T >::~shared_ptr ( )
inline

Definition at line 118 of file shared_ptr.hpp.

Member Function Documentation

template<class T>
void viennacl::tools::shared_ptr< T >::dec ( )
inline

Definition at line 159 of file shared_ptr.hpp.

template<class T>
T* viennacl::tools::shared_ptr< T >::get ( ) const
inline

Definition at line 101 of file shared_ptr.hpp.

template<class T>
void viennacl::tools::shared_ptr< T >::inc ( )
inline

Definition at line 154 of file shared_ptr.hpp.

template<class T>
T& viennacl::tools::shared_ptr< T >::operator* ( void  ) const
inline

Definition at line 105 of file shared_ptr.hpp.

template<class T>
T* viennacl::tools::shared_ptr< T >::operator-> ( ) const
inline

Definition at line 103 of file shared_ptr.hpp.

template<class T>
shared_ptr& viennacl::tools::shared_ptr< T >::operator= ( const shared_ptr< T > &  s)
inline

Definition at line 140 of file shared_ptr.hpp.

template<class T>
void viennacl::tools::shared_ptr< T >::reset ( )
inline

Definition at line 123 of file shared_ptr.hpp.

template<class T>
void viennacl::tools::shared_ptr< T >::reset ( T *  ptr)
inline

Definition at line 128 of file shared_ptr.hpp.

template<class T>
void viennacl::tools::shared_ptr< T >::swap ( shared_ptr< T > &  other)
inline

Definition at line 133 of file shared_ptr.hpp.

Friends And Related Function Documentation

template<class T>
template<class U >
friend class shared_ptr
friend

Definition at line 86 of file shared_ptr.hpp.


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