# Boost.Signals: header `<boost/signal.hpp>`

## Header

    #include <boost/signal.hpp>

## Synopsis

The specification form for the `signal` class template uses two positive integers, BOOST_SIGNALS_MAX_ARGS and N. The former describes the maximum number of function parameters that may be passed onto the underlying slots, whereas the latter describes the number of function parameters for a given instantiation of `signal`. BOOST_SIGNALS_MAX_ARGS is present in the header as a preprocessor macro defining the maximum number of arguments supported by the implementation.

    namespace boost {
      template<typename Signature, // Function type R (T1, T2, ..., TN)
               typename Combiner = last_value<typename function_traits<Signature>::result_type>,
               typename Group = int,
               typename GroupCompare = std::less<int>,
               typename SlotFunction = function<Signature> >
      class signal : public signalN<R, T1, T2, ..., TN, Combiner, Group, GroupCompare, SlotFunction>
      {
        explicit signal(const Combiner& = Combiner(), const GroupCompare& = GroupCompare());
      };
    }

### Constructor

`explicit signal(const Combiner& combiner = Combiner(), const GroupCompare& group_compare = GroupCompare());`

- Effects: initializes base class with `combiner` and `group_compare`.

Last modified: Fri Oct 11 05:42:29 EDT 2002