unspecified-type A template keyword for signal_type. This class is a template keyword which may be used to pass the wrapped Signature template type to the signal_type metafunction as a named parameter. The code for this class is generated by a calling a macro from the Boost.Parameter library: BOOST_PARAMETER_TEMPLATE_KEYWORD(signature_type) unspecified-type A template keyword for signal_type. This class is a template keyword which may be used to pass the wrapped Combiner template type to the signal_type metafunction as a named parameter. The code for this class is generated by a calling a macro from the Boost.Parameter library: BOOST_PARAMETER_TEMPLATE_KEYWORD(combiner_type) unspecified-type A template keyword for signal_type. This class is a template keyword which may be used to pass the wrapped Group template type to the signal_type metafunction as a named parameter. The code for this class is generated by a calling a macro from the Boost.Parameter library: BOOST_PARAMETER_TEMPLATE_KEYWORD(group_type) unspecified-type A template keyword for signal_type. This class is a template keyword which may be used to pass the wrapped GroupCompare template type to the signal_type metafunction as a named parameter. The code for this class is generated by a calling a macro from the Boost.Parameter library: BOOST_PARAMETER_TEMPLATE_KEYWORD(group_compare_type) unspecified-type A template keyword for signal_type. This class is a template keyword which may be used to pass the wrapped SlotFunction template type to the signal_type metafunction as a named parameter. The code for this class is generated by a calling a macro from the Boost.Parameter library: BOOST_PARAMETER_TEMPLATE_KEYWORD(slot_function_type) unspecified-type A template keyword for signal_type. This class is a template keyword which may be used to pass the wrapped ExtendedSlotFunction template type to the signal_type metafunction as a named parameter. The code for this class is generated by a calling a macro from the Boost.Parameter library: BOOST_PARAMETER_TEMPLATE_KEYWORD(extended_slot_function_type) unspecified-type A template keyword for signal_type. This class is a template keyword which may be used to pass the wrapped Mutex template type to the signal_type metafunction as a named parameter. The code for this class is generated by a calling a macro from the Boost.Parameter library: BOOST_PARAMETER_TEMPLATE_KEYWORD(mutex_type) Specify a the template type parameters of a boost::signals2::signal using named parameters. The signal_type metafunction employs the Boost.Parameter library to allow users to specify the template type parameters of a signals2::signal using named parameters. The resulting signal type is provided through the signal_type::type typedef. Named template type parameters can enhance readability of code, and provide convenience for specifying classes which have a large number of template parameters. The template type parameters may be passed positionally, similarly to passing them to the signals2::signal class directly. Or, they may be passed as named template parameters by wrapping them in one of the template keyword classes provided in the boost::signals2::keywords namespace. The supported template keywords are: keywords::signature_type, keywords::combiner_type, keywords::group_type, keywords::group_compare_type, keywords::slot_function_type, keywords::extended_slot_function_type, and keywords::mutex_type. The default types for unspecified template type parameters are the same as those for the signal class. Named template type parameters are especially convenient when you only wish to change a few of a signal's template type parameters from their defaults, and the parameters you wish to change are near the end of the signal's template parameter list. For example, if you only wish to change the Mutex template type parameter of a signal, you might write: namespace bs2 = boost::signals2; using namespace bs2::keywords; bs2::signal_type<void (), mutex_type<bs2::dummy_mutex> >::type sig; For comparison, to specify the same type using the signal class directly looks like: namespace bs2 = boost::signals2; bs2::signal < void (), bs2::optional_last_value<void>, int, std::less<int>, boost::function<void ()>, boost::function<void (const connection &)>, bs2::dummy_mutex > sig; implementation-detail implementation-detail implementation-detail implementation-detail implementation-detail implementation-detail implementation-detail typename signal<signature_type, combiner_type, ..., mutex_type>