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 to view this page for the latest version.

Class template signal

boost::signal — Safe multicast callback.


template<typename Signature,   // Function type R (T1, T2, ..., TN)
         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.

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.