Boost C++ Libraries 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 for the latest Boost documentation.

Class template signal

boost::signal — Safe multicast callback.


// In header: <boost/signal.hpp>

template<typename Signature, typename Combiner = last_value<R>, 
         typename Group = int, typename GroupCompare = std::less<Group>, 
         typename SlotFunction = functionN<Signature> > 
class signal : public signalN<R, T1, T2, ..., TN, Combiner, Group, GroupCompare, SlotFunction>
  // construct/copy/destruct
  signal(const combiner_type& = combiner_type(), 
         const group_compare_type& = group_compare_type());


Class template signal is a thin wrapper around the numbered class templates signal0, signal1, etc. It accepts a function type with N arguments instead of N separate arguments, and derives from the appropriate signalN instantiation.

All functionality of this class template is in its base class signalN.

Template Parameters

  1. typename Signature

  2. typename Combiner = last_value<R>
  3. typename Group = int
  4. typename GroupCompare = std::less<Group>
  5. typename SlotFunction = functionN<Signature>

signal public construct/copy/destruct

  1. signal(const combiner_type& combiner = combiner_type(), 
           const group_compare_type& compare = group_compare_type());


    Initializes the base class with the given combiner and comparison objects.