#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/spinlock_pool.hpp>
#include <boost/memory_order.hpp>
#include <algorithm>
#include <functional>
#include <typeinfo>
#include <iosfwd>
#include <boost/smart_ptr/detail/operator_bool.hpp>
Go to the source code of this file.
Classes | |
struct | boost::detail::const_cast_tag |
struct | boost::detail::dynamic_cast_tag |
struct | boost::detail::polymorphic_cast_tag |
class | boost::shared_ptr< T > |
struct | boost::detail::shared_ptr_traits< T > |
struct | boost::detail::shared_ptr_traits< void > |
struct | boost::detail::shared_ptr_traits< void const > |
struct | boost::detail::shared_ptr_traits< void const volatile > |
struct | boost::detail::shared_ptr_traits< void volatile > |
struct | boost::detail::sp_enable_if_auto_ptr< T, R > |
struct | boost::detail::sp_enable_if_auto_ptr< std::auto_ptr< T >, R > |
struct | boost::detail::static_cast_tag |
Namespaces | |
namespace | boost |
namespace | boost::detail |
Functions | |
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, memory_order, memory_order) |
template<class T > | |
shared_ptr< T > | boost::atomic_exchange (shared_ptr< T > *p, shared_ptr< T > r) |
template<class T > | |
shared_ptr< T > | boost::atomic_exchange_explicit (shared_ptr< T > *p, shared_ptr< T > r, memory_order) |
template<class T > | |
bool | boost::atomic_is_lock_free (shared_ptr< T > const *) |
template<class T > | |
shared_ptr< T > | boost::atomic_load (shared_ptr< T > const *p) |
template<class T > | |
shared_ptr< T > | boost::atomic_load_explicit (shared_ptr< T > const *p, memory_order) |
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, memory_order) |
template<class T , class U > | |
shared_ptr< T > | boost::const_pointer_cast (shared_ptr< U > const &r) |
template<class T , class U > | |
shared_ptr< T > | boost::dynamic_pointer_cast (shared_ptr< U > const &r) |
template<class D , class T > | |
D * | boost::get_deleter (shared_ptr< T > const &p) |
template<class T > | |
T * | boost::get_pointer (shared_ptr< T > const &p) |
template<class T , class U > | |
bool | boost::operator!= (shared_ptr< T > const &a, shared_ptr< U > const &b) |
template<class T , class U > | |
bool | boost::operator< (shared_ptr< T > const &a, shared_ptr< U > const &b) |
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 T , class U > | |
bool | boost::operator== (shared_ptr< T > const &a, shared_ptr< U > const &b) |
template<class T , class U > | |
shared_ptr< T > | boost::shared_dynamic_cast (shared_ptr< U > const &r) |
template<class T , class U > | |
shared_ptr< T > | boost::shared_polymorphic_cast (shared_ptr< U > const &r) |
template<class T , class U > | |
shared_ptr< T > | boost::shared_polymorphic_downcast (shared_ptr< U > const &r) |
template<class T , class U > | |
shared_ptr< T > | boost::shared_static_cast (shared_ptr< U > const &r) |
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) |
void | boost::detail::sp_enable_shared_from_this (...) |
template<class T , class U > | |
shared_ptr< T > | boost::static_pointer_cast (shared_ptr< U > const &r) |
template<class T > | |
void | boost::swap (shared_ptr< T > &a, shared_ptr< T > &b) |