function_traits.hpp
Go to the documentation of this file.
1 
2 // Copyright 2000 John Maddock (john@johnmaddock.co.uk)
3 // Use, modification and distribution are subject to the Boost Software License,
4 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt).
6 //
7 // See http://www.boost.org/libs/type_traits for most recent version including documentation.
8 
9 #ifndef BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
10 #define BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
11 
12 #include <boost/config.hpp>
15 
16 namespace boost {
17 
18 namespace detail {
19 
20 template<typename Function> struct function_traits_helper;
21 
22 template<typename R>
23 struct function_traits_helper<R (*)(void)>
24 {
25  BOOST_STATIC_CONSTANT(unsigned, arity = 0);
26  typedef R result_type;
27 };
28 
29 template<typename R, typename T1>
30 struct function_traits_helper<R (*)(T1)>
31 {
32  BOOST_STATIC_CONSTANT(unsigned, arity = 1);
33  typedef R result_type;
34  typedef T1 arg1_type;
35  typedef T1 argument_type;
36 };
37 
38 template<typename R, typename T1, typename T2>
39 struct function_traits_helper<R (*)(T1, T2)>
40 {
41  BOOST_STATIC_CONSTANT(unsigned, arity = 2);
42  typedef R result_type;
43  typedef T1 arg1_type;
44  typedef T2 arg2_type;
45  typedef T1 first_argument_type;
47 };
48 
49 template<typename R, typename T1, typename T2, typename T3>
50 struct function_traits_helper<R (*)(T1, T2, T3)>
51 {
52  BOOST_STATIC_CONSTANT(unsigned, arity = 3);
53  typedef R result_type;
54  typedef T1 arg1_type;
55  typedef T2 arg2_type;
56  typedef T3 arg3_type;
57 };
58 
59 template<typename R, typename T1, typename T2, typename T3, typename T4>
60 struct function_traits_helper<R (*)(T1, T2, T3, T4)>
61 {
62  BOOST_STATIC_CONSTANT(unsigned, arity = 4);
63  typedef R result_type;
64  typedef T1 arg1_type;
65  typedef T2 arg2_type;
66  typedef T3 arg3_type;
67  typedef T4 arg4_type;
68 };
69 
70 template<typename R, typename T1, typename T2, typename T3, typename T4,
71  typename T5>
72 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5)>
73 {
74  BOOST_STATIC_CONSTANT(unsigned, arity = 5);
75  typedef R result_type;
76  typedef T1 arg1_type;
77  typedef T2 arg2_type;
78  typedef T3 arg3_type;
79  typedef T4 arg4_type;
80  typedef T5 arg5_type;
81 };
82 
83 template<typename R, typename T1, typename T2, typename T3, typename T4,
84  typename T5, typename T6>
85 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6)>
86 {
87  BOOST_STATIC_CONSTANT(unsigned, arity = 6);
88  typedef R result_type;
89  typedef T1 arg1_type;
90  typedef T2 arg2_type;
91  typedef T3 arg3_type;
92  typedef T4 arg4_type;
93  typedef T5 arg5_type;
94  typedef T6 arg6_type;
95 };
96 
97 template<typename R, typename T1, typename T2, typename T3, typename T4,
98  typename T5, typename T6, typename T7>
99 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7)>
100 {
101  BOOST_STATIC_CONSTANT(unsigned, arity = 7);
102  typedef R result_type;
103  typedef T1 arg1_type;
104  typedef T2 arg2_type;
105  typedef T3 arg3_type;
106  typedef T4 arg4_type;
107  typedef T5 arg5_type;
108  typedef T6 arg6_type;
109  typedef T7 arg7_type;
110 };
111 
112 template<typename R, typename T1, typename T2, typename T3, typename T4,
113  typename T5, typename T6, typename T7, typename T8>
114 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8)>
115 {
116  BOOST_STATIC_CONSTANT(unsigned, arity = 8);
117  typedef R result_type;
118  typedef T1 arg1_type;
119  typedef T2 arg2_type;
120  typedef T3 arg3_type;
121  typedef T4 arg4_type;
122  typedef T5 arg5_type;
123  typedef T6 arg6_type;
124  typedef T7 arg7_type;
125  typedef T8 arg8_type;
126 };
127 
128 template<typename R, typename T1, typename T2, typename T3, typename T4,
129  typename T5, typename T6, typename T7, typename T8, typename T9>
130 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>
131 {
132  BOOST_STATIC_CONSTANT(unsigned, arity = 9);
133  typedef R result_type;
134  typedef T1 arg1_type;
135  typedef T2 arg2_type;
136  typedef T3 arg3_type;
137  typedef T4 arg4_type;
138  typedef T5 arg5_type;
139  typedef T6 arg6_type;
140  typedef T7 arg7_type;
141  typedef T8 arg8_type;
142  typedef T9 arg9_type;
143 };
144 
145 template<typename R, typename T1, typename T2, typename T3, typename T4,
146  typename T5, typename T6, typename T7, typename T8, typename T9,
147  typename T10>
148 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
149 {
150  BOOST_STATIC_CONSTANT(unsigned, arity = 10);
151  typedef R result_type;
152  typedef T1 arg1_type;
153  typedef T2 arg2_type;
154  typedef T3 arg3_type;
155  typedef T4 arg4_type;
156  typedef T5 arg5_type;
157  typedef T6 arg6_type;
158  typedef T7 arg7_type;
159  typedef T8 arg8_type;
160  typedef T9 arg9_type;
161  typedef T10 arg10_type;
162 };
163 
164 } // end namespace detail
165 
166 template<typename Function>
168  public boost::detail::function_traits_helper<typename boost::add_pointer<Function>::type>
169 {
170 };
171 
172 }
173 
174 #endif // BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::arg1_type
T1 arg1_type
Definition: function_traits.hpp:152
boost::detail::function_traits_helper
Definition: function_traits.hpp:20
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5)>::arg4_type
T4 arg4_type
Definition: function_traits.hpp:79
BOOST_STATIC_CONSTANT
#define BOOST_STATIC_CONSTANT(type, assignment)
Definition: suffix.hpp:394
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>::arg4_type
T4 arg4_type
Definition: function_traits.hpp:137
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7)>::result_type
R result_type
Definition: function_traits.hpp:102
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::result_type
R result_type
Definition: function_traits.hpp:151
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7)>::arg2_type
T2 arg2_type
Definition: function_traits.hpp:104
R
#define R(x, n)
Definition: SHA256.cpp:50
boost::function_traits
Definition: function_traits.hpp:167
add_pointer.hpp
boost::detail::function_traits_helper< R(*)(T1, T2, T3)>::result_type
R result_type
Definition: function_traits.hpp:53
config.hpp
boost::detail::function_traits_helper< R(*)(void)>::result_type
R result_type
Definition: function_traits.hpp:26
boost::detail::function_traits_helper< R(*)(T1, T2, T3)>::arg2_type
T2 arg2_type
Definition: function_traits.hpp:55
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6)>::arg2_type
T2 arg2_type
Definition: function_traits.hpp:90
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::arg7_type
T7 arg7_type
Definition: function_traits.hpp:158
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4)>::arg4_type
T4 arg4_type
Definition: function_traits.hpp:67
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>::arg6_type
T6 arg6_type
Definition: function_traits.hpp:139
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8)>::arg8_type
T8 arg8_type
Definition: function_traits.hpp:125
is_function.hpp
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7)>::arg7_type
T7 arg7_type
Definition: function_traits.hpp:109
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5)>::arg2_type
T2 arg2_type
Definition: function_traits.hpp:77
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>::arg7_type
T7 arg7_type
Definition: function_traits.hpp:140
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::detail::function_traits_helper< R(*)(T1, T2)>::result_type
R result_type
Definition: function_traits.hpp:42
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8)>::arg3_type
T3 arg3_type
Definition: function_traits.hpp:120
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8)>::result_type
R result_type
Definition: function_traits.hpp:117
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5)>::arg1_type
T1 arg1_type
Definition: function_traits.hpp:76
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5)>::result_type
R result_type
Definition: function_traits.hpp:75
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::arg8_type
T8 arg8_type
Definition: function_traits.hpp:159
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::arg9_type
T9 arg9_type
Definition: function_traits.hpp:160
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4)>::result_type
R result_type
Definition: function_traits.hpp:63
boost::detail::function_traits_helper< R(*)(T1, T2)>::arg1_type
T1 arg1_type
Definition: function_traits.hpp:43
boost::detail::function_traits_helper< R(*)(T1, T2)>::first_argument_type
T1 first_argument_type
Definition: function_traits.hpp:45
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5)>::arg5_type
T5 arg5_type
Definition: function_traits.hpp:80
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6)>::arg1_type
T1 arg1_type
Definition: function_traits.hpp:89
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4)>::arg1_type
T1 arg1_type
Definition: function_traits.hpp:64
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7)>::arg6_type
T6 arg6_type
Definition: function_traits.hpp:108
boost::detail::function_traits_helper< R(*)(T1)>::result_type
R result_type
Definition: function_traits.hpp:33
boost::detail::function_traits_helper< R(*)(T1)>::arg1_type
T1 arg1_type
Definition: function_traits.hpp:34
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>::arg5_type
T5 arg5_type
Definition: function_traits.hpp:138
boost::detail::function_traits_helper< R(*)(T1, T2)>::arg2_type
T2 arg2_type
Definition: function_traits.hpp:44
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8)>::arg5_type
T5 arg5_type
Definition: function_traits.hpp:122
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7)>::arg1_type
T1 arg1_type
Definition: function_traits.hpp:103
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8)>::arg2_type
T2 arg2_type
Definition: function_traits.hpp:119
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8)>::arg7_type
T7 arg7_type
Definition: function_traits.hpp:124
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6)>::arg5_type
T5 arg5_type
Definition: function_traits.hpp:93
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4)>::arg3_type
T3 arg3_type
Definition: function_traits.hpp:66
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::arg3_type
T3 arg3_type
Definition: function_traits.hpp:154
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::arg2_type
T2 arg2_type
Definition: function_traits.hpp:153
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::arg6_type
T6 arg6_type
Definition: function_traits.hpp:157
boost::detail::function_traits_helper< R(*)(T1, T2, T3)>::arg1_type
T1 arg1_type
Definition: function_traits.hpp:54
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::arg10_type
T10 arg10_type
Definition: function_traits.hpp:161
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5)>::arg3_type
T3 arg3_type
Definition: function_traits.hpp:78
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::arg5_type
T5 arg5_type
Definition: function_traits.hpp:156
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7)>::arg5_type
T5 arg5_type
Definition: function_traits.hpp:107
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8)>::arg4_type
T4 arg4_type
Definition: function_traits.hpp:121
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6)>::result_type
R result_type
Definition: function_traits.hpp:88
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8)>::arg6_type
T6 arg6_type
Definition: function_traits.hpp:123
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>::arg8_type
T8 arg8_type
Definition: function_traits.hpp:141
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6)>::arg4_type
T4 arg4_type
Definition: function_traits.hpp:92
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>::arg9_type
T9 arg9_type
Definition: function_traits.hpp:142
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>::arg3_type
T3 arg3_type
Definition: function_traits.hpp:136
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::arg4_type
T4 arg4_type
Definition: function_traits.hpp:155
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>::result_type
R result_type
Definition: function_traits.hpp:133
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6)>::arg3_type
T3 arg3_type
Definition: function_traits.hpp:91
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>::arg1_type
T1 arg1_type
Definition: function_traits.hpp:134
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6)>::arg6_type
T6 arg6_type
Definition: function_traits.hpp:94
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>::arg2_type
T2 arg2_type
Definition: function_traits.hpp:135
boost::detail::function_traits_helper< R(*)(T1)>::argument_type
T1 argument_type
Definition: function_traits.hpp:35
boost::detail::function_traits_helper< R(*)(T1, T2, T3)>::arg3_type
T3 arg3_type
Definition: function_traits.hpp:56
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7)>::arg3_type
T3 arg3_type
Definition: function_traits.hpp:105
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4)>::arg2_type
T2 arg2_type
Definition: function_traits.hpp:65
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7, T8)>::arg1_type
T1 arg1_type
Definition: function_traits.hpp:118
boost::detail::function_traits_helper< R(*)(T1, T2)>::second_argument_type
T2 second_argument_type
Definition: function_traits.hpp:46
boost::detail::function_traits_helper< R(*)(T1, T2, T3, T4, T5, T6, T7)>::arg4_type
T4 arg4_type
Definition: function_traits.hpp:106


sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:39:48