diff --git a/include/boost/type_traits/function_traits.hpp b/include/boost/type_traits/function_traits.hpp index 2112ce7..bfc3f7e 100644 --- a/include/boost/type_traits/function_traits.hpp +++ b/include/boost/type_traits/function_traits.hpp @@ -23,14 +23,14 @@ template struct function_traits_helper; template struct function_traits_helper { - BOOST_STATIC_CONSTANT(int, arity = 0); + BOOST_STATIC_CONSTANT(unsigned, arity = 0); typedef R result_type; }; template struct function_traits_helper { - BOOST_STATIC_CONSTANT(int, arity = 1); + BOOST_STATIC_CONSTANT(unsigned, arity = 1); typedef R result_type; typedef T1 arg1_type; typedef T1 argument_type; @@ -39,7 +39,7 @@ struct function_traits_helper template struct function_traits_helper { - BOOST_STATIC_CONSTANT(int, arity = 2); + BOOST_STATIC_CONSTANT(unsigned, arity = 2); typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; @@ -50,7 +50,7 @@ struct function_traits_helper template struct function_traits_helper { - BOOST_STATIC_CONSTANT(int, arity = 3); + BOOST_STATIC_CONSTANT(unsigned, arity = 3); typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; @@ -60,7 +60,7 @@ struct function_traits_helper template struct function_traits_helper { - BOOST_STATIC_CONSTANT(int, arity = 4); + BOOST_STATIC_CONSTANT(unsigned, arity = 4); typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; @@ -72,7 +72,7 @@ template struct function_traits_helper { - BOOST_STATIC_CONSTANT(int, arity = 5); + BOOST_STATIC_CONSTANT(unsigned, arity = 5); typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; @@ -85,7 +85,7 @@ template struct function_traits_helper { - BOOST_STATIC_CONSTANT(int, arity = 6); + BOOST_STATIC_CONSTANT(unsigned, arity = 6); typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; @@ -99,7 +99,7 @@ template struct function_traits_helper { - BOOST_STATIC_CONSTANT(int, arity = 7); + BOOST_STATIC_CONSTANT(unsigned, arity = 7); typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; @@ -114,7 +114,7 @@ template struct function_traits_helper { - BOOST_STATIC_CONSTANT(int, arity = 8); + BOOST_STATIC_CONSTANT(unsigned, arity = 8); typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; @@ -130,7 +130,7 @@ template struct function_traits_helper { - BOOST_STATIC_CONSTANT(int, arity = 9); + BOOST_STATIC_CONSTANT(unsigned, arity = 9); typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; @@ -148,7 +148,7 @@ template struct function_traits_helper { - BOOST_STATIC_CONSTANT(int, arity = 10); + BOOST_STATIC_CONSTANT(unsigned, arity = 10); typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; @@ -174,7 +174,7 @@ struct function_traits : namespace detail { -template +template struct type_of_size { char elements[N]; @@ -227,7 +227,7 @@ type_of_size<11> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7, T8, template struct function_traits { - BOOST_STATIC_CONSTANT(int, arity = (sizeof(detail::function_arity_helper((Function*)0))-1)); + BOOST_STATIC_CONSTANT(unsigned, arity = (sizeof(detail::function_arity_helper((Function*)0))-1)); }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION