diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2018-07-06 11:20:38 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2018-07-06 11:20:38 +0100 |
commit | 4d023b5bd4553cc3a6da19289563430480cc303d (patch) | |
tree | cfba755b11ca6109a7b4cf8787d5dfbec342677a /libstdc++-v3 | |
parent | f9ccb8c0afc9d511a458100139ec9a9c8bc3f165 (diff) | |
download | gcc-4d023b5bd4553cc3a6da19289563430480cc303d.zip gcc-4d023b5bd4553cc3a6da19289563430480cc303d.tar.gz gcc-4d023b5bd4553cc3a6da19289563430480cc303d.tar.bz2 |
* include/std/variant (__accepted_index): Use void_t.
From-SVN: r262471
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 4 | ||||
-rw-r--r-- | libstdc++-v3/include/std/variant | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f78d304..30fe769 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,7 @@ +2018-07-06 Jonathan Wakely <jwakely@redhat.com> + + * include/std/variant (__accepted_index): Use void_t. + 2018-07-05 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/85831 diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant index 63eafdd..66d8781 100644 --- a/libstdc++-v3/include/std/variant +++ b/libstdc++-v3/include/std/variant @@ -710,7 +710,8 @@ namespace __variant }; // Helper for variant(_Tp&&) and variant::operator=(_Tp&&). - // __accepted_index maps the arbitrary _Tp to an alternative type in _Variant. + // __accepted_index maps an arbitrary _Tp to an alternative type in _Variant + // (or to variant_npos). template<typename _Tp, typename _Variant, typename = void> struct __accepted_index { static constexpr size_t value = variant_npos; }; @@ -718,8 +719,7 @@ namespace __variant template<typename _Tp, typename... _Types> struct __accepted_index< _Tp, variant<_Types...>, - decltype(__overload_set<_Types...>::_S_fun(std::declval<_Tp>()), - std::declval<void>())> + void_t<decltype(__overload_set<_Types...>::_S_fun(std::declval<_Tp>()))>> { static constexpr size_t value = sizeof...(_Types) - 1 - decltype(__overload_set<_Types...>:: |