Move void_t to where it's used

This commit is contained in:
Victor Zverovich
2020-05-18 10:46:25 -07:00
parent 7aafa6bc64
commit 8d78045e7c
2 changed files with 7 additions and 6 deletions

View File

@@ -288,6 +288,13 @@ template <> constexpr int num_bits<fallback_uintptr>() {
std::numeric_limits<unsigned char>::digits);
}
// A workaround for gcc 4.8 to make void_t work in a SFINAE context.
template <typename... Ts> struct void_t_impl { using type = void; };
template <typename... Ts>
using void_t = typename detail::void_t_impl<Ts...>::type;
// An approximation of iterator_t for pre-C++20 systems.
template <typename T>
using iterator_t = decltype(std::begin(std::declval<T&>()));