diff options
Diffstat (limited to 'contrib/llvm-project/libcxx/include/map')
| -rw-r--r-- | contrib/llvm-project/libcxx/include/map | 707 |
1 files changed, 355 insertions, 352 deletions
diff --git a/contrib/llvm-project/libcxx/include/map b/contrib/llvm-project/libcxx/include/map index 4152d58a2f88..82a296f9cb8d 100644 --- a/contrib/llvm-project/libcxx/include/map +++ b/contrib/llvm-project/libcxx/include/map @@ -596,6 +596,7 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred); // C++20 #include <__utility/forward.h> #include <__utility/piecewise_construct.h> #include <__utility/swap.h> +#include <stdexcept> #include <tuple> #include <version> @@ -624,40 +625,40 @@ class __map_value_compare : private _Compare { public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_value_compare() _NOEXCEPT_(is_nothrow_default_constructible<_Compare>::value) : _Compare() {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_value_compare(_Compare __c) _NOEXCEPT_(is_nothrow_copy_constructible<_Compare>::value) : _Compare(__c) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const _Compare& key_comp() const _NOEXCEPT {return *this;} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool operator()(const _CP& __x, const _CP& __y) const {return static_cast<const _Compare&>(*this)(__x.__get_value().first, __y.__get_value().first);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool operator()(const _CP& __x, const _Key& __y) const {return static_cast<const _Compare&>(*this)(__x.__get_value().first, __y);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool operator()(const _Key& __x, const _CP& __y) const {return static_cast<const _Compare&>(*this)(__x, __y.__get_value().first);} _LIBCPP_HIDE_FROM_ABI void swap(__map_value_compare& __y) _NOEXCEPT_(__is_nothrow_swappable<_Compare>::value) { - using _VSTD::swap; + using std::swap; swap(static_cast<_Compare&>(*this), static_cast<_Compare&>(__y)); } #if _LIBCPP_STD_VER >= 14 template <typename _K2> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool operator()(const _K2& __x, const _CP& __y) const {return static_cast<const _Compare&>(*this)(__x, __y.__get_value().first);} template <typename _K2> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool operator()(const _CP& __x, const _K2& __y) const {return static_cast<const _Compare&>(*this)(__x.__get_value().first, __y);} #endif @@ -669,48 +670,48 @@ class __map_value_compare<_Key, _CP, _Compare, false> _Compare __comp_; public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_value_compare() _NOEXCEPT_(is_nothrow_default_constructible<_Compare>::value) : __comp_() {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_value_compare(_Compare __c) _NOEXCEPT_(is_nothrow_copy_constructible<_Compare>::value) : __comp_(__c) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const _Compare& key_comp() const _NOEXCEPT {return __comp_;} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool operator()(const _CP& __x, const _CP& __y) const {return __comp_(__x.__get_value().first, __y.__get_value().first);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool operator()(const _CP& __x, const _Key& __y) const {return __comp_(__x.__get_value().first, __y);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool operator()(const _Key& __x, const _CP& __y) const {return __comp_(__x, __y.__get_value().first);} void swap(__map_value_compare& __y) _NOEXCEPT_(__is_nothrow_swappable<_Compare>::value) { - using _VSTD::swap; + using std::swap; swap(__comp_, __y.__comp_); } #if _LIBCPP_STD_VER >= 14 template <typename _K2> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool operator()(const _K2& __x, const _CP& __y) const {return __comp_(__x, __y.__get_value().first);} template <typename _K2> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool operator()(const _CP& __x, const _K2& __y) const {return __comp_(__x.__get_value().first, __y);} #endif }; template <class _Key, class _CP, class _Compare, bool __b> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI void swap(__map_value_compare<_Key, _CP, _Compare, __b>& __x, __map_value_compare<_Key, _CP, _Compare, __b>& __y) @@ -737,7 +738,7 @@ public: bool __first_constructed; bool __second_constructed; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI explicit __map_node_destructor(allocator_type& __na) _NOEXCEPT : __na_(__na), __first_constructed(false), @@ -745,7 +746,7 @@ public: {} #ifndef _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_node_destructor(__tree_node_destructor<allocator_type>&& __x) _NOEXCEPT : __na_(__x.__na_), __first_constructed(__x.__value_constructed), @@ -755,13 +756,13 @@ public: } #endif // _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void operator()(pointer __p) _NOEXCEPT { if (__second_constructed) - __alloc_traits::destroy(__na_, _VSTD::addressof(__p->__value_.__get_value().second)); + __alloc_traits::destroy(__na_, std::addressof(__p->__value_.__get_value().second)); if (__first_constructed) - __alloc_traits::destroy(__na_, _VSTD::addressof(__p->__value_.__get_value().first)); + __alloc_traits::destroy(__na_, std::addressof(__p->__value_.__get_value().first)); if (__p) __alloc_traits::deallocate(__na_, __p, 1); } @@ -788,50 +789,50 @@ private: value_type __cc_; public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI value_type& __get_value() { #if _LIBCPP_STD_VER >= 17 - return *_VSTD::launder(_VSTD::addressof(__cc_)); + return *std::launder(std::addressof(__cc_)); #else return __cc_; #endif } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const value_type& __get_value() const { #if _LIBCPP_STD_VER >= 17 - return *_VSTD::launder(_VSTD::addressof(__cc_)); + return *std::launder(std::addressof(__cc_)); #else return __cc_; #endif } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __nc_ref_pair_type __ref() { value_type& __v = __get_value(); return __nc_ref_pair_type(const_cast<key_type&>(__v.first), __v.second); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __nc_rref_pair_type __move() { value_type& __v = __get_value(); return __nc_rref_pair_type( - _VSTD::move(const_cast<key_type&>(__v.first)), - _VSTD::move(__v.second)); + std::move(const_cast<key_type&>(__v.first)), + std::move(__v.second)); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __value_type& operator=(const __value_type& __v) { __ref() = __v.__get_value(); return *this; } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __value_type& operator=(__value_type&& __v) { __ref() = __v.__move(); @@ -841,10 +842,10 @@ public: template <class _ValueTp, class = __enable_if_t<__is_same_uncvref<_ValueTp, value_type>::value> > - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __value_type& operator=(_ValueTp&& __v) { - __ref() = _VSTD::forward<_ValueTp>(__v); + __ref() = std::forward<_ValueTp>(__v); return *this; } @@ -868,9 +869,9 @@ private: value_type __cc_; public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI value_type& __get_value() { return __cc_; } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const value_type& __get_value() const { return __cc_; } private: @@ -907,20 +908,20 @@ public: typedef value_type& reference; typedef typename _NodeTypes::__map_value_type_pointer pointer; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_iterator() _NOEXCEPT {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_iterator(_TreeIterator __i) _NOEXCEPT : __i_(__i) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI reference operator*() const {return __i_->__get_value();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pointer operator->() const {return pointer_traits<pointer>::pointer_to(__i_->__get_value());} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_iterator& operator++() {++__i_; return *this;} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_iterator operator++(int) { __map_iterator __t(*this); @@ -928,9 +929,9 @@ public: return __t; } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_iterator& operator--() {--__i_; return *this;} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_iterator operator--(int) { __map_iterator __t(*this); @@ -938,11 +939,11 @@ public: return __t; } - friend _LIBCPP_INLINE_VISIBILITY + friend _LIBCPP_HIDE_FROM_ABI bool operator==(const __map_iterator& __x, const __map_iterator& __y) {return __x.__i_ == __y.__i_;} friend - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool operator!=(const __map_iterator& __x, const __map_iterator& __y) {return __x.__i_ != __y.__i_;} @@ -966,24 +967,24 @@ public: typedef const value_type& reference; typedef typename _NodeTypes::__const_map_value_type_pointer pointer; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_const_iterator() _NOEXCEPT {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_const_iterator(_TreeIterator __i) _NOEXCEPT : __i_(__i) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_const_iterator(__map_iterator< typename _TreeIterator::__non_const_iterator> __i) _NOEXCEPT : __i_(__i.__i_) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI reference operator*() const {return __i_->__get_value();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pointer operator->() const {return pointer_traits<pointer>::pointer_to(__i_->__get_value());} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_const_iterator& operator++() {++__i_; return *this;} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_const_iterator operator++(int) { __map_const_iterator __t(*this); @@ -991,9 +992,9 @@ public: return __t; } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_const_iterator& operator--() {--__i_; return *this;} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __map_const_iterator operator--(int) { __map_const_iterator __t(*this); @@ -1001,10 +1002,10 @@ public: return __t; } - friend _LIBCPP_INLINE_VISIBILITY + friend _LIBCPP_HIDE_FROM_ABI bool operator==(const __map_const_iterator& __x, const __map_const_iterator& __y) {return __x.__i_ == __y.__i_;} - friend _LIBCPP_INLINE_VISIBILITY + friend _LIBCPP_HIDE_FROM_ABI bool operator!=(const __map_const_iterator& __x, const __map_const_iterator& __y) {return __x.__i_ != __y.__i_;} @@ -1037,16 +1038,16 @@ public: protected: key_compare comp; - _LIBCPP_INLINE_VISIBILITY value_compare(key_compare __c) : comp(__c) {} + _LIBCPP_HIDE_FROM_ABI value_compare(key_compare __c) : comp(__c) {} public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool operator()(const value_type& __x, const value_type& __y) const {return comp(__x.first, __y.first);} }; private: - typedef _VSTD::__value_type<key_type, mapped_type> __value_type; + typedef std::__value_type<key_type, mapped_type> __value_type; typedef __map_value_compare<key_type, __value_type, key_compare> __vc; typedef __rebind_alloc<allocator_traits<allocator_type>, __value_type> __allocator_type; typedef __tree<__value_type, __vc, __allocator_type> __base; @@ -1066,8 +1067,8 @@ public: typedef typename __alloc_traits::difference_type difference_type; typedef __map_iterator<typename __base::iterator> iterator; typedef __map_const_iterator<typename __base::const_iterator> const_iterator; - typedef _VSTD::reverse_iterator<iterator> reverse_iterator; - typedef _VSTD::reverse_iterator<const_iterator> const_reverse_iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; #if _LIBCPP_STD_VER >= 17 typedef __map_node_handle<typename __base::__node, allocator_type> node_type; @@ -1079,7 +1080,7 @@ public: template <class _Key2, class _Value2, class _Comp2, class _Alloc2> friend class _LIBCPP_TEMPLATE_VIS multimap; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI map() _NOEXCEPT_( is_nothrow_default_constructible<allocator_type>::value && @@ -1087,19 +1088,19 @@ public: is_nothrow_copy_constructible<key_compare>::value) : __tree_(__vc(key_compare())) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI explicit map(const key_compare& __comp) _NOEXCEPT_( is_nothrow_default_constructible<allocator_type>::value && is_nothrow_copy_constructible<key_compare>::value) : __tree_(__vc(__comp)) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI explicit map(const key_compare& __comp, const allocator_type& __a) : __tree_(__vc(__comp), typename __base::allocator_type(__a)) {} template <class _InputIterator> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI map(_InputIterator __f, _InputIterator __l, const key_compare& __comp = key_compare()) : __tree_(__vc(__comp)) @@ -1108,7 +1109,7 @@ public: } template <class _InputIterator> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI map(_InputIterator __f, _InputIterator __l, const key_compare& __comp, const allocator_type& __a) : __tree_(__vc(__comp), typename __base::allocator_type(__a)) @@ -1128,7 +1129,7 @@ public: #if _LIBCPP_STD_VER >= 14 template <class _InputIterator> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI map(_InputIterator __f, _InputIterator __l, const allocator_type& __a) : map(__f, __l, key_compare(), __a) {} #endif @@ -1140,20 +1141,20 @@ public: : map(from_range, std::forward<_Range>(__range), key_compare(), __a) {} #endif - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI map(const map& __m) : __tree_(__m.__tree_) { insert(__m.begin(), __m.end()); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI map& operator=(const map& __m) { #ifndef _LIBCPP_CXX03_LANG __tree_ = __m.__tree_; #else - if (this != _VSTD::addressof(__m)) { + if (this != std::addressof(__m)) { __tree_.clear(); __tree_.value_comp() = __m.__tree_.value_comp(); __tree_.__copy_assign_alloc(__m.__tree_); @@ -1165,31 +1166,31 @@ public: #ifndef _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI map(map&& __m) _NOEXCEPT_(is_nothrow_move_constructible<__base>::value) - : __tree_(_VSTD::move(__m.__tree_)) + : __tree_(std::move(__m.__tree_)) { } _LIBCPP_HIDE_FROM_ABI map(map&& __m, const allocator_type& __a); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI map& operator=(map&& __m) _NOEXCEPT_(is_nothrow_move_assignable<__base>::value) { - __tree_ = _VSTD::move(__m.__tree_); + __tree_ = std::move(__m.__tree_); return *this; } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI map(initializer_list<value_type> __il, const key_compare& __comp = key_compare()) : __tree_(__vc(__comp)) { insert(__il.begin(), __il.end()); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI map(initializer_list<value_type> __il, const key_compare& __comp, const allocator_type& __a) : __tree_(__vc(__comp), typename __base::allocator_type(__a)) { @@ -1197,12 +1198,12 @@ public: } #if _LIBCPP_STD_VER >= 14 - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI map(initializer_list<value_type> __il, const allocator_type& __a) : map(__il, key_compare(), __a) {} #endif - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI map& operator=(initializer_list<value_type> __il) { __tree_.__assign_unique(__il.begin(), __il.end()); @@ -1211,59 +1212,59 @@ public: #endif // _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI explicit map(const allocator_type& __a) : __tree_(typename __base::allocator_type(__a)) { } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI map(const map& __m, const allocator_type& __a) : __tree_(__m.__tree_.value_comp(), typename __base::allocator_type(__a)) { insert(__m.begin(), __m.end()); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI ~map() { static_assert(sizeof(__diagnose_non_const_comparator<_Key, _Compare>()), ""); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator begin() _NOEXCEPT {return __tree_.begin();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator begin() const _NOEXCEPT {return __tree_.begin();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator end() _NOEXCEPT {return __tree_.end();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator end() const _NOEXCEPT {return __tree_.end();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI reverse_iterator rbegin() _NOEXCEPT {return reverse_iterator(end());} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_reverse_iterator rbegin() const _NOEXCEPT {return const_reverse_iterator(end());} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI reverse_iterator rend() _NOEXCEPT {return reverse_iterator(begin());} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_reverse_iterator rend() const _NOEXCEPT {return const_reverse_iterator(begin());} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator cbegin() const _NOEXCEPT {return begin();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator cend() const _NOEXCEPT {return end();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_reverse_iterator crbegin() const _NOEXCEPT {return rbegin();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_reverse_iterator crend() const _NOEXCEPT {return rend();} - _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY + _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI bool empty() const _NOEXCEPT {return __tree_.size() == 0;} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_type size() const _NOEXCEPT {return __tree_.size();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_type max_size() const _NOEXCEPT {return __tree_.max_size();} _LIBCPP_HIDE_FROM_ABI mapped_type& operator[](const key_type& __k); @@ -1274,65 +1275,65 @@ public: _LIBCPP_HIDE_FROM_ABI mapped_type& at(const key_type& __k); _LIBCPP_HIDE_FROM_ABI const mapped_type& at(const key_type& __k) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const _NOEXCEPT {return allocator_type(__tree_.__alloc());} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI key_compare key_comp() const {return __tree_.value_comp().key_comp();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI value_compare value_comp() const {return value_compare(__tree_.value_comp().key_comp());} #ifndef _LIBCPP_CXX03_LANG template <class ..._Args> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pair<iterator, bool> emplace(_Args&& ...__args) { - return __tree_.__emplace_unique(_VSTD::forward<_Args>(__args)...); + return __tree_.__emplace_unique(std::forward<_Args>(__args)...); } template <class ..._Args> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator emplace_hint(const_iterator __p, _Args&& ...__args) { - return __tree_.__emplace_hint_unique(__p.__i_, _VSTD::forward<_Args>(__args)...); + return __tree_.__emplace_hint_unique(__p.__i_, std::forward<_Args>(__args)...); } template <class _Pp, class = __enable_if_t<is_constructible<value_type, _Pp>::value> > - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pair<iterator, bool> insert(_Pp&& __p) - {return __tree_.__insert_unique(_VSTD::forward<_Pp>(__p));} + {return __tree_.__insert_unique(std::forward<_Pp>(__p));} template <class _Pp, class = __enable_if_t<is_constructible<value_type, _Pp>::value> > - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __pos, _Pp&& __p) - {return __tree_.__insert_unique(__pos.__i_, _VSTD::forward<_Pp>(__p));} + {return __tree_.__insert_unique(__pos.__i_, std::forward<_Pp>(__p));} #endif // _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pair<iterator, bool> insert(const value_type& __v) {return __tree_.__insert_unique(__v);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, const value_type& __v) {return __tree_.__insert_unique(__p.__i_, __v);} #ifndef _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pair<iterator, bool> - insert(value_type&& __v) {return __tree_.__insert_unique(_VSTD::move(__v));} + insert(value_type&& __v) {return __tree_.__insert_unique(std::move(__v));} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, value_type&& __v) - {return __tree_.__insert_unique(__p.__i_, _VSTD::move(__v));} + {return __tree_.__insert_unique(__p.__i_, std::move(__v));} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void insert(initializer_list<value_type> __il) {insert(__il.begin(), __il.end());} #endif template <class _InputIterator> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void insert(_InputIterator __f, _InputIterator __l) { for (const_iterator __e = cend(); __f != __l; ++__f) @@ -1353,141 +1354,141 @@ public: #if _LIBCPP_STD_VER >= 17 template <class... _Args> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pair<iterator, bool> try_emplace(const key_type& __k, _Args&&... __args) { return __tree_.__emplace_unique_key_args(__k, - _VSTD::piecewise_construct, - _VSTD::forward_as_tuple(__k), - _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...)); + std::piecewise_construct, + std::forward_as_tuple(__k), + std::forward_as_tuple(std::forward<_Args>(__args)...)); } template <class... _Args> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pair<iterator, bool> try_emplace(key_type&& __k, _Args&&... __args) { return __tree_.__emplace_unique_key_args(__k, - _VSTD::piecewise_construct, - _VSTD::forward_as_tuple(_VSTD::move(__k)), - _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...)); + std::piecewise_construct, + std::forward_as_tuple(std::move(__k)), + std::forward_as_tuple(std::forward<_Args>(__args)...)); } template <class... _Args> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator try_emplace(const_iterator __h, const key_type& __k, _Args&&... __args) { return __tree_.__emplace_hint_unique_key_args(__h.__i_, __k, - _VSTD::piecewise_construct, - _VSTD::forward_as_tuple(__k), - _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...)).first; + std::piecewise_construct, + std::forward_as_tuple(__k), + std::forward_as_tuple(std::forward<_Args>(__args)...)).first; } template <class... _Args> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator try_emplace(const_iterator __h, key_type&& __k, _Args&&... __args) { return __tree_.__emplace_hint_unique_key_args(__h.__i_, __k, - _VSTD::piecewise_construct, - _VSTD::forward_as_tuple(_VSTD::move(__k)), - _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...)).first; + std::piecewise_construct, + std::forward_as_tuple(std::move(__k)), + std::forward_as_tuple(std::forward<_Args>(__args)...)).first; } template <class _Vp> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pair<iterator, bool> insert_or_assign(const key_type& __k, _Vp&& __v) { iterator __p = lower_bound(__k); if ( __p != end() && !key_comp()(__k, __p->first)) { - __p->second = _VSTD::forward<_Vp>(__v); - return _VSTD::make_pair(__p, false); + __p->second = std::forward<_Vp>(__v); + return std::make_pair(__p, false); } - return _VSTD::make_pair(emplace_hint(__p, __k, _VSTD::forward<_Vp>(__v)), true); + return std::make_pair(emplace_hint(__p, __k, std::forward<_Vp>(__v)), true); } template <class _Vp> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pair<iterator, bool> insert_or_assign(key_type&& __k, _Vp&& __v) { iterator __p = lower_bound(__k); if ( __p != end() && !key_comp()(__k, __p->first)) { - __p->second = _VSTD::forward<_Vp>(__v); - return _VSTD::make_pair(__p, false); + __p->second = std::forward<_Vp>(__v); + return std::make_pair(__p, false); } - return _VSTD::make_pair(emplace_hint(__p, _VSTD::move(__k), _VSTD::forward<_Vp>(__v)), true); + return std::make_pair(emplace_hint(__p, std::move(__k), std::forward<_Vp>(__v)), true); } template <class _Vp> - _LIBCPP_INLINE_VISIBILITY iterator insert_or_assign(const_iterator __h, + _LIBCPP_HIDE_FROM_ABI iterator insert_or_assign(const_iterator __h, const key_type& __k, _Vp&& __v) { auto [__r, __inserted] = __tree_.__emplace_hint_unique_key_args( - __h.__i_, __k, __k, _VSTD::forward<_Vp>(__v)); + __h.__i_, __k, __k, std::forward<_Vp>(__v)); if (!__inserted) - __r->__get_value().second = _VSTD::forward<_Vp>(__v); + __r->__get_value().second = std::forward<_Vp>(__v); return __r; } template <class _Vp> - _LIBCPP_INLINE_VISIBILITY iterator insert_or_assign(const_iterator __h, + _LIBCPP_HIDE_FROM_ABI iterator insert_or_assign(const_iterator __h, key_type&& __k, _Vp&& __v) { auto [__r, __inserted] = __tree_.__emplace_hint_unique_key_args( - __h.__i_, __k, _VSTD::move(__k), _VSTD::forward<_Vp>(__v)); + __h.__i_, __k, std::move(__k), std::forward<_Vp>(__v)); if (!__inserted) - __r->__get_value().second = _VSTD::forward<_Vp>(__v); + __r->__get_value().second = std::forward<_Vp>(__v); return __r; } #endif // _LIBCPP_STD_VER >= 17 - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator erase(iterator __p) {return __tree_.erase(__p.__i_);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_type erase(const key_type& __k) {return __tree_.__erase_unique(__k);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __f, const_iterator __l) {return __tree_.erase(__f.__i_, __l.__i_);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void clear() _NOEXCEPT {__tree_.clear();} #if _LIBCPP_STD_VER >= 17 - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI insert_return_type insert(node_type&& __nh) { _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__nh.empty() || __nh.get_allocator() == get_allocator(), "node_type with incompatible allocator passed to map::insert()"); return __tree_.template __node_handle_insert_unique< - node_type, insert_return_type>(_VSTD::move(__nh)); + node_type, insert_return_type>(std::move(__nh)); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __hint, node_type&& __nh) { _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__nh.empty() || __nh.get_allocator() == get_allocator(), "node_type with incompatible allocator passed to map::insert()"); return __tree_.template __node_handle_insert_unique<node_type>( - __hint.__i_, _VSTD::move(__nh)); + __hint.__i_, std::move(__nh)); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI node_type extract(key_type const& __key) { return __tree_.template __node_handle_extract<node_type>(__key); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI node_type extract(const_iterator __it) { return __tree_.template __node_handle_extract<node_type>(__it.__i_); } template <class _Compare2> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void merge(map<key_type, mapped_type, _Compare2, allocator_type>& __source) { _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__source.get_allocator() == get_allocator(), @@ -1495,7 +1496,7 @@ public: __tree_.__node_handle_merge_unique(__source.__tree_); } template <class _Compare2> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void merge(map<key_type, mapped_type, _Compare2, allocator_type>&& __source) { _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__source.get_allocator() == get_allocator(), @@ -1503,7 +1504,7 @@ public: __tree_.__node_handle_merge_unique(__source.__tree_); } template <class _Compare2> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void merge(multimap<key_type, mapped_type, _Compare2, allocator_type>& __source) { _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__source.get_allocator() == get_allocator(), @@ -1511,7 +1512,7 @@ public: __tree_.__node_handle_merge_unique(__source.__tree_); } template <class _Compare2> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void merge(multimap<key_type, mapped_type, _Compare2, allocator_type>&& __source) { _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__source.get_allocator() == get_allocator(), @@ -1520,94 +1521,94 @@ public: } #endif - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void swap(map& __m) _NOEXCEPT_(__is_nothrow_swappable<__base>::value) {__tree_.swap(__m.__tree_);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) {return __tree_.find(__k);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const {return __tree_.find(__k);} #if _LIBCPP_STD_VER >= 14 - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, iterator> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + iterator find(const _K2& __k) {return __tree_.find(__k);} - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, const_iterator> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + const_iterator find(const _K2& __k) const {return __tree_.find(__k);} #endif - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const {return __tree_.__count_unique(__k);} #if _LIBCPP_STD_VER >= 14 - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, size_type> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + size_type count(const _K2& __k) const {return __tree_.__count_multi(__k);} #endif #if _LIBCPP_STD_VER >= 20 - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool contains(const key_type& __k) const {return find(__k) != end();} - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, bool> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + bool contains(const _K2& __k) const { return find(__k) != end(); } #endif // _LIBCPP_STD_VER >= 20 - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator lower_bound(const key_type& __k) {return __tree_.lower_bound(__k);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator lower_bound(const key_type& __k) const {return __tree_.lower_bound(__k);} #if _LIBCPP_STD_VER >= 14 - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, iterator> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + iterator lower_bound(const _K2& __k) {return __tree_.lower_bound(__k);} - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, const_iterator> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + const_iterator lower_bound(const _K2& __k) const {return __tree_.lower_bound(__k);} #endif - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator upper_bound(const key_type& __k) {return __tree_.upper_bound(__k);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator upper_bound(const key_type& __k) const {return __tree_.upper_bound(__k);} #if _LIBCPP_STD_VER >= 14 - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, iterator> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + iterator upper_bound(const _K2& __k) {return __tree_.upper_bound(__k);} - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, const_iterator> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + const_iterator upper_bound(const _K2& __k) const {return __tree_.upper_bound(__k);} #endif - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pair<iterator,iterator> equal_range(const key_type& __k) {return __tree_.__equal_range_unique(__k);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pair<const_iterator,const_iterator> equal_range(const key_type& __k) const {return __tree_.__equal_range_unique(__k);} #if _LIBCPP_STD_VER >= 14 - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, pair<iterator,iterator>> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + pair<iterator,iterator> equal_range(const _K2& __k) {return __tree_.__equal_range_multi(__k);} - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, pair<const_iterator,const_iterator>> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + pair<const_iterator,const_iterator> equal_range(const _K2& __k) const {return __tree_.__equal_range_multi(__k);} #endif @@ -1674,7 +1675,7 @@ map(initializer_list<pair<_Key, _Tp>>, _Allocator) #ifndef _LIBCPP_CXX03_LANG template <class _Key, class _Tp, class _Compare, class _Allocator> map<_Key, _Tp, _Compare, _Allocator>::map(map&& __m, const allocator_type& __a) - : __tree_(_VSTD::move(__m.__tree_), typename __base::allocator_type(__a)) + : __tree_(std::move(__m.__tree_), typename __base::allocator_type(__a)) { if (__a != __m.get_allocator()) { @@ -1690,19 +1691,21 @@ _Tp& map<_Key, _Tp, _Compare, _Allocator>::operator[](const key_type& __k) { return __tree_.__emplace_unique_key_args(__k, - _VSTD::piecewise_construct, - _VSTD::forward_as_tuple(__k), - _VSTD::forward_as_tuple()).first->__get_value().second; + std::piecewise_construct, + std::forward_as_tuple(__k), + std::forward_as_tuple()).first->__get_value().second; } template <class _Key, class _Tp, class _Compare, class _Allocator> _Tp& map<_Key, _Tp, _Compare, _Allocator>::operator[](key_type&& __k) { + // TODO investigate this clang-tidy warning. + // NOLINTNEXTLINE(bugprone-use-after-move) return __tree_.__emplace_unique_key_args(__k, - _VSTD::piecewise_construct, - _VSTD::forward_as_tuple(_VSTD::move(__k)), - _VSTD::forward_as_tuple()).first->__get_value().second; + std::piecewise_construct, + std::forward_as_tuple(std::move(__k)), + std::forward_as_tuple()).first->__get_value().second; } #else // _LIBCPP_CXX03_LANG @@ -1713,9 +1716,9 @@ map<_Key, _Tp, _Compare, _Allocator>::__construct_node_with_key(const key_type& { __node_allocator& __na = __tree_.__node_alloc(); __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na)); - __node_traits::construct(__na, _VSTD::addressof(__h->__value_.__get_value().first), __k); + __node_traits::construct(__na, std::addressof(__h->__value_.__get_value().first), __k); __h.get_deleter().__first_constructed = true; - __node_traits::construct(__na, _VSTD::addressof(__h->__value_.__get_value().second)); + __node_traits::construct(__na, std::addressof(__h->__value_.__get_value().second)); __h.get_deleter().__second_constructed = true; return __h; } @@ -1762,27 +1765,27 @@ map<_Key, _Tp, _Compare, _Allocator>::at(const key_type& __k) const template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI bool operator==(const map<_Key, _Tp, _Compare, _Allocator>& __x, const map<_Key, _Tp, _Compare, _Allocator>& __y) { - return __x.size() == __y.size() && _VSTD::equal(__x.begin(), __x.end(), __y.begin()); + return __x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin()); } #if _LIBCPP_STD_VER <= 17 template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI bool operator< (const map<_Key, _Tp, _Compare, _Allocator>& __x, const map<_Key, _Tp, _Compare, _Allocator>& __y) { - return _VSTD::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); + return std::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); } template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const map<_Key, _Tp, _Compare, _Allocator>& __x, const map<_Key, _Tp, _Compare, _Allocator>& __y) @@ -1791,7 +1794,7 @@ operator!=(const map<_Key, _Tp, _Compare, _Allocator>& __x, } template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI bool operator> (const map<_Key, _Tp, _Compare, _Allocator>& __x, const map<_Key, _Tp, _Compare, _Allocator>& __y) @@ -1800,7 +1803,7 @@ operator> (const map<_Key, _Tp, _Compare, _Allocator>& __x, } template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI bool operator>=(const map<_Key, _Tp, _Compare, _Allocator>& __x, const map<_Key, _Tp, _Compare, _Allocator>& __y) @@ -1809,7 +1812,7 @@ operator>=(const map<_Key, _Tp, _Compare, _Allocator>& __x, } template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI bool operator<=(const map<_Key, _Tp, _Compare, _Allocator>& __x, const map<_Key, _Tp, _Compare, _Allocator>& __y) @@ -1833,7 +1836,7 @@ operator<=>(const map<_Key, _Tp, _Compare, _Allocator>& __x, const map<_Key, _Tp #endif // #if _LIBCPP_STD_VER <= 17 template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI void swap(map<_Key, _Tp, _Compare, _Allocator>& __x, map<_Key, _Tp, _Compare, _Allocator>& __y) @@ -1845,10 +1848,10 @@ swap(map<_Key, _Tp, _Compare, _Allocator>& __x, #if _LIBCPP_STD_VER >= 20 template <class _Key, class _Tp, class _Compare, class _Allocator, class _Predicate> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI typename map<_Key, _Tp, _Compare, _Allocator>::size_type erase_if(map<_Key, _Tp, _Compare, _Allocator>& __c, _Predicate __pred) { - return _VSTD::__libcpp_erase_if_container(__c, __pred); + return std::__libcpp_erase_if_container(__c, __pred); } #endif @@ -1877,17 +1880,17 @@ public: protected: key_compare comp; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI value_compare(key_compare __c) : comp(__c) {} public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool operator()(const value_type& __x, const value_type& __y) const {return comp(__x.first, __y.first);} }; private: - typedef _VSTD::__value_type<key_type, mapped_type> __value_type; + typedef std::__value_type<key_type, mapped_type> __value_type; typedef __map_value_compare<key_type, __value_type, key_compare> __vc; typedef __rebind_alloc<allocator_traits<allocator_type>, __value_type> __allocator_type; typedef __tree<__value_type, __vc, __allocator_type> __base; @@ -1907,8 +1910,8 @@ public: typedef typename __alloc_traits::difference_type difference_type; typedef __map_iterator<typename __base::iterator> iterator; typedef __map_const_iterator<typename __base::const_iterator> const_iterator; - typedef _VSTD::reverse_iterator<iterator> reverse_iterator; - typedef _VSTD::reverse_iterator<const_iterator> const_reverse_iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; #if _LIBCPP_STD_VER >= 17 typedef __map_node_handle<typename __base::__node, allocator_type> node_type; @@ -1919,7 +1922,7 @@ public: template <class _Key2, class _Value2, class _Comp2, class _Alloc2> friend class _LIBCPP_TEMPLATE_VIS multimap; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI multimap() _NOEXCEPT_( is_nothrow_default_constructible<allocator_type>::value && @@ -1927,19 +1930,19 @@ public: is_nothrow_copy_constructible<key_compare>::value) : __tree_(__vc(key_compare())) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI explicit multimap(const key_compare& __comp) _NOEXCEPT_( is_nothrow_default_constructible<allocator_type>::value && is_nothrow_copy_constructible<key_compare>::value) : __tree_(__vc(__comp)) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI explicit multimap(const key_compare& __comp, const allocator_type& __a) : __tree_(__vc(__comp), typename __base::allocator_type(__a)) {} template <class _InputIterator> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI multimap(_InputIterator __f, _InputIterator __l, const key_compare& __comp = key_compare()) : __tree_(__vc(__comp)) @@ -1948,7 +1951,7 @@ public: } template <class _InputIterator> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI multimap(_InputIterator __f, _InputIterator __l, const key_compare& __comp, const allocator_type& __a) : __tree_(__vc(__comp), typename __base::allocator_type(__a)) @@ -1968,7 +1971,7 @@ public: #if _LIBCPP_STD_VER >= 14 template <class _InputIterator> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI multimap(_InputIterator __f, _InputIterator __l, const allocator_type& __a) : multimap(__f, __l, key_compare(), __a) {} #endif @@ -1980,7 +1983,7 @@ public: : multimap(from_range, std::forward<_Range>(__range), key_compare(), __a) {} #endif - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI multimap(const multimap& __m) : __tree_(__m.__tree_.value_comp(), __alloc_traits::select_on_container_copy_construction(__m.__tree_.__alloc())) @@ -1988,13 +1991,13 @@ public: insert(__m.begin(), __m.end()); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI multimap& operator=(const multimap& __m) { #ifndef _LIBCPP_CXX03_LANG __tree_ = __m.__tree_; #else - if (this != _VSTD::addressof(__m)) { + if (this != std::addressof(__m)) { __tree_.clear(); __tree_.value_comp() = __m.__tree_.value_comp(); __tree_.__copy_assign_alloc(__m.__tree_); @@ -2006,31 +2009,31 @@ public: #ifndef _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI multimap(multimap&& __m) _NOEXCEPT_(is_nothrow_move_constructible<__base>::value) - : __tree_(_VSTD::move(__m.__tree_)) + : __tree_(std::move(__m.__tree_)) { } _LIBCPP_HIDE_FROM_ABI multimap(multimap&& __m, const allocator_type& __a); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI multimap& operator=(multimap&& __m) _NOEXCEPT_(is_nothrow_move_assignable<__base>::value) { - __tree_ = _VSTD::move(__m.__tree_); + __tree_ = std::move(__m.__tree_); return *this; } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI multimap(initializer_list<value_type> __il, const key_compare& __comp = key_compare()) : __tree_(__vc(__comp)) { insert(__il.begin(), __il.end()); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI multimap(initializer_list<value_type> __il, const key_compare& __comp, const allocator_type& __a) : __tree_(__vc(__comp), typename __base::allocator_type(__a)) { @@ -2038,12 +2041,12 @@ public: } #if _LIBCPP_STD_VER >= 14 - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI multimap(initializer_list<value_type> __il, const allocator_type& __a) : multimap(__il, key_compare(), __a) {} #endif - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI multimap& operator=(initializer_list<value_type> __il) { __tree_.__assign_multi(__il.begin(), __il.end()); @@ -2052,118 +2055,118 @@ public: #endif // _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI explicit multimap(const allocator_type& __a) : __tree_(typename __base::allocator_type(__a)) { } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI multimap(const multimap& __m, const allocator_type& __a) : __tree_(__m.__tree_.value_comp(), typename __base::allocator_type(__a)) { insert(__m.begin(), __m.end()); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI ~multimap() { static_assert(sizeof(__diagnose_non_const_comparator<_Key, _Compare>()), ""); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator begin() _NOEXCEPT {return __tree_.begin();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator begin() const _NOEXCEPT {return __tree_.begin();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator end() _NOEXCEPT {return __tree_.end();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator end() const _NOEXCEPT {return __tree_.end();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI reverse_iterator rbegin() _NOEXCEPT {return reverse_iterator(end());} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_reverse_iterator rbegin() const _NOEXCEPT {return const_reverse_iterator(end());} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI reverse_iterator rend() _NOEXCEPT {return reverse_iterator(begin());} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_reverse_iterator rend() const _NOEXCEPT {return const_reverse_iterator(begin());} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator cbegin() const _NOEXCEPT {return begin();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator cend() const _NOEXCEPT {return end();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_reverse_iterator crbegin() const _NOEXCEPT {return rbegin();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_reverse_iterator crend() const _NOEXCEPT {return rend();} - _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY + _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI bool empty() const _NOEXCEPT {return __tree_.size() == 0;} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_type size() const _NOEXCEPT {return __tree_.size();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_type max_size() const _NOEXCEPT {return __tree_.max_size();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const _NOEXCEPT {return allocator_type(__tree_.__alloc());} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI key_compare key_comp() const {return __tree_.value_comp().key_comp();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI value_compare value_comp() const {return value_compare(__tree_.value_comp().key_comp());} #ifndef _LIBCPP_CXX03_LANG template <class ..._Args> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator emplace(_Args&& ...__args) { - return __tree_.__emplace_multi(_VSTD::forward<_Args>(__args)...); + return __tree_.__emplace_multi(std::forward<_Args>(__args)...); } template <class ..._Args> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator emplace_hint(const_iterator __p, _Args&& ...__args) { - return __tree_.__emplace_hint_multi(__p.__i_, _VSTD::forward<_Args>(__args)...); + return __tree_.__emplace_hint_multi(__p.__i_, std::forward<_Args>(__args)...); } template <class _Pp, class = __enable_if_t<is_constructible<value_type, _Pp>::value>> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator insert(_Pp&& __p) - {return __tree_.__insert_multi(_VSTD::forward<_Pp>(__p));} + {return __tree_.__insert_multi(std::forward<_Pp>(__p));} template <class _Pp, class = __enable_if_t<is_constructible<value_type, _Pp>::value>> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __pos, _Pp&& __p) - {return __tree_.__insert_multi(__pos.__i_, _VSTD::forward<_Pp>(__p));} + {return __tree_.__insert_multi(__pos.__i_, std::forward<_Pp>(__p));} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator insert(value_type&& __v) - {return __tree_.__insert_multi(_VSTD::move(__v));} + {return __tree_.__insert_multi(std::move(__v));} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, value_type&& __v) - {return __tree_.__insert_multi(__p.__i_, _VSTD::move(__v));} + {return __tree_.__insert_multi(__p.__i_, std::move(__v));} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void insert(initializer_list<value_type> __il) {insert(__il.begin(), __il.end());} #endif // _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator insert(const value_type& __v) {return __tree_.__insert_multi(__v);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, const value_type& __v) {return __tree_.__insert_multi(__p.__i_, __v);} template <class _InputIterator> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void insert(_InputIterator __f, _InputIterator __l) { for (const_iterator __e = cend(); __f != __l; ++__f) @@ -2181,46 +2184,46 @@ public: } #endif - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator erase(iterator __p) {return __tree_.erase(__p.__i_);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_type erase(const key_type& __k) {return __tree_.__erase_multi(__k);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __f, const_iterator __l) {return __tree_.erase(__f.__i_, __l.__i_);} #if _LIBCPP_STD_VER >= 17 - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator insert(node_type&& __nh) { _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__nh.empty() || __nh.get_allocator() == get_allocator(), "node_type with incompatible allocator passed to multimap::insert()"); return __tree_.template __node_handle_insert_multi<node_type>( - _VSTD::move(__nh)); + std::move(__nh)); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __hint, node_type&& __nh) { _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__nh.empty() || __nh.get_allocator() == get_allocator(), "node_type with incompatible allocator passed to multimap::insert()"); return __tree_.template __node_handle_insert_multi<node_type>( - __hint.__i_, _VSTD::move(__nh)); + __hint.__i_, std::move(__nh)); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI node_type extract(key_type const& __key) { return __tree_.template __node_handle_extract<node_type>(__key); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI node_type extract(const_iterator __it) { return __tree_.template __node_handle_extract<node_type>( __it.__i_); } template <class _Compare2> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void merge(multimap<key_type, mapped_type, _Compare2, allocator_type>& __source) { _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__source.get_allocator() == get_allocator(), @@ -2228,7 +2231,7 @@ public: return __tree_.__node_handle_merge_multi(__source.__tree_); } template <class _Compare2> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void merge(multimap<key_type, mapped_type, _Compare2, allocator_type>&& __source) { _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__source.get_allocator() == get_allocator(), @@ -2236,7 +2239,7 @@ public: return __tree_.__node_handle_merge_multi(__source.__tree_); } template <class _Compare2> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void merge(map<key_type, mapped_type, _Compare2, allocator_type>& __source) { _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__source.get_allocator() == get_allocator(), @@ -2244,7 +2247,7 @@ public: return __tree_.__node_handle_merge_multi(__source.__tree_); } template <class _Compare2> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void merge(map<key_type, mapped_type, _Compare2, allocator_type>&& __source) { _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__source.get_allocator() == get_allocator(), @@ -2253,97 +2256,97 @@ public: } #endif - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void clear() _NOEXCEPT {__tree_.clear();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void swap(multimap& __m) _NOEXCEPT_(__is_nothrow_swappable<__base>::value) {__tree_.swap(__m.__tree_);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) {return __tree_.find(__k);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const {return __tree_.find(__k);} #if _LIBCPP_STD_VER >= 14 - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, iterator> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + iterator find(const _K2& __k) {return __tree_.find(__k);} - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, const_iterator> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + const_iterator find(const _K2& __k) const {return __tree_.find(__k);} #endif - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const {return __tree_.__count_multi(__k);} #if _LIBCPP_STD_VER >= 14 - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, size_type> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + size_type count(const _K2& __k) const {return __tree_.__count_multi(__k);} #endif #if _LIBCPP_STD_VER >= 20 - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI bool contains(const key_type& __k) const {return find(__k) != end();} - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, bool> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + bool contains(const _K2& __k) const { return find(__k) != end(); } #endif // _LIBCPP_STD_VER >= 20 - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator lower_bound(const key_type& __k) {return __tree_.lower_bound(__k);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator lower_bound(const key_type& __k) const {return __tree_.lower_bound(__k);} #if _LIBCPP_STD_VER >= 14 - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, iterator> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + iterator lower_bound(const _K2& __k) {return __tree_.lower_bound(__k);} - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, const_iterator> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + const_iterator lower_bound(const _K2& __k) const {return __tree_.lower_bound(__k);} #endif - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI iterator upper_bound(const key_type& __k) {return __tree_.upper_bound(__k);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const_iterator upper_bound(const key_type& __k) const {return __tree_.upper_bound(__k);} #if _LIBCPP_STD_VER >= 14 - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, iterator> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + iterator upper_bound(const _K2& __k) {return __tree_.upper_bound(__k);} - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, const_iterator> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + const_iterator upper_bound(const _K2& __k) const {return __tree_.upper_bound(__k);} #endif - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pair<iterator,iterator> equal_range(const key_type& __k) {return __tree_.__equal_range_multi(__k);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI pair<const_iterator,const_iterator> equal_range(const key_type& __k) const {return __tree_.__equal_range_multi(__k);} #if _LIBCPP_STD_VER >= 14 - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, pair<iterator,iterator>> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + pair<iterator,iterator> equal_range(const _K2& __k) {return __tree_.__equal_range_multi(__k);} - template <typename _K2> - _LIBCPP_INLINE_VISIBILITY - __enable_if_t<__is_transparent<_Compare, _K2>::value, pair<const_iterator,const_iterator>> + template <typename _K2, enable_if_t<__is_transparent<_Compare, _K2>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI + pair<const_iterator,const_iterator> equal_range(const _K2& __k) const {return __tree_.__equal_range_multi(__k);} #endif @@ -2404,40 +2407,40 @@ multimap(initializer_list<pair<_Key, _Tp>>, _Allocator) #ifndef _LIBCPP_CXX03_LANG template <class _Key, class _Tp, class _Compare, class _Allocator> multimap<_Key, _Tp, _Compare, _Allocator>::multimap(multimap&& __m, const allocator_type& __a) - : __tree_(_VSTD::move(__m.__tree_), typename __base::allocator_type(__a)) + : __tree_(std::move(__m.__tree_), typename __base::allocator_type(__a)) { if (__a != __m.get_allocator()) { const_iterator __e = cend(); while (!__m.empty()) __tree_.__insert_multi(__e.__i_, - _VSTD::move(__m.__tree_.remove(__m.begin().__i_)->__value_.__move())); + std::move(__m.__tree_.remove(__m.begin().__i_)->__value_.__move())); } } #endif template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI bool operator==(const multimap<_Key, _Tp, _Compare, _Allocator>& __x, const multimap<_Key, _Tp, _Compare, _Allocator>& __y) { - return __x.size() == __y.size() && _VSTD::equal(__x.begin(), __x.end(), __y.begin()); + return __x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin()); } #if _LIBCPP_STD_VER <= 17 template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI bool operator< (const multimap<_Key, _Tp, _Compare, _Allocator>& __x, const multimap<_Key, _Tp, _Compare, _Allocator>& __y) { - return _VSTD::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); + return std::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); } template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const multimap<_Key, _Tp, _Compare, _Allocator>& __x, const multimap<_Key, _Tp, _Compare, _Allocator>& __y) @@ -2446,7 +2449,7 @@ operator!=(const multimap<_Key, _Tp, _Compare, _Allocator>& __x, } template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI bool operator> (const multimap<_Key, _Tp, _Compare, _Allocator>& __x, const multimap<_Key, _Tp, _Compare, _Allocator>& __y) @@ -2455,7 +2458,7 @@ operator> (const multimap<_Key, _Tp, _Compare, _Allocator>& __x, } template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI bool operator>=(const multimap<_Key, _Tp, _Compare, _Allocator>& __x, const multimap<_Key, _Tp, _Compare, _Allocator>& __y) @@ -2464,7 +2467,7 @@ operator>=(const multimap<_Key, _Tp, _Compare, _Allocator>& __x, } template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI bool operator<=(const multimap<_Key, _Tp, _Compare, _Allocator>& __x, const multimap<_Key, _Tp, _Compare, _Allocator>& __y) @@ -2489,7 +2492,7 @@ operator<=>(const multimap<_Key, _Tp, _Compare, _Allocator>& __x, #endif // #if _LIBCPP_STD_VER <= 17 template <class _Key, class _Tp, class _Compare, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI void swap(multimap<_Key, _Tp, _Compare, _Allocator>& __x, multimap<_Key, _Tp, _Compare, _Allocator>& __y) @@ -2501,11 +2504,11 @@ swap(multimap<_Key, _Tp, _Compare, _Allocator>& __x, #if _LIBCPP_STD_VER >= 20 template <class _Key, class _Tp, class _Compare, class _Allocator, class _Predicate> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI typename multimap<_Key, _Tp, _Compare, _Allocator>::size_type erase_if(multimap<_Key, _Tp, _Compare, _Allocator>& __c, _Predicate __pred) { - return _VSTD::__libcpp_erase_if_container(__c, __pred); + return std::__libcpp_erase_if_container(__c, __pred); } #endif |
