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 slot_base

boost::signals2::slot_base — Base class for slots.

Synopsis

// In header: <boost/signals2/slot_base.hpp>


class slot_base {
public:
  // types
  typedef std::vector<weak_ptr<void> >   tracked_container_type;
  typedef std::vector<shared_ptr<void> > locked_container_type; 

  // tracking
  bool expired() const;
  locked_container_type lock() const;
  const tracked_container_type & tracked_objects() const;
};

Description

slot_base tracking

  1. bool expired() const;

    Returns:

    true if any tracked object has expired.

  2. locked_container_type lock() const;

    Returns:

    A container holding shared_ptrs to each of the slot's tracked objects. As long as the returned container is kept in scope, none of the slot's tracked objects can expire.

    Throws:

    expired_slot if any of the slot's tracked objects have expired.
  3. const tracked_container_type & tracked_objects() const;

    Returns:

    A const reference to the slot's list of tracked objects, in weak_ptr form.

PrevUpHomeNext