ViennaCL - The Vienna Computing Library: viennacl::tools::shared_ptr< T > Class Template Reference

ViennaCL - The Vienna Computing Library 1.7.1 Free open-source GPU-accelerated linear algebra and solver library. |

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Friends | List of all members
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_ptr & | operator= (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:

- viennacl/tools/shared_ptr.hpp