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

Describes the smart pointer shared_ptr. More...

#include <boost/interprocess/detail/config_begin.hpp>
#include <boost/interprocess/detail/workaround.hpp>
#include <boost/interprocess/detail/utilities.hpp>
#include <boost/interprocess/detail/cast_tags.hpp>
#include <boost/assert.hpp>
#include <boost/interprocess/smart_ptr/detail/shared_count.hpp>
#include <boost/interprocess/detail/mpl.hpp>
#include <boost/move/utility_core.hpp>
#include <boost/interprocess/detail/type_traits.hpp>
#include <boost/interprocess/allocators/allocator.hpp>
#include <boost/interprocess/smart_ptr/deleter.hpp>
#include <boost/static_assert.hpp>
#include <boost/intrusive/pointer_traits.hpp>
#include <algorithm>
#include <functional>
#include <typeinfo>
#include <iosfwd>
#include <boost/interprocess/detail/config_end.hpp>
Include dependency graph for shared_ptr.hpp:
This graph shows which files directly or indirectly include this file:

Classes

class  boost::interprocess::weak_ptr< T, A, D >
 The weak_ptr class template stores a "weak reference" to an object that's already managed by a shared_ptr. More...
 
singleton  boost::interprocess::enable_shared_from_this< T, A, D >
 This class is used as a base class that allows a shared_ptr to the current object to be obtained from within a member function. More...
 
class  boost::interprocess::shared_ptr< T, VoidAllocator, Deleter >
 shared_ptr stores a pointer to a dynamically allocated object. More...
 
struct  boost::interprocess::managed_shared_ptr< T, ManagedMemory >
 Returns the type of a shared pointer of type T with the allocator boost::interprocess::allocator allocator and boost::interprocess::deleter deleter that can be constructed in the given managed segment type. More...
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::interprocess
 
 boost::interprocess::ipcdetail
 

Functions

template<class T , class VoidAllocator , class Deleter >
void boost::interprocess::ipcdetail::sp_enable_shared_from_this (shared_count< T, VoidAllocator, Deleter > const &pn, enable_shared_from_this< T, VoidAllocator, Deleter > *pe, T *ptr)
 
template<class T , class VoidAllocator , class Deleter >
void boost::interprocess::ipcdetail::sp_enable_shared_from_this (shared_count< T, VoidAllocator, Deleter > const &,...)
 
template<class T , class VoidAllocator , class Deleter , class U , class VoidAllocator2 , class Deleter2 >
bool boost::interprocess::operator== (shared_ptr< T, VoidAllocator, Deleter > const &a, shared_ptr< U, VoidAllocator2, Deleter2 > const &b)
 
template<class T , class VoidAllocator , class Deleter , class U , class VoidAllocator2 , class Deleter2 >
bool boost::interprocess::operator!= (shared_ptr< T, VoidAllocator, Deleter > const &a, shared_ptr< U, VoidAllocator2, Deleter2 > const &b)
 
template<class T , class VoidAllocator , class Deleter , class U , class VoidAllocator2 , class Deleter2 >
bool boost::interprocess::operator< (shared_ptr< T, VoidAllocator, Deleter > const &a, shared_ptr< U, VoidAllocator2, Deleter2 > const &b)
 
template<class T , class VoidAllocator , class Deleter >
void boost::interprocess::swap (shared_ptr< T, VoidAllocator, Deleter > &a, shared_ptr< T, VoidAllocator, Deleter > &b)
 
template<class T , class VoidAllocator , class Deleter , class U >
shared_ptr< T, VoidAllocator,
Deleter > 
boost::interprocess::static_pointer_cast (shared_ptr< U, VoidAllocator, Deleter > const &r)
 
template<class T , class VoidAllocator , class Deleter , class U >
shared_ptr< T, VoidAllocator,
Deleter > 
boost::interprocess::const_pointer_cast (shared_ptr< U, VoidAllocator, Deleter > const &r)
 
template<class T , class VoidAllocator , class Deleter , class U >
shared_ptr< T, VoidAllocator,
Deleter > 
boost::interprocess::dynamic_pointer_cast (shared_ptr< U, VoidAllocator, Deleter > const &r)
 
template<class T , class VoidAllocator , class Deleter >
Tboost::interprocess::to_raw_pointer (shared_ptr< T, VoidAllocator, Deleter > const &p)
 
template<class E , class T , class Y , class VoidAllocator , class Deleter >
std::basic_ostream< E, T > & boost::interprocess::operator<< (std::basic_ostream< E, T > &os, shared_ptr< Y, VoidAllocator, Deleter > const &p)
 
template<class T , class ManagedMemory >
managed_shared_ptr< T,
ManagedMemory >::type 
boost::interprocess::make_managed_shared_ptr (T *constructed_object, ManagedMemory &managed_memory)
 Returns an instance of a shared pointer constructed with the default allocator and deleter from a pointer of type T that has been allocated in the passed managed segment. More...
 
template<class T , class ManagedMemory >
managed_shared_ptr< T,
ManagedMemory >::type 
boost::interprocess::make_managed_shared_ptr (T *constructed_object, ManagedMemory &managed_memory, std::nothrow_t)
 Returns an instance of a shared pointer constructed with the default allocator and deleter from a pointer of type T that has been allocated in the passed managed segment. More...
 

Detailed Description

Describes the smart pointer shared_ptr.