@@ -1819,209 +1819,178 @@ public:
18191819# ifndef _LIBCPP_CXX03_LANG
18201820
18211821 template <class ... _Args>
1822- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator emplace (_Args&&... __args) {
1822+ _LIBCPP_HIDE_FROM_ABI iterator emplace (_Args&&... __args) {
18231823 return __tree_.__emplace_multi (std::forward<_Args>(__args)...);
18241824 }
18251825
18261826 template <class ... _Args>
1827- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator emplace_hint (const_iterator __p, _Args&&... __args) {
1827+ _LIBCPP_HIDE_FROM_ABI iterator emplace_hint (const_iterator __p, _Args&&... __args) {
18281828 return __tree_.__emplace_hint_multi (__p.__i_ , std::forward<_Args>(__args)...);
18291829 }
18301830
18311831 template <class _Pp , __enable_if_t <is_constructible<value_type, _Pp>::value, int > = 0 >
1832- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator insert (_Pp&& __p) {
1832+ _LIBCPP_HIDE_FROM_ABI iterator insert (_Pp&& __p) {
18331833 return __tree_.__emplace_multi (std::forward<_Pp>(__p));
18341834 }
18351835
18361836 template <class _Pp , __enable_if_t <is_constructible<value_type, _Pp>::value, int > = 0 >
1837- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator insert (const_iterator __pos, _Pp&& __p) {
1837+ _LIBCPP_HIDE_FROM_ABI iterator insert (const_iterator __pos, _Pp&& __p) {
18381838 return __tree_.__emplace_hint_multi (__pos.__i_ , std::forward<_Pp>(__p));
18391839 }
18401840
1841- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator insert (value_type&& __v) {
1842- return __tree_.__emplace_multi (std::move (__v));
1843- }
1841+ _LIBCPP_HIDE_FROM_ABI iterator insert (value_type&& __v) { return __tree_.__emplace_multi (std::move (__v)); }
18441842
1845- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator insert (const_iterator __p, value_type&& __v) {
1843+ _LIBCPP_HIDE_FROM_ABI iterator insert (const_iterator __p, value_type&& __v) {
18461844 return __tree_.__emplace_hint_multi (__p.__i_ , std::move (__v));
18471845 }
18481846
1849- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void insert (initializer_list<value_type> __il) {
1850- insert (__il.begin (), __il.end ());
1851- }
1847+ _LIBCPP_HIDE_FROM_ABI void insert (initializer_list<value_type> __il) { insert (__il.begin (), __il.end ()); }
18521848
18531849# endif // _LIBCPP_CXX03_LANG
18541850
1855- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator insert (const value_type& __v) {
1856- return __tree_.__emplace_multi (__v);
1857- }
1851+ _LIBCPP_HIDE_FROM_ABI iterator insert (const value_type& __v) { return __tree_.__emplace_multi (__v); }
18581852
1859- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator insert (const_iterator __p, const value_type& __v) {
1853+ _LIBCPP_HIDE_FROM_ABI iterator insert (const_iterator __p, const value_type& __v) {
18601854 return __tree_.__emplace_hint_multi (__p.__i_ , __v);
18611855 }
18621856
18631857 template <class _InputIterator >
1864- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void insert (_InputIterator __f, _InputIterator __l) {
1858+ _LIBCPP_HIDE_FROM_ABI void insert (_InputIterator __f, _InputIterator __l) {
18651859 __tree_.__insert_range_multi (__f, __l);
18661860 }
18671861
18681862# if _LIBCPP_STD_VER >= 23
18691863 template <_ContainerCompatibleRange<value_type> _Range>
1870- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void insert_range (_Range&& __range) {
1864+ _LIBCPP_HIDE_FROM_ABI void insert_range (_Range&& __range) {
18711865 __tree_.__insert_range_multi (ranges::begin (__range), ranges::end (__range));
18721866 }
18731867# endif
18741868
1875- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator erase (const_iterator __p) {
1876- return __tree_.erase (__p.__i_ );
1877- }
1878- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator erase (iterator __p) { return __tree_.erase (__p.__i_ ); }
1879- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 size_type erase (const key_type& __k) {
1880- return __tree_.__erase_multi (__k);
1881- }
1882- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator erase (const_iterator __f, const_iterator __l) {
1869+ _LIBCPP_HIDE_FROM_ABI iterator erase (const_iterator __p) { return __tree_.erase (__p.__i_ ); }
1870+ _LIBCPP_HIDE_FROM_ABI iterator erase (iterator __p) { return __tree_.erase (__p.__i_ ); }
1871+ _LIBCPP_HIDE_FROM_ABI size_type erase (const key_type& __k) { return __tree_.__erase_multi (__k); }
1872+ _LIBCPP_HIDE_FROM_ABI iterator erase (const_iterator __f, const_iterator __l) {
18831873 return __tree_.erase (__f.__i_ , __l.__i_ );
18841874 }
18851875
18861876# if _LIBCPP_STD_VER >= 17
1887- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator insert (node_type&& __nh) {
1877+ _LIBCPP_HIDE_FROM_ABI iterator insert (node_type&& __nh) {
18881878 _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR (__nh.empty () || __nh.get_allocator () == get_allocator (),
18891879 " node_type with incompatible allocator passed to multimap::insert()" );
18901880 return __tree_.template __node_handle_insert_multi <node_type>(std::move (__nh));
18911881 }
1892- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator insert (const_iterator __hint, node_type&& __nh) {
1882+ _LIBCPP_HIDE_FROM_ABI iterator insert (const_iterator __hint, node_type&& __nh) {
18931883 _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR (__nh.empty () || __nh.get_allocator () == get_allocator (),
18941884 " node_type with incompatible allocator passed to multimap::insert()" );
18951885 return __tree_.template __node_handle_insert_multi <node_type>(__hint.__i_ , std::move (__nh));
18961886 }
1897- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 node_type extract (key_type const & __key) {
1887+ _LIBCPP_HIDE_FROM_ABI node_type extract (key_type const & __key) {
18981888 return __tree_.template __node_handle_extract <node_type>(__key);
18991889 }
1900- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 node_type extract (const_iterator __it) {
1890+ _LIBCPP_HIDE_FROM_ABI node_type extract (const_iterator __it) {
19011891 return __tree_.template __node_handle_extract <node_type>(__it.__i_ );
19021892 }
19031893 template <class _Compare2 >
1904- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void
1905- merge (multimap<key_type, mapped_type, _Compare2, allocator_type>& __source) {
1894+ _LIBCPP_HIDE_FROM_ABI void merge (multimap<key_type, mapped_type, _Compare2, allocator_type>& __source) {
19061895 _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR (
19071896 __source.get_allocator () == get_allocator (), " merging container with incompatible allocator" );
19081897 return __tree_.__node_handle_merge_multi (__source.__tree_ );
19091898 }
19101899 template <class _Compare2 >
1911- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void
1912- merge (multimap<key_type, mapped_type, _Compare2, allocator_type>&& __source) {
1900+ _LIBCPP_HIDE_FROM_ABI void merge (multimap<key_type, mapped_type, _Compare2, allocator_type>&& __source) {
19131901 _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR (
19141902 __source.get_allocator () == get_allocator (), " merging container with incompatible allocator" );
19151903 return __tree_.__node_handle_merge_multi (__source.__tree_ );
19161904 }
19171905 template <class _Compare2 >
1918- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void
1919- merge (map<key_type, mapped_type, _Compare2, allocator_type>& __source) {
1906+ _LIBCPP_HIDE_FROM_ABI void merge (map<key_type, mapped_type, _Compare2, allocator_type>& __source) {
19201907 _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR (
19211908 __source.get_allocator () == get_allocator (), " merging container with incompatible allocator" );
19221909 return __tree_.__node_handle_merge_multi (__source.__tree_ );
19231910 }
19241911 template <class _Compare2 >
1925- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void
1926- merge (map<key_type, mapped_type, _Compare2, allocator_type>&& __source) {
1912+ _LIBCPP_HIDE_FROM_ABI void merge (map<key_type, mapped_type, _Compare2, allocator_type>&& __source) {
19271913 _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR (
19281914 __source.get_allocator () == get_allocator (), " merging container with incompatible allocator" );
19291915 return __tree_.__node_handle_merge_multi (__source.__tree_ );
19301916 }
19311917# endif
19321918
1933- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void clear () _NOEXCEPT { __tree_.clear (); }
1919+ _LIBCPP_HIDE_FROM_ABI void clear () _NOEXCEPT { __tree_.clear (); }
19341920
1935- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void swap (multimap& __m)
1936- _NOEXCEPT_(__is_nothrow_swappable_v<__base>) {
1921+ _LIBCPP_HIDE_FROM_ABI void swap (multimap& __m) _NOEXCEPT_(__is_nothrow_swappable_v<__base>) {
19371922 __tree_.swap (__m.__tree_ );
19381923 }
19391924
1940- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator find (const key_type& __k) { return __tree_.find (__k); }
1941- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 const_iterator find (const key_type& __k) const {
1942- return __tree_.find (__k);
1943- }
1925+ _LIBCPP_HIDE_FROM_ABI iterator find (const key_type& __k) { return __tree_.find (__k); }
1926+ _LIBCPP_HIDE_FROM_ABI const_iterator find (const key_type& __k) const { return __tree_.find (__k); }
19441927# if _LIBCPP_STD_VER >= 14
19451928 template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
1946- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator find (const _K2& __k) {
1929+ _LIBCPP_HIDE_FROM_ABI iterator find (const _K2& __k) {
19471930 return __tree_.find (__k);
19481931 }
19491932 template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
1950- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 const_iterator find (const _K2& __k) const {
1933+ _LIBCPP_HIDE_FROM_ABI const_iterator find (const _K2& __k) const {
19511934 return __tree_.find (__k);
19521935 }
19531936# endif
19541937
1955- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 size_type count (const key_type& __k) const {
1956- return __tree_.__count_multi (__k);
1957- }
1938+ _LIBCPP_HIDE_FROM_ABI size_type count (const key_type& __k) const { return __tree_.__count_multi (__k); }
19581939# if _LIBCPP_STD_VER >= 14
19591940 template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
1960- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 size_type count (const _K2& __k) const {
1941+ _LIBCPP_HIDE_FROM_ABI size_type count (const _K2& __k) const {
19611942 return __tree_.__count_multi (__k);
19621943 }
19631944# endif
19641945
19651946# if _LIBCPP_STD_VER >= 20
1966- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 bool contains (const key_type& __k) const {
1967- return find (__k) != end ();
1968- }
1947+ _LIBCPP_HIDE_FROM_ABI bool contains (const key_type& __k) const { return find (__k) != end (); }
19691948 template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
1970- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 bool contains (const _K2& __k) const {
1949+ _LIBCPP_HIDE_FROM_ABI bool contains (const _K2& __k) const {
19711950 return find (__k) != end ();
19721951 }
19731952# endif // _LIBCPP_STD_VER >= 20
19741953
1975- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator lower_bound (const key_type& __k) {
1976- return __tree_.lower_bound (__k);
1977- }
1978- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 const_iterator lower_bound (const key_type& __k) const {
1979- return __tree_.lower_bound (__k);
1980- }
1954+ _LIBCPP_HIDE_FROM_ABI iterator lower_bound (const key_type& __k) { return __tree_.lower_bound (__k); }
1955+ _LIBCPP_HIDE_FROM_ABI const_iterator lower_bound (const key_type& __k) const { return __tree_.lower_bound (__k); }
19811956# if _LIBCPP_STD_VER >= 14
19821957 template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
1983- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator lower_bound (const _K2& __k) {
1958+ _LIBCPP_HIDE_FROM_ABI iterator lower_bound (const _K2& __k) {
19841959 return __tree_.lower_bound (__k);
19851960 }
19861961
19871962 template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
1988- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 const_iterator lower_bound (const _K2& __k) const {
1963+ _LIBCPP_HIDE_FROM_ABI const_iterator lower_bound (const _K2& __k) const {
19891964 return __tree_.lower_bound (__k);
19901965 }
19911966# endif
19921967
1993- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator upper_bound (const key_type& __k) {
1994- return __tree_.upper_bound (__k);
1995- }
1996- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 const_iterator upper_bound (const key_type& __k) const {
1997- return __tree_.upper_bound (__k);
1998- }
1968+ _LIBCPP_HIDE_FROM_ABI iterator upper_bound (const key_type& __k) { return __tree_.upper_bound (__k); }
1969+ _LIBCPP_HIDE_FROM_ABI const_iterator upper_bound (const key_type& __k) const { return __tree_.upper_bound (__k); }
19991970# if _LIBCPP_STD_VER >= 14
20001971 template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
2001- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 iterator upper_bound (const _K2& __k) {
1972+ _LIBCPP_HIDE_FROM_ABI iterator upper_bound (const _K2& __k) {
20021973 return __tree_.upper_bound (__k);
20031974 }
20041975 template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
2005- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 const_iterator upper_bound (const _K2& __k) const {
1976+ _LIBCPP_HIDE_FROM_ABI const_iterator upper_bound (const _K2& __k) const {
20061977 return __tree_.upper_bound (__k);
20071978 }
20081979# endif
20091980
2010- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 pair<iterator, iterator> equal_range (const key_type& __k) {
1981+ _LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range (const key_type& __k) {
20111982 return __tree_.__equal_range_multi (__k);
20121983 }
2013- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 pair<const_iterator, const_iterator>
2014- equal_range (const key_type& __k) const {
1984+ _LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range (const key_type& __k) const {
20151985 return __tree_.__equal_range_multi (__k);
20161986 }
20171987# if _LIBCPP_STD_VER >= 14
20181988 template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
2019- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 pair<iterator, iterator> equal_range (const _K2& __k) {
1989+ _LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range (const _K2& __k) {
20201990 return __tree_.__equal_range_multi (__k);
20211991 }
20221992 template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
2023- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 pair<const_iterator, const_iterator>
2024- equal_range (const _K2& __k) const {
1993+ _LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range (const _K2& __k) const {
20251994 return __tree_.__equal_range_multi (__k);
20261995 }
20271996# endif
0 commit comments