| Home | Libraries | People | FAQ | More

## 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_ptr`s 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.