Skip to content

Commit 369e0ef

Browse files
committed
cleanup detail::is_* metafunctions
1 parent d790c0d commit 369e0ef

File tree

1 file changed

+7
-20
lines changed

1 file changed

+7
-20
lines changed

v8pp/utility.hpp

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
#define V8PP_UTILITY_HPP_INCLUDED
1111

1212
#include <functional>
13-
#include <iterator>
1413
#include <string_view>
1514
#include <tuple>
1615
#include <type_traits>
@@ -54,45 +53,33 @@ struct is_string<wchar_t const*> : std::true_type {};
5453
// is_mapping<T>
5554
//
5655
template<typename T, typename U = void>
57-
struct is_mapping_impl : std::false_type {};
56+
struct is_mapping : std::false_type {};
5857

5958
template<typename T>
60-
struct is_mapping_impl<T, std::void_t<typename T::key_type, typename T::mapped_type,
59+
struct is_mapping<T, std::void_t<typename T::key_type, typename T::mapped_type,
6160
decltype(std::declval<T>().begin()), decltype(std::declval<T>().end())>> : std::true_type {};
6261

63-
template<typename T>
64-
struct is_mapping : is_mapping_impl<T>::type {};
65-
6662
/////////////////////////////////////////////////////////////////////////////
6763
//
6864
// is_sequence<T>
6965
//
7066
template<typename T, typename U = void>
71-
struct is_sequence_impl : std::false_type {};
67+
struct is_sequence : std::false_type {};
7268

7369
template<typename T>
74-
struct is_sequence_impl<T, std::void_t<typename T::value_type,
70+
struct is_sequence<T, std::void_t<typename T::value_type,
7571
decltype(std::declval<T>().begin()), decltype(std::declval<T>().end()),
76-
decltype(std::declval<T>().emplace_back(std::declval<typename T::value_type>()))>>
77-
: std::negation<is_string<T>>
78-
{
79-
};
80-
81-
template<typename T>
82-
struct is_sequence : is_sequence_impl<T> {};
72+
decltype(std::declval<T>().emplace_back(std::declval<typename T::value_type>()))>> : std::negation<is_string<T>> {};
8373

8474
/////////////////////////////////////////////////////////////////////////////
8575
//
8676
// has_reserve<T>
8777
//
8878
template<typename T, typename U = void>
89-
struct has_reserve_impl : std::false_type {};
90-
91-
template<typename T>
92-
struct has_reserve_impl<T, std::void_t<decltype(std::declval<T>().reserve(0))>> : std::true_type {};
79+
struct has_reserve : std::false_type {};
9380

9481
template<typename T>
95-
struct has_reserve : has_reserve_impl<T>::type {};
82+
struct has_reserve<T, std::void_t<decltype(std::declval<T>().reserve(0))>> : std::true_type {};
9683

9784
/////////////////////////////////////////////////////////////////////////////
9885
//

0 commit comments

Comments
 (0)