1// Boost.Signals library
2
3// Copyright Douglas Gregor 2001-2003. Use, modification and
4// distribution is subject to the Boost Software License, Version
5// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6// http://www.boost.org/LICENSE_1_0.txt)
7
8// For more information, see http://www.boost.org
9
10#ifndef BOOST_SIGNALS_SIGNAL4_HEADER
11#define BOOST_SIGNALS_SIGNAL4_HEADER
12
13#define BOOST_SIGNALS_NUM_ARGS 4
14#define BOOST_SIGNALS_TEMPLATE_PARMS typename T1, typename T2, typename T3, typename T4
15#define BOOST_SIGNALS_TEMPLATE_ARGS T1, T2, T3, T4
16#define BOOST_SIGNALS_PARMS T1 a1, T2 a2, T3 a3, T4 a4
17#define BOOST_SIGNALS_ARGS a1, a2, a3, a4
18#define BOOST_SIGNALS_BOUND_ARGS args->a1, args->a2, args->a3, args->a4
19#define BOOST_SIGNALS_ARGS_AS_MEMBERS T1 a1;T2 a2;T3 a3;T4 a4;
20#define BOOST_SIGNALS_COPY_PARMS T1 ia1, T2 ia2, T3 ia3, T4 ia4
21#define BOOST_SIGNALS_INIT_ARGS :a1(ia1), a2(ia2), a3(ia3), a4(ia4)
22#define BOOST_SIGNALS_ARG_TYPES typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type;
23
24#include <boost/signals/signal_template.hpp>
25
26#undef BOOST_SIGNALS_ARG_TYPES
27#undef BOOST_SIGNALS_INIT_ARGS
28#undef BOOST_SIGNALS_COPY_PARMS
29#undef BOOST_SIGNALS_ARGS_AS_MEMBERS
30#undef BOOST_SIGNALS_BOUND_ARGS
31#undef BOOST_SIGNALS_ARGS
32#undef BOOST_SIGNALS_PARMS
33#undef BOOST_SIGNALS_TEMPLATE_ARGS
34#undef BOOST_SIGNALS_TEMPLATE_PARMS
35#undef BOOST_SIGNALS_NUM_ARGS
36
37#endif // BOOST_SIGNALS_SIGNAL4_HEADER
38

source code of boost/boost/signals/signal4.hpp