ViennaCL - The Vienna Computing Library: viennacl/tools/shared_ptr.hpp File 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
Classes | Namespaces
shared_ptr.hpp File Reference

Implementation of a shared pointer class (cf. std::shared_ptr, boost::shared_ptr). Will be used until C++11 is widely available. More...

`#include <cstdlib>`
`#include <algorithm>`

Go to the source code of this file.

## Classes
class | viennacl::tools::detail::count
| Reference counting class for the shared_ptr implementation. More...
struct | viennacl::tools::detail::aux
| Interface for the reference counter inside the shared_ptr. More...
struct | viennacl::tools::detail::auximpl< U, Deleter >
| Implementation helper for the reference counting mechanism inside shared_ptr. More...
struct | viennacl::tools::detail::default_deleter< U >
| Default deleter class for a pointer. The default is to just call 'delete' on the pointer. Provide your own implementations for 'delete[]' and 'free'. More...
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. More...

## Namespaces
| viennacl
| Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
| viennacl::tools
| Namespace for various tools used within ViennaCL.
| viennacl::tools::detail
| Contains implementation details for the tools. Usually not of interest for the library user.

## Detailed Description

Implementation of a shared pointer class (cf. std::shared_ptr, boost::shared_ptr). Will be used until C++11 is widely available.

Contributed by Philippe Tillet.

Definition in file shared_ptr.hpp.