diff --git a/include/boost/sml.hpp b/include/boost/sml.hpp index 0f3ef973f..ea2af909a 100644 --- a/include/boost/sml.hpp +++ b/include/boost/sml.hpp @@ -171,6 +171,24 @@ template struct function_traits { using args = type_list; }; +#if __cplusplus > 201402L +template +struct function_traits { + using args = type_list; +}; +template +struct function_traits { + using args = type_list; +}; +template +struct function_traits { + using args = type_list; +}; +template +struct function_traits { + using args = type_list; +}; +#endif template using function_traits_t = typename function_traits::args; } diff --git a/include/boost/sml/aux_/type_traits.hpp b/include/boost/sml/aux_/type_traits.hpp index f2882b39b..ddcf7a650 100644 --- a/include/boost/sml/aux_/type_traits.hpp +++ b/include/boost/sml/aux_/type_traits.hpp @@ -139,6 +139,24 @@ template struct function_traits { using args = type_list; }; +#if __cplusplus > 201402L +template +struct function_traits { + using args = type_list; +}; +template +struct function_traits { + using args = type_list; +}; +template +struct function_traits { + using args = type_list; +}; +template +struct function_traits { + using args = type_list; +}; +#endif template using function_traits_t = typename function_traits::args;