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
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.