summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2020-10-16 20:09:56 +0200
committerGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2020-10-18 19:55:36 +0200
commitc2d250fd1c02f7702784ac6c250018bbc3cd002b (patch)
tree36640447c2f9f02b0f8104397f338fea2341352a /src/corelib
parent263b29eedb223dec1ecaee193302070af87a1852 (diff)
Use std::void_t instead of the hand-rolled version
Change-Id: Ibcf0e3d32f05b95f5f1996a071a50bc0eba1ae61 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/tools/qcontainertools_impl.h16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/corelib/tools/qcontainertools_impl.h b/src/corelib/tools/qcontainertools_impl.h
index caac5a07e8..0f9225e461 100644
--- a/src/corelib/tools/qcontainertools_impl.h
+++ b/src/corelib/tools/qcontainertools_impl.h
@@ -106,11 +106,7 @@ void reserveIfForwardIterator(Container *c, ForwardIterator f, ForwardIterator l
c->reserve(static_cast<typename Container::size_type>(std::distance(f, l)));
}
-// for detecting expression validity
-template <typename ... T>
-using void_t = void;
-
-template <typename Iterator, typename = void_t<>>
+template <typename Iterator, typename = std::void_t<>>
struct AssociativeIteratorHasKeyAndValue : std::false_type
{
};
@@ -118,14 +114,14 @@ struct AssociativeIteratorHasKeyAndValue : std::false_type
template <typename Iterator>
struct AssociativeIteratorHasKeyAndValue<
Iterator,
- void_t<decltype(std::declval<Iterator &>().key()),
- decltype(std::declval<Iterator &>().value())>
+ std::void_t<decltype(std::declval<Iterator &>().key()),
+ decltype(std::declval<Iterator &>().value())>
>
: std::true_type
{
};
-template <typename Iterator, typename = void_t<>, typename = void_t<>>
+template <typename Iterator, typename = std::void_t<>, typename = std::void_t<>>
struct AssociativeIteratorHasFirstAndSecond : std::false_type
{
};
@@ -133,8 +129,8 @@ struct AssociativeIteratorHasFirstAndSecond : std::false_type
template <typename Iterator>
struct AssociativeIteratorHasFirstAndSecond<
Iterator,
- void_t<decltype(std::declval<Iterator &>()->first),
- decltype(std::declval<Iterator &>()->second)>
+ std::void_t<decltype(std::declval<Iterator &>()->first),
+ decltype(std::declval<Iterator &>()->second)>
>
: std::true_type
{