MADNESS  version 0.9
Classes | Namespaces | Functions
shared_ptr_bits.h File Reference
#include <madness/world/atomicint.h>
#include <madness/world/worldexc.h>
#include <madness/world/type_traits.h>
#include <algorithm>
#include <functional>
#include <typeinfo>
#include <cstddef>
#include <iosfwd>
Include dependency graph for shared_ptr_bits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  madness::Hash< T >
 Hash functor. More...
 
class  madness::tr1::shptr::shared_ptr< T >
 
class  madness::tr1::shptr::weak_ptr< T >
 
class  madness::tr1::shptr::enable_shared_from_this< T >
 
class  madness::tr1::shptr::enable_shared_from_this2< T >
 
struct  madness::tr1::shptr::bad_weak_ptr
 
struct  madness::tr1::shptr::detail::sp_convertible< Y, T >
 
struct  madness::tr1::shptr::detail::sp_empty
 
struct  madness::tr1::shptr::detail::enable_if_convertible_impl< bool >
 
struct  madness::tr1::shptr::detail::enable_if_convertible_impl< true >
 
struct  madness::tr1::shptr::detail::enable_if_convertible_impl< false >
 
struct  madness::tr1::shptr::detail::enable_if_convertible< Y, T >
 
struct  madness::tr1::shptr::detail::static_cast_tag
 
struct  madness::tr1::shptr::detail::const_cast_tag
 
struct  madness::tr1::shptr::detail::dynamic_cast_tag
 
struct  madness::tr1::shptr::detail::sp_nothrow_tag
 
struct  madness::tr1::shptr::detail::shared_ptr_traits< T >
 
struct  madness::tr1::shptr::detail::shared_ptr_traits< void >
 
struct  madness::tr1::shptr::detail::shared_ptr_traits< void const >
 
struct  madness::tr1::shptr::detail::shared_ptr_traits< void volatile >
 
struct  madness::tr1::shptr::detail::shared_ptr_traits< void const volatile >
 
class  madness::tr1::shptr::detail::sp_counted_base
 
class  madness::tr1::shptr::detail::sp_counted_impl_p< X >
 
class  madness::tr1::shptr::detail::sp_counted_impl_pd< Y, D >
 
class  madness::tr1::shptr::detail::shared_count
 
class  madness::tr1::shptr::detail::weak_count
 
class  madness::tr1::shptr::shared_ptr< T >
 
class  madness::tr1::shptr::weak_ptr< T >
 
class  madness::tr1::shptr::enable_shared_from_this< T >
 
class  madness::tr1::shptr::detail::esft2_deleter_wrapper
 
class  madness::tr1::shptr::enable_shared_from_this2< T >
 

Namespaces

 madness
 Holds machinery to set up Functions/FuncImpls using various Factories and Interfaces.
 
 madness::tr1
 
 madness::tr1::shptr
 
 madness::tr1::shptr::detail
 

Functions

template<class X , class Y , class T >
void madness::tr1::shptr::detail::sp_enable_shared_from_this (shared_ptr< X > const *ppx, Y const *py, enable_shared_from_this< T > const *pe)
 
template<class X , class Y , class T >
void madness::tr1::shptr::detail::sp_enable_shared_from_this (shared_ptr< X > *ppx, Y const *py, enable_shared_from_this2< T > const *pe)
 
void madness::tr1::shptr::detail::sp_enable_shared_from_this (...)
 
template<class T , class U >
bool madness::tr1::shptr::operator== (shared_ptr< T > const &a, shared_ptr< U > const &b)
 
template<class T , class U >
bool madness::tr1::shptr::operator!= (shared_ptr< T > const &a, shared_ptr< U > const &b)
 
template<class T , class U >
bool madness::tr1::shptr::operator< (shared_ptr< T > const &a, shared_ptr< U > const &b)
 
template<class T >
void madness::tr1::shptr::swap (shared_ptr< T > &a, shared_ptr< T > &b)
 
template<class T , class U >
shared_ptr< T > madness::tr1::shptr::static_pointer_cast (shared_ptr< U > const &r)
 
template<class T , class U >
shared_ptr< T > madness::tr1::shptr::const_pointer_cast (shared_ptr< U > const &r)
 
template<class T , class U >
shared_ptr< T > madness::tr1::shptr::dynamic_pointer_cast (shared_ptr< U > const &r)
 
template<class T >
T * madness::tr1::shptr::get_pointer (shared_ptr< T > const &p)
 
template<class Y >
std::ostream & madness::tr1::shptr::operator<< (std::ostream &os, shared_ptr< Y > const &p)
 
template<class D , class T >
D * madness::tr1::shptr::get_deleter (shared_ptr< T > const &p)
 
template<class T >
std::size_t madness::tr1::shptr::hash_value (shared_ptr< T > const &p)
 
template<class T , class U >
bool madness::tr1::shptr::operator< (weak_ptr< T > const &a, weak_ptr< U > const &b)
 
template<class T >
void madness::tr1::shptr::swap (weak_ptr< T > &a, weak_ptr< T > &b)