diff options
Diffstat (limited to 'libstdc++-v3/include/experimental')
38 files changed, 214 insertions, 269 deletions
diff --git a/libstdc++-v3/include/experimental/algorithm b/libstdc++-v3/include/experimental/algorithm index a7ab0e84c12..15391b1e9f2 100644 --- a/libstdc++-v3/include/experimental/algorithm +++ b/libstdc++-v3/include/experimental/algorithm @@ -40,12 +40,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template<typename _ForwardIterator, typename _Searcher> inline _ForwardIterator search(_ForwardIterator __first, _ForwardIterator __last, @@ -81,10 +81,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __d, std::forward<_UniformRandomNumberGenerator>(__g)); } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/any b/libstdc++-v3/include/experimental/any index 36c0680c25a..984306dfce8 100644 --- a/libstdc++-v3/include/experimental/any +++ b/libstdc++-v3/include/experimental/any @@ -43,12 +43,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @defgroup any Type-safe container of any type * @ingroup experimental @@ -520,9 +520,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } // @} group any -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/array b/libstdc++-v3/include/experimental/array index 11cb924e087..9d758f7d149 100644 --- a/libstdc++-v3/include/experimental/array +++ b/libstdc++-v3/include/experimental/array @@ -40,12 +40,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_make_array 201505 /** * @defgroup make_array Array creation functions @@ -104,10 +104,10 @@ template <typename _Tp, size_t _Nm> } // @} group make_array - _GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/bits/erase_if.h b/libstdc++-v3/include/experimental/bits/erase_if.h index 7dc47dbb3eb..cc89ffad900 100644 --- a/libstdc++-v3/include/experimental/bits/erase_if.h +++ b/libstdc++-v3/include/experimental/bits/erase_if.h @@ -39,13 +39,14 @@ namespace std { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { namespace __detail { -_GLIBCXX_BEGIN_NAMESPACE_VERSION template<typename _Container, typename _Predicate> void __erase_nodes_if(_Container& __cont, _Predicate __pred) @@ -59,10 +60,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ++__iter; } } -_GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail } // inline namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/bits/fs_dir.h b/libstdc++-v3/include/experimental/bits/fs_dir.h index 0efaf944f60..1ff0d9b6def 100644 --- a/libstdc++-v3/include/experimental/bits/fs_dir.h +++ b/libstdc++-v3/include/experimental/bits/fs_dir.h @@ -40,14 +40,14 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { namespace filesystem { inline namespace v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @ingroup filesystem * @{ @@ -352,10 +352,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 _GLIBCXX_END_NAMESPACE_CXX11 // @} group filesystem -_GLIBCXX_END_NAMESPACE_VERSION } // namespace v1 } // namespace filesystem } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++11 diff --git a/libstdc++-v3/include/experimental/bits/fs_fwd.h b/libstdc++-v3/include/experimental/bits/fs_fwd.h index c5aeefe41a7..7b851a3d4a8 100644 --- a/libstdc++-v3/include/experimental/bits/fs_fwd.h +++ b/libstdc++-v3/include/experimental/bits/fs_fwd.h @@ -40,17 +40,14 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { namespace filesystem { inline namespace v1 { -#if _GLIBCXX_INLINE_VERSION -inline namespace __8 { } -#endif -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #if _GLIBCXX_USE_CXX11_ABI inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } #endif @@ -282,10 +279,11 @@ _GLIBCXX_END_NAMESPACE_CXX11 bool is_symlink(file_status) noexcept; // @} group filesystem -_GLIBCXX_END_NAMESPACE_VERSION } // namespace v1 } // namespace filesystem } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++11 diff --git a/libstdc++-v3/include/experimental/bits/fs_ops.h b/libstdc++-v3/include/experimental/bits/fs_ops.h index 1b455f541ba..387537260e0 100644 --- a/libstdc++-v3/include/experimental/bits/fs_ops.h +++ b/libstdc++-v3/include/experimental/bits/fs_ops.h @@ -38,14 +38,14 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { namespace filesystem { inline namespace v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @ingroup filesystem * @{ @@ -286,10 +286,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION path temp_directory_path(error_code& __ec); // @} group filesystem -_GLIBCXX_END_NAMESPACE_VERSION } // namespace v1 } // namespace filesystem } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++11 diff --git a/libstdc++-v3/include/experimental/bits/fs_path.h b/libstdc++-v3/include/experimental/bits/fs_path.h index 3d639447254..cde3897b8e5 100644 --- a/libstdc++-v3/include/experimental/bits/fs_path.h +++ b/libstdc++-v3/include/experimental/bits/fs_path.h @@ -55,13 +55,14 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { namespace filesystem { inline namespace v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CXX11 #if __cplusplus == 201402L @@ -1080,10 +1081,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 // @} group filesystem _GLIBCXX_END_NAMESPACE_CXX11 -_GLIBCXX_END_NAMESPACE_VERSION } // namespace v1 } // namespace filesystem } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++11 diff --git a/libstdc++-v3/include/experimental/bits/lfts_config.h b/libstdc++-v3/include/experimental/bits/lfts_config.h index ecc40c4327f..3b832706da0 100644 --- a/libstdc++-v3/include/experimental/bits/lfts_config.h +++ b/libstdc++-v3/include/experimental/bits/lfts_config.h @@ -35,30 +35,25 @@ #if _GLIBCXX_INLINE_VERSION namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace chrono { namespace experimental { -inline namespace fundamentals_v1 { inline namespace __8 { } } -inline namespace fundamentals_v2 { inline namespace __8 { } } +inline namespace fundamentals_v1 { } +inline namespace fundamentals_v2 { } } // namespace experimental } // namespace chrono namespace experimental { -inline namespace fundamentals_v1 { - inline namespace __8 { } - namespace __detail { inline namespace __8 { } } -} -inline namespace fundamentals_v2 { - inline namespace __8 { } - namespace pmr { inline namespace __8 { } } - namespace __detail { inline namespace __8 { } } -} // namespace fundamentals_v2 -inline namespace literals { inline namespace string_view_literals { - inline namespace __8 { } -} } // namespace literals::string_view_literals +inline namespace fundamentals_v1 { } +inline namespace fundamentals_v2 { } +inline namespace literals { inline namespace string_view_literals { } } } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif #endif diff --git a/libstdc++-v3/include/experimental/bits/shared_ptr.h b/libstdc++-v3/include/experimental/bits/shared_ptr.h index 27f22d23618..ef391eb641f 100644 --- a/libstdc++-v3/include/experimental/bits/shared_ptr.h +++ b/libstdc++-v3/include/experimental/bits/shared_ptr.h @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // 8.2.1 template<typename _Tp> class shared_ptr; @@ -659,13 +659,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION mutable weak_ptr<_Tp> _M_weak_this; }; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /// std::hash specialization for shared_ptr. template<typename _Tp> struct hash<experimental::shared_ptr<_Tp>> diff --git a/libstdc++-v3/include/experimental/bits/string_view.tcc b/libstdc++-v3/include/experimental/bits/string_view.tcc index 03863d0a9df..e66932d1ac0 100644 --- a/libstdc++-v3/include/experimental/bits/string_view.tcc +++ b/libstdc++-v3/include/experimental/bits/string_view.tcc @@ -42,12 +42,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template<typename _CharT, typename _Traits> typename basic_string_view<_CharT, _Traits>::size_type basic_string_view<_CharT, _Traits>:: @@ -222,10 +222,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } return npos; } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/chrono b/libstdc++-v3/include/experimental/chrono index 4247c9df746..71e36d2d86d 100644 --- a/libstdc++-v3/include/experimental/chrono +++ b/libstdc++-v3/include/experimental/chrono @@ -44,20 +44,21 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace chrono { namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION // See C++14 §20.12.4, customization traits template <typename _Rep> constexpr bool treat_as_floating_point_v = treat_as_floating_point<_Rep>::value; -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental } // namespace chrono +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/deque b/libstdc++-v3/include/experimental/deque index c92476f915d..0180a750883 100644 --- a/libstdc++-v3/include/experimental/deque +++ b/libstdc++-v3/include/experimental/deque @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template<typename _Tp, typename _Alloc, typename _Predicate> void erase_if(deque<_Tp, _Alloc>& __cont, _Predicate __pred) @@ -63,19 +63,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __cont.end()); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template<typename _Tp> - using deque = std::deque<_Tp, polymorphic_allocator<_Tp>>; - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + namespace pmr { + template<typename _Tp> + using deque = std::deque<_Tp, polymorphic_allocator<_Tp>>; + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/filesystem b/libstdc++-v3/include/experimental/filesystem index 2f353693dbe..7953c802cd3 100644 --- a/libstdc++-v3/include/experimental/filesystem +++ b/libstdc++-v3/include/experimental/filesystem @@ -44,14 +44,14 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { namespace filesystem { inline namespace v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @ingroup filesystem */ @@ -65,11 +65,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __what += " [" + _M_path2.string() + ']'; return __what; } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace v1 } // namespace filesystem } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++11 diff --git a/libstdc++-v3/include/experimental/forward_list b/libstdc++-v3/include/experimental/forward_list index 1c835aca07e..5109cb57ade 100644 --- a/libstdc++-v3/include/experimental/forward_list +++ b/libstdc++-v3/include/experimental/forward_list @@ -40,12 +40,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template<typename _Tp, typename _Alloc, typename _Predicate> inline void erase_if(forward_list<_Tp, _Alloc>& __cont, _Predicate __pred) @@ -59,19 +59,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION erase_if(__cont, [&](__elem_type& __elem) { return __elem == __value; }); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template<typename _Tp> - using forward_list = std::forward_list<_Tp, polymorphic_allocator<_Tp>>; - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + namespace pmr { + template<typename _Tp> + using forward_list = std::forward_list<_Tp, polymorphic_allocator<_Tp>>; + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/functional b/libstdc++-v3/include/experimental/functional index 4639e6f6cb3..3327399b4d4 100644 --- a/libstdc++-v3/include/experimental/functional +++ b/libstdc++-v3/include/experimental/functional @@ -49,12 +49,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // See C++14 §20.9.9, Function object binders /// Variable template for std::is_bind_expression @@ -368,14 +368,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } return __last; } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_not_fn 201406 /// [func.not_fn] Function template not_fn @@ -386,10 +382,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return std::_Not_fn<std::decay_t<_Fn>>{std::forward<_Fn>(__fn), 0}; } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/iterator b/libstdc++-v3/include/experimental/iterator index 8a8395da759..553009c92b0 100644 --- a/libstdc++-v3/include/experimental/iterator +++ b/libstdc++-v3/include/experimental/iterator @@ -45,12 +45,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_ostream_joiner 201411 /// Output iterator that inserts a delimiter between elements. @@ -105,10 +105,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION make_ostream_joiner(basic_ostream<_CharT, _Traits>& __os, _DelimT&& __delimiter) { return { __os, std::forward<_DelimT>(__delimiter) }; } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/list b/libstdc++-v3/include/experimental/list index 9409431c4d8..94663ad030a 100644 --- a/libstdc++-v3/include/experimental/list +++ b/libstdc++-v3/include/experimental/list @@ -40,12 +40,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template<typename _Tp, typename _Alloc, typename _Predicate> inline void erase_if(list<_Tp, _Alloc>& __cont, _Predicate __pred) @@ -59,19 +59,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION erase_if(__cont, [&](__elem_type& __elem) { return __elem == __value; }); } -_GLIBCXX_END_NAMESPACE_VERSION - namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template<typename _Tp> using list = std::list<_Tp, polymorphic_allocator<_Tp>>; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/map b/libstdc++-v3/include/experimental/map index 2bbc1bd5a11..85055967fa5 100644 --- a/libstdc++-v3/include/experimental/map +++ b/libstdc++-v3/include/experimental/map @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template<typename _Key, typename _Tp, typename _Compare, typename _Alloc, typename _Predicate> inline void @@ -59,26 +59,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION erase_if(multimap<_Key, _Tp, _Compare, _Alloc>& __cont, _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template<typename _Key, typename _Tp, typename _Compare = less<_Key>> - using map + namespace pmr { + template<typename _Key, typename _Tp, typename _Compare = less<_Key>> + using map = std::map<_Key, _Tp, _Compare, polymorphic_allocator<pair<const _Key, _Tp>>>; - template<typename _Key, typename _Tp, typename _Compare = less<_Key>> - using multimap + template<typename _Key, typename _Tp, typename _Compare = less<_Key>> + using multimap = std::multimap<_Key, _Tp, _Compare, polymorphic_allocator<pair<const _Key, _Tp>>>; - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr - + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/memory b/libstdc++-v3/include/experimental/memory index 7467674db81..33a154bf50c 100644 --- a/libstdc++-v3/include/experimental/memory +++ b/libstdc++-v3/include/experimental/memory @@ -47,12 +47,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_observer_ptr 201411 template <typename _Tp> @@ -231,8 +231,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return !(__p1 < __p2); } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental @@ -250,6 +248,8 @@ template <typename _Tp> } }; + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/memory_resource b/libstdc++-v3/include/experimental/memory_resource index 653189c1079..f4ecc5ab1d3 100644 --- a/libstdc++-v3/include/experimental/memory_resource +++ b/libstdc++-v3/include/experimental/memory_resource @@ -37,11 +37,11 @@ #include <experimental/bits/lfts_config.h> namespace std { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_memory_resources 201402L class memory_resource; @@ -168,8 +168,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template <typename _Tp1, typename... _Args> //used here void construct(_Tp1* __p, _Args&&... __args) { - auto __use_tag = __use_alloc<_Tp1, memory_resource*, - _Args...>(this->resource()); + memory_resource* const __resource = this->resource(); + auto __use_tag + = __use_alloc<_Tp1, memory_resource*, _Args...>(__resource); _M_construct(__use_tag, __p, std::forward<_Args>(__args)...); } @@ -180,10 +181,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION tuple<_Args1...> __x, tuple<_Args2...> __y) { + memory_resource* const __resource = this->resource(); auto __x_use_tag = - __use_alloc<_Tp1, memory_resource*, _Args1...>(this->resource()); + __use_alloc<_Tp1, memory_resource*, _Args1...>(__resource); auto __y_use_tag = - __use_alloc<_Tp2, memory_resource*, _Args2...>(this->resource()); + __use_alloc<_Tp2, memory_resource*, _Args2...>(__resource); ::new(__p) std::pair<_Tp1, _Tp2>(piecewise_construct, _M_construct_p(__x_use_tag, __x), @@ -377,11 +379,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __r = new_delete_resource(); return __get_default_resource().exchange(__r); } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif diff --git a/libstdc++-v3/include/experimental/numeric b/libstdc++-v3/include/experimental/numeric index b7b8207069f..33e7b55ef90 100644 --- a/libstdc++-v3/include/experimental/numeric +++ b/libstdc++-v3/include/experimental/numeric @@ -44,12 +44,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_gcd_lcm 201411 /// Greatest common divisor @@ -75,10 +75,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static_assert(!is_same<_Nn, bool>::value, "lcm arguments are not bools"); return std::__detail::__lcm(__m, __n); } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/optional b/libstdc++-v3/include/experimental/optional index 4a1e71d4234..d4c58a600bf 100644 --- a/libstdc++-v3/include/experimental/optional +++ b/libstdc++-v3/include/experimental/optional @@ -57,12 +57,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @defgroup optional Optional values * @ingroup experimental @@ -980,9 +980,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return optional<decay_t<_Tp>> { std::forward<_Tp>(__t) }; } // @} group optional -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 -} +} // namespace experimental // [X.Y.12] template<typename _Tp> @@ -1001,7 +1000,9 @@ _GLIBCXX_END_NAMESPACE_VERSION return __t ? hash<_Tp> {}(*__t) : __magic_disengaged_hash; } }; -} + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/propagate_const b/libstdc++-v3/include/experimental/propagate_const index 719e17aa3d0..639f21a979e 100644 --- a/libstdc++-v3/include/experimental/propagate_const +++ b/libstdc++-v3/include/experimental/propagate_const @@ -43,12 +43,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @defgroup propagate_const Const-propagating wrapper * @ingroup experimental @@ -424,7 +424,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } // @} group propagate_const - _GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental @@ -533,6 +532,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typedef experimental::propagate_const<_Tp> second_argument_type; typedef bool result_type; }; + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/random b/libstdc++-v3/include/experimental/random index e28df5df721..2d22544e9ca 100644 --- a/libstdc++-v3/include/experimental/random +++ b/libstdc++-v3/include/experimental/random @@ -33,10 +33,10 @@ #include <experimental/bits/lfts_config.h> namespace std { -namespace experimental { -inline namespace fundamentals_v2 { _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace experimental { +inline namespace fundamentals_v2 { #define __cpp_lib_experimental_randint 201511 inline std::default_random_engine& @@ -71,10 +71,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { _S_randint_engine().seed(__value); } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif diff --git a/libstdc++-v3/include/experimental/ratio b/libstdc++-v3/include/experimental/ratio index ffbae76ca79..bc2d0f267b2 100644 --- a/libstdc++-v3/include/experimental/ratio +++ b/libstdc++-v3/include/experimental/ratio @@ -44,12 +44,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // See C++14 §20.11.5, ratio comparison template <typename _R1, typename _R2> constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value; @@ -63,10 +63,10 @@ template <typename _R1, typename _R2> constexpr bool ratio_greater_v = ratio_greater<_R1, _R2>::value; template <typename _R1, typename _R2> constexpr bool ratio_greater_equal_v = ratio_greater_equal<_R1, _R2>::value; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/regex b/libstdc++-v3/include/experimental/regex index 9b5679fc78e..bfcaf6b85c3 100644 --- a/libstdc++-v3/include/experimental/regex +++ b/libstdc++-v3/include/experimental/regex @@ -40,13 +40,14 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CXX11 template<typename _BidirectionalIterator> @@ -60,11 +61,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 typedef match_results<wstring::const_iterator> wsmatch; _GLIBCXX_END_NAMESPACE_CXX11 -_GLIBCXX_END_NAMESPACE_VERSION } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/set b/libstdc++-v3/include/experimental/set index a10617bb2a9..fba136c90c5 100644 --- a/libstdc++-v3/include/experimental/set +++ b/libstdc++-v3/include/experimental/set @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template<typename _Key, typename _Compare, typename _Alloc, typename _Predicate> inline void @@ -59,23 +59,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION erase_if(multiset<_Key, _Compare, _Alloc>& __cont, _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template<typename _Key, typename _Compare = less<_Key>> - using set = std::set<_Key, _Compare, polymorphic_allocator<_Key>>; - - template<typename _Key, typename _Compare = less<_Key>> - using multiset = std::multiset<_Key, _Compare, - polymorphic_allocator<_Key>>; + namespace pmr { + template<typename _Key, typename _Compare = less<_Key>> + using set = std::set<_Key, _Compare, polymorphic_allocator<_Key>>; -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + template<typename _Key, typename _Compare = less<_Key>> + using multiset = std::multiset<_Key, _Compare, + polymorphic_allocator<_Key>>; + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/source_location b/libstdc++-v3/include/experimental/source_location index b06d8b651ae..a7fa95549b3 100644 --- a/libstdc++-v3/include/experimental/source_location +++ b/libstdc++-v3/include/experimental/source_location @@ -32,10 +32,10 @@ #include <cstdint> namespace std { -namespace experimental { -inline namespace fundamentals_v2 { _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace experimental { +inline namespace fundamentals_v2 { #define __cpp_lib_experimental_source_location 201505 struct source_location @@ -77,10 +77,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION uint_least32_t _M_line; uint_least32_t _M_col; }; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif diff --git a/libstdc++-v3/include/experimental/string b/libstdc++-v3/include/experimental/string index 5347991959e..893013b1869 100644 --- a/libstdc++-v3/include/experimental/string +++ b/libstdc++-v3/include/experimental/string @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template<typename _CharT, typename _Traits, typename _Alloc, typename _Predicate> inline void @@ -64,30 +64,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __cont.end()); } -_GLIBCXX_END_NAMESPACE_VERSION + namespace pmr { + _GLIBCXX_BEGIN_NAMESPACE_CXX11 -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION -_GLIBCXX_BEGIN_NAMESPACE_CXX11 + // basic_string using polymorphic allocator in namespace pmr + template<typename _CharT, typename _Traits = char_traits<_CharT>> + using basic_string = + std::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>; - // basic_string using polymorphic allocator in namespace pmr - template<typename _CharT, typename _Traits = char_traits<_CharT>> - using basic_string = - std::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>; - - // basic_string typedef names using polymorphic allocator in namespace - // std::experimental::pmr - typedef basic_string<char> string; - typedef basic_string<char16_t> u16string; - typedef basic_string<char32_t> u32string; - typedef basic_string<wchar_t> wstring; - -_GLIBCXX_END_NAMESPACE_CXX11 -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + // basic_string typedef names using polymorphic allocator in namespace + // std::experimental::pmr + typedef basic_string<char> string; + typedef basic_string<char16_t> u16string; + typedef basic_string<char32_t> u32string; + typedef basic_string<wchar_t> wstring; + _GLIBCXX_END_NAMESPACE_CXX11 + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/string_view b/libstdc++-v3/include/experimental/string_view index bd212ac3719..5cec5597744 100644 --- a/libstdc++-v3/include/experimental/string_view +++ b/libstdc++-v3/include/experimental/string_view @@ -45,12 +45,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_string_view 201411 /** @@ -434,23 +434,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _CharT* _M_str; }; -_GLIBCXX_END_NAMESPACE_VERSION - // [string.view.comparison], non-member basic_string_view comparison functions namespace __detail { -_GLIBCXX_BEGIN_NAMESPACE_VERSION // Identity transform to create a non-deduced context, so that only one // argument participates in template argument deduction and the other // argument gets implicitly converted to the deduced type. See n3766.html. template<typename _Tp> using __idt = common_type_t<_Tp>; -_GLIBCXX_END_NAMESPACE_VERSION } -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template<typename _CharT, typename _Traits> inline bool operator==(basic_string_view<_CharT, _Traits> __x, @@ -577,15 +571,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using u16string_view = basic_string_view<char16_t>; using u32string_view = basic_string_view<char32_t>; #endif - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental // [string.view.hash], hash support: - -_GLIBCXX_BEGIN_NAMESPACE_VERSION template<typename _Tp> struct hash; @@ -647,7 +637,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct __is_fast_hash<hash<experimental::u32string_view>> : std::false_type { }; #endif -_GLIBCXX_END_NAMESPACE_VERSION namespace experimental { @@ -656,8 +645,6 @@ namespace experimental { inline namespace string_view_literals { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - inline constexpr basic_string_view<char> operator""sv(const char* __str, size_t __len) { return basic_string_view<char>{__str, __len}; } @@ -677,11 +664,11 @@ namespace experimental operator""sv(const char32_t* __str, size_t __len) { return basic_string_view<char32_t>{__str, __len}; } #endif - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace string_literals } // namespace literals } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #include <experimental/bits/string_view.tcc> diff --git a/libstdc++-v3/include/experimental/system_error b/libstdc++-v3/include/experimental/system_error index 2b4855dba72..2bad7503b2f 100644 --- a/libstdc++-v3/include/experimental/system_error +++ b/libstdc++-v3/include/experimental/system_error @@ -44,22 +44,22 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // See C++14 §19.5, System error support template <typename _Tp> constexpr bool is_error_code_enum_v = is_error_code_enum<_Tp>::value; template <typename _Tp> constexpr bool is_error_condition_enum_v = is_error_condition_enum<_Tp>::value; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/tuple b/libstdc++-v3/include/experimental/tuple index 879636eecd8..a12fa0a3327 100644 --- a/libstdc++-v3/include/experimental/tuple +++ b/libstdc++-v3/include/experimental/tuple @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // See C++14 §20.4.2.5, tuple helper classes template <typename _Tp> constexpr size_t tuple_size_v = tuple_size<_Tp>::value; @@ -71,10 +71,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION std::forward<_Tuple>(__t), _Indices{}); } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/type_traits b/libstdc++-v3/include/experimental/type_traits index 7ec06308ba9..3885c168e31 100644 --- a/libstdc++-v3/include/experimental/type_traits +++ b/libstdc++-v3/include/experimental/type_traits @@ -44,12 +44,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_type_trait_variable_templates 201402 // See C++14 §20.10.4.1, primary type categories @@ -218,13 +218,10 @@ template <typename _From, typename _To> // raw_invocation_type (still unimplemented) // invocation_type_t (still unimplemented) // raw_invocation_type_t (still unimplemented) -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_detect 201505 // [meta.detect] @@ -299,10 +296,10 @@ template<typename... _Bn> template<typename _Pp> constexpr bool negation_v = negation<_Pp>::value; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/unordered_map b/libstdc++-v3/include/experimental/unordered_map index fbc44b267b5..cddd5b3d78c 100644 --- a/libstdc++-v3/include/experimental/unordered_map +++ b/libstdc++-v3/include/experimental/unordered_map @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template<typename _Key, typename _Tp, typename _Hash, typename _CPred, typename _Alloc, typename _Predicate> inline void @@ -61,28 +61,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template<typename _Key, typename _Tp, typename _Hash = hash<_Key>, - typename _Pred = equal_to<_Key>> - using unordered_map + namespace pmr { + template<typename _Key, typename _Tp, typename _Hash = hash<_Key>, + typename _Pred = equal_to<_Key>> + using unordered_map = std::unordered_map<_Key, _Tp, _Hash, _Pred, polymorphic_allocator<pair<const _Key, _Tp>>>; - template<typename _Key, typename _Tp, typename _Hash = hash<_Key>, - typename _Pred = equal_to<_Key>> - using unordered_multimap + template<typename _Key, typename _Tp, typename _Hash = hash<_Key>, + typename _Pred = equal_to<_Key>> + using unordered_multimap = std::unordered_multimap<_Key, _Tp, _Hash, _Pred, polymorphic_allocator<pair<const _Key, _Tp>>>; - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/unordered_set b/libstdc++-v3/include/experimental/unordered_set index 3c8fe255275..816327f9ba7 100644 --- a/libstdc++-v3/include/experimental/unordered_set +++ b/libstdc++-v3/include/experimental/unordered_set @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template<typename _Key, typename _Hash, typename _CPred, typename _Alloc, typename _Predicate> inline void @@ -61,27 +61,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template<typename _Key, typename _Hash = hash<_Key>, - typename _Pred = equal_to<_Key>> - using unordered_set + namespace pmr { + template<typename _Key, typename _Hash = hash<_Key>, + typename _Pred = equal_to<_Key>> + using unordered_set = std::unordered_set<_Key, _Hash, _Pred, polymorphic_allocator<_Key>>; - template<typename _Key, typename _Hash = hash<_Key>, - typename _Pred = equal_to<_Key>> - using unordered_multiset + template<typename _Key, typename _Hash = hash<_Key>, + typename _Pred = equal_to<_Key>> + using unordered_multiset = std::unordered_multiset<_Key, _Hash, _Pred, polymorphic_allocator<_Key>>; - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/utility b/libstdc++-v3/include/experimental/utility index db85c5cc62c..5d21d67e387 100644 --- a/libstdc++-v3/include/experimental/utility +++ b/libstdc++-v3/include/experimental/utility @@ -34,16 +34,16 @@ #include <experimental/bits/lfts_config.h> namespace std { -namespace experimental { -inline namespace fundamentals_v2 { _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace experimental { +inline namespace fundamentals_v2 { // 3.1.2, erased-type placeholder using erased_type = std::__erased_type; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif diff --git a/libstdc++-v3/include/experimental/vector b/libstdc++-v3/include/experimental/vector index b75a3bc7ce4..e77dd2e4771 100644 --- a/libstdc++-v3/include/experimental/vector +++ b/libstdc++-v3/include/experimental/vector @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_erase_if 201411 template<typename _Tp, typename _Alloc, typename _Predicate> @@ -65,19 +65,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __cont.end()); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template<typename _Tp> - using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>; - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + namespace pmr { + template<typename _Tp> + using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>; + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 |