39 #ifndef ORO_CORELIB_SIGNAL_HPP 40 #define ORO_CORELIB_SIGNAL_HPP 42 #define OROCOS_SIGNAL_MAX_ARGS 4 44 #include <boost/type_traits/function_traits.hpp> 45 #include <boost/function.hpp> 46 #include "../Handle.hpp" 60 typename SlotFunction>
63 template<
typename Signature,
64 typename SlotFunction>
68 typedef boost::function_traits<Signature>
traits;
71 typedef signal0<
typename traits::result_type,
75 template<
typename Signature,
76 typename SlotFunction>
80 typedef boost::function_traits<Signature>
traits;
83 typedef signal1<
typename traits::result_type,
84 typename traits::arg1_type,
88 template<
typename Signature,
89 typename SlotFunction>
93 typedef boost::function_traits<Signature>
traits;
96 typedef signal2<
typename traits::result_type,
97 typename traits::arg1_type,
98 typename traits::arg2_type,
102 template<
typename Signature,
103 typename SlotFunction>
107 typedef boost::function_traits<Signature>
traits;
110 typedef signal3<
typename traits::result_type,
111 typename traits::arg1_type,
112 typename traits::arg2_type,
113 typename traits::arg3_type,
117 template<
typename Signature,
118 typename SlotFunction>
122 typedef boost::function_traits<Signature>
traits;
125 typedef signal4<
typename traits::result_type,
126 typename traits::arg1_type,
127 typename traits::arg2_type,
128 typename traits::arg3_type,
129 typename traits::arg4_type,
133 template<
typename Signature,
134 typename SlotFunction>
138 typedef boost::function_traits<Signature>
traits;
141 typedef signal5<
typename traits::result_type,
142 typename traits::arg1_type,
143 typename traits::arg2_type,
144 typename traits::arg3_type,
145 typename traits::arg4_type,
146 typename traits::arg5_type,
150 template<
typename Signature,
151 typename SlotFunction>
155 typedef boost::function_traits<Signature>
traits;
158 typedef signal6<
typename traits::result_type,
159 typename traits::arg1_type,
160 typename traits::arg2_type,
161 typename traits::arg3_type,
162 typename traits::arg4_type,
163 typename traits::arg5_type,
164 typename traits::arg6_type,
168 template<
typename Signature,
169 typename SlotFunction>
173 typedef boost::function_traits<Signature>
traits;
176 typedef signal7<
typename traits::result_type,
177 typename traits::arg1_type,
178 typename traits::arg2_type,
179 typename traits::arg3_type,
180 typename traits::arg4_type,
181 typename traits::arg5_type,
182 typename traits::arg6_type,
183 typename traits::arg7_type,
188 template<
typename Signature,
189 typename SlotFunction>
204 typename TSlotFunction = boost::function<Signature>
215 typedef boost::shared_ptr<Signal<Signature,TSlotFunction> >
shared_ptr;
get_signal_impl< Signature, TSlotFunction >::type base_type
boost::function_traits< Signature > traits
signal7< typename traits::result_type, typename traits::arg1_type, typename traits::arg2_type, typename traits::arg3_type, typename traits::arg4_type, typename traits::arg5_type, typename traits::arg6_type, typename traits::arg7_type, SlotFunction > type
signal1< typename traits::result_type, typename traits::arg1_type, SlotFunction > type
signal6< typename traits::result_type, typename traits::arg1_type, typename traits::arg2_type, typename traits::arg3_type, typename traits::arg4_type, typename traits::arg5_type, typename traits::arg6_type, SlotFunction > type
signal2< typename traits::result_type, typename traits::arg1_type, typename traits::arg2_type, SlotFunction > type
signal4< typename traits::result_type, typename traits::arg1_type, typename traits::arg2_type, typename traits::arg3_type, typename traits::arg4_type, SlotFunction > type
boost::function_traits< Signature > traits
boost::shared_ptr< Signal< Signature, TSlotFunction > > shared_ptr
boost::function_traits< Signature > traits
signal0< typename traits::result_type, SlotFunction > type
signal3< typename traits::result_type, typename traits::arg1_type, typename traits::arg2_type, typename traits::arg3_type, SlotFunction > type
boost::function_traits< Signature > traits
signal5< typename traits::result_type, typename traits::arg1_type, typename traits::arg2_type, typename traits::arg3_type, typename traits::arg4_type, typename traits::arg5_type, SlotFunction > type
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
TSlotFunction SlotFunction
boost::function_traits< Signature > traits
boost::function_traits< Signature > traits
boost::function_traits< Signature > traits
boost::function_traits< Signature > traits