Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
shared_ptr.hpp File Reference
#include <boost/config.hpp>
#include <boost/config/no_tr1/memory.hpp>
#include <boost/assert.hpp>
#include <boost/checked_delete.hpp>
#include <boost/throw_exception.hpp>
#include <boost/smart_ptr/detail/shared_count.hpp>
#include <boost/detail/workaround.hpp>
#include <boost/smart_ptr/detail/sp_convertible.hpp>
#include <boost/smart_ptr/detail/sp_nullptr_t.hpp>
#include <boost/smart_ptr/detail/spinlock_pool.hpp>
#include <algorithm>
#include <functional>
#include <typeinfo>
#include <cstddef>
#include <iosfwd>
#include <boost/smart_ptr/detail/operator_bool.hpp>
Include dependency graph for shared_ptr.hpp:
This graph shows which files directly or indirectly include this file:

Classes

singleton  boost::shared_ptr< T >
 
singleton  boost::weak_ptr< T >
 
singleton  boost::enable_shared_from_this< T >
 
struct  boost::detail::sp_element< T >
 
struct  boost::detail::sp_element< T[] >
 
struct  boost::detail::sp_element< T[N] >
 
struct  boost::detail::sp_dereference< T >
 
struct  boost::detail::sp_dereference< void >
 
struct  boost::detail::sp_dereference< void const >
 
struct  boost::detail::sp_dereference< void volatile >
 
struct  boost::detail::sp_dereference< void const volatile >
 
struct  boost::detail::sp_dereference< T[] >
 
struct  boost::detail::sp_dereference< T[N] >
 
struct  boost::detail::sp_member_access< T >
 
struct  boost::detail::sp_member_access< T[] >
 
struct  boost::detail::sp_member_access< T[N] >
 
struct  boost::detail::sp_array_access< T >
 
struct  boost::detail::sp_array_access< T[] >
 
struct  boost::detail::sp_array_access< T[N] >
 
struct  boost::detail::sp_extent< T >
 
struct  boost::detail::sp_extent< T[N] >
 
struct  boost::detail::sp_enable_if_auto_ptr< T, R >
 
struct  boost::detail::sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
 
singleton  boost::shared_ptr< T >
 
class  boost::detail::esft2_deleter_wrapper
 
struct  boost::hash< T >
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::detail
 

Functions

template<class X , class Y , class T >
void boost::detail::sp_enable_shared_from_this (boost::shared_ptr< X > const *ppx, Y const *py, boost::enable_shared_from_this< T > const *pe)
 
template<class X , class Y >
void boost::detail::sp_enable_shared_from_this (boost::shared_ptr< X > *ppx, Y const *py, boost::enable_shared_from_raw const *pe)
 
void boost::detail::sp_enable_shared_from_this (...)
 
template<class Y , class T >
void boost::detail::sp_assert_convertible ()
 
template<class T , class Y >
void boost::detail::sp_pointer_construct (boost::shared_ptr< T > *ppx, Y *p, boost::detail::shared_count &pn)
 
template<class T , class Y >
void boost::detail::sp_pointer_construct (boost::shared_ptr< T[] > *, Y *p, boost::detail::shared_count &pn)
 
template<class T , std::size_t N, class Y >
void boost::detail::sp_pointer_construct (boost::shared_ptr< T[N] > *, Y *p, boost::detail::shared_count &pn)
 
template<class T , class Y >
void boost::detail::sp_deleter_construct (boost::shared_ptr< T > *ppx, Y *p)
 
template<class T , class Y >
void boost::detail::sp_deleter_construct (boost::shared_ptr< T[] > *, Y *)
 
template<class T , std::size_t N, class Y >
void boost::detail::sp_deleter_construct (boost::shared_ptr< T[N] > *, Y *)
 
template<class T , class U >
bool boost::operator== (shared_ptr< T > const &a, shared_ptr< U > const &b) BOOST_NOEXCEPT
 
template<class T , class U >
bool boost::operator!= (shared_ptr< T > const &a, shared_ptr< U > const &b) BOOST_NOEXCEPT
 
template<class T >
bool boost::operator== (shared_ptr< T > const &p, boost::detail::sp_nullptr_t) BOOST_NOEXCEPT
 
template<class T >
bool boost::operator== (boost::detail::sp_nullptr_t, shared_ptr< T > const &p) BOOST_NOEXCEPT
 
template<class T >
bool boost::operator!= (shared_ptr< T > const &p, boost::detail::sp_nullptr_t) BOOST_NOEXCEPT
 
template<class T >
bool boost::operator!= (boost::detail::sp_nullptr_t, shared_ptr< T > const &p) BOOST_NOEXCEPT
 
template<class T , class U >
bool boost::operator< (shared_ptr< T > const &a, shared_ptr< U > const &b) BOOST_NOEXCEPT
 
template<class T >
void boost::swap (shared_ptr< T > &a, shared_ptr< T > &b) BOOST_NOEXCEPT
 
template<class T , class U >
shared_ptr< Tboost::static_pointer_cast (shared_ptr< U > const &r) BOOST_NOEXCEPT
 
template<class T , class U >
shared_ptr< Tboost::const_pointer_cast (shared_ptr< U > const &r) BOOST_NOEXCEPT
 
template<class T , class U >
shared_ptr< Tboost::dynamic_pointer_cast (shared_ptr< U > const &r) BOOST_NOEXCEPT
 
template<class T , class U >
shared_ptr< Tboost::reinterpret_pointer_cast (shared_ptr< U > const &r) BOOST_NOEXCEPT
 
template<class T >
shared_ptr< T >::element_type * boost::get_pointer (shared_ptr< T > const &p) BOOST_NOEXCEPT
 
template<class E , class T , class Y >
std::basic_ostream< E, T > & boost::operator<< (std::basic_ostream< E, T > &os, shared_ptr< Y > const &p)
 
template<class D , class T >
D * boost::detail::basic_get_deleter (shared_ptr< T > const &p) BOOST_NOEXCEPT
 
template<class D , class T >
D * boost::get_deleter (shared_ptr< T > const &p) BOOST_NOEXCEPT
 
template<class T >
bool boost::atomic_is_lock_free (shared_ptr< T > const *) BOOST_NOEXCEPT
 
template<class T >
shared_ptr< Tboost::atomic_load (shared_ptr< T > const *p)
 
template<class T >
shared_ptr< Tboost::atomic_load_explicit (shared_ptr< T > const *p, int)
 
template<class T >
void boost::atomic_store (shared_ptr< T > *p, shared_ptr< T > r)
 
template<class T >
void boost::atomic_store_explicit (shared_ptr< T > *p, shared_ptr< T > r, int)
 
template<class T >
shared_ptr< Tboost::atomic_exchange (shared_ptr< T > *p, shared_ptr< T > r)
 
template<class T >
shared_ptr< Tboost::atomic_exchange_explicit (shared_ptr< T > *p, shared_ptr< T > r, int)
 
template<class T >
bool boost::atomic_compare_exchange (shared_ptr< T > *p, shared_ptr< T > *v, shared_ptr< T > w)
 
template<class T >
bool boost::atomic_compare_exchange_explicit (shared_ptr< T > *p, shared_ptr< T > *v, shared_ptr< T > w, int, int)
 
template<class T >
std::size_t boost::hash_value (boost::shared_ptr< T > const &p) BOOST_NOEXCEPT