From 32abf81176f654217c30f3a1dd25ba9ff4a67dc4 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Fri, 6 Feb 2015 19:40:55 +0100 Subject: Moved _SFINAE_ helper into separate header --- src/runtime/list/for_each.h | 7 ++++--- src/sfinae.h | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 src/sfinae.h diff --git a/src/runtime/list/for_each.h b/src/runtime/list/for_each.h index 1ca2034..b7496a8 100644 --- a/src/runtime/list/for_each.h +++ b/src/runtime/list/for_each.h @@ -3,6 +3,7 @@ #include +#include "sfinae.h" #include "list/list.h" namespace tav { @@ -11,17 +12,17 @@ namespace runtime { template < typename Current, typename Function, - typename std::enable_if::value, std::size_t>::type = 0 + detail::enable_if::value> = 0 > void for_each(const Function&) { } template < typename Current, typename Function, - typename std::enable_if::value, std::size_t>::type = 0 + detail::enable_if::value> = 0 > void for_each(const Function& function) { - function(Head::type::value); + function(Head::value); for_each, Function>(function); } diff --git a/src/sfinae.h b/src/sfinae.h new file mode 100644 index 0000000..1f0cb74 --- /dev/null +++ b/src/sfinae.h @@ -0,0 +1,15 @@ +#ifndef TYPEASVALUE_SRC_SFINAE_H_ +#define TYPEASVALUE_SRC_SFINAE_H_ + +#include + +namespace tav { +namespace detail { + +template +using enable_if = typename std::enable_if::type; + +} +} + +#endif // TYPEASVALUE_SRC_SFINAE_H_ -- cgit v1.2.3