Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

Class template enable_shared_from_this

boost::interprocess::enable_shared_from_this

Synopsis

// In header: <boost/interprocess/smart_ptr/enable_shared_from_this.hpp>

template<typename T, typename A, typename D> 
class enable_shared_from_this {
public:
  // construct/copy/destruct
  enable_shared_from_this();
  enable_shared_from_this(enable_shared_from_this const &);
  enable_shared_from_this& operator=(enable_shared_from_this const &);
  ~enable_shared_from_this();

  // public member functions
  shared_ptr< T, A, D > shared_from_this();
  shared_ptr< T const, A, D > shared_from_this() const;
  mutable weak_ptr< element_type, A, D > _internal_weak_this;  // @ typedef T element_type; 
};

Description

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. enable_shared_from_this defines two member functions called shared_from_this that return a shared_ptr<T> and shared_ptr<T const>, depending on constness, to this.

enable_shared_from_this public construct/copy/destruct

  1. enable_shared_from_this();
    @ protected:
  2. enable_shared_from_this(enable_shared_from_this const &);
  3. enable_shared_from_this& operator=(enable_shared_from_this const &);
  4. ~enable_shared_from_this();

enable_shared_from_this public member functions

  1. shared_ptr< T, A, D > shared_from_this();
  2. shared_ptr< T const, A, D > shared_from_this() const;

PrevUpHomeNext