Skip to content

Commit f5954d5

Browse files
committed
[flat.multiset] P2767R0 section 3 swaps requested by jwakely in LWG
Swap the default ctor to the top. Follow each non-`key_compare` overload by its `key_compare` counterpart. Then, follow each non-`sorted_unique` pair of overloads by its `sorted_unique` counterparts.
1 parent aee1fa9 commit f5954d5

File tree

1 file changed

+35
-35
lines changed

1 file changed

+35
-35
lines changed

source/containers.tex

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -17620,21 +17620,26 @@
1762017620
// \ref{flat.multiset.cons}, constructors
1762117621
flat_multiset() : flat_multiset(key_compare()) { }
1762217622

17623+
explicit flat_multiset(const key_compare& comp)
17624+
: @\exposid{c}@(), @\exposid{compare}@(comp) { }
17625+
1762317626
explicit flat_multiset(container_type cont, const key_compare& comp = key_compare());
1762417627

1762517628
flat_multiset(sorted_equivalent_t, container_type cont,
1762617629
const key_compare& comp = key_compare())
1762717630
: @\exposid{c}@(std::move(cont)), @\exposid{compare}@(comp) { }
1762817631

17629-
explicit flat_multiset(const key_compare& comp)
17630-
: @\exposid{c}@(), @\exposid{compare}@(comp) { }
17631-
1763217632
template<class InputIterator>
1763317633
flat_multiset(InputIterator first, InputIterator last,
1763417634
const key_compare& comp = key_compare())
1763517635
: @\exposid{c}@(), @\exposid{compare}@(comp)
1763617636
{ insert(first, last); }
1763717637

17638+
template<class InputIterator>
17639+
flat_multiset(sorted_equivalent_t, InputIterator first, InputIterator last,
17640+
const key_compare& comp = key_compare())
17641+
: @\exposid{c}@(first, last), @\exposid{compare}@(comp) { }
17642+
1763817643
template<@\exposconcept{container-compatible-range}@<value_type> R>
1763917644
flat_multiset(from_range_t fr, R&& rg)
1764017645
: flat_multiset(fr, std::forward<R>(rg), key_compare()) { }
@@ -17643,11 +17648,6 @@
1764317648
: flat_multiset(comp)
1764417649
{ insert_range(std::forward<R>(rg)); }
1764517650

17646-
template<class InputIterator>
17647-
flat_multiset(sorted_equivalent_t, InputIterator first, InputIterator last,
17648-
const key_compare& comp = key_compare())
17649-
: @\exposid{c}@(first, last), @\exposid{compare}@(comp) { }
17650-
1765117651
flat_multiset(initializer_list<value_type> il, const key_compare& comp = key_compare())
1765217652
: flat_multiset(il.begin(), il.end(), comp) { }
1765317653

@@ -17658,9 +17658,9 @@
1765817658
// \ref{flat.multiset.cons.alloc}, constructors with allocators
1765917659

1766017660
template<class Alloc>
17661-
flat_multiset(const flat_multiset&, const Alloc& a);
17661+
explicit flat_multiset(const Alloc& a);
1766217662
template<class Alloc>
17663-
flat_multiset(flat_multiset&&, const Alloc& a);
17663+
flat_multiset(const key_compare& comp, const Alloc& a);
1766417664
template<class Alloc>
1766517665
flat_multiset(const container_type& cont, const Alloc& a);
1766617666
template<class Alloc>
@@ -17671,34 +17671,34 @@
1767117671
flat_multiset(sorted_equivalent_t, const container_type& cont,
1767217672
const key_compare& comp, const Alloc& a);
1767317673
template<class Alloc>
17674-
flat_multiset(const key_compare& comp, const Alloc& a);
17674+
flat_multiset(const flat_multiset&, const Alloc& a);
1767517675
template<class Alloc>
17676-
explicit flat_multiset(const Alloc& a);
17676+
flat_multiset(flat_multiset&&, const Alloc& a);
17677+
template<class InputIterator, class Alloc>
17678+
flat_multiset(InputIterator first, InputIterator last, const Alloc& a);
1767717679
template<class InputIterator, class Alloc>
1767817680
flat_multiset(InputIterator first, InputIterator last,
1767917681
const key_compare& comp, const Alloc& a);
1768017682
template<class InputIterator, class Alloc>
17681-
flat_multiset(InputIterator first, InputIterator last, const Alloc& a);
17683+
flat_multiset(sorted_equivalent_t, InputIterator first, InputIterator last,
17684+
const Alloc& a);
17685+
template<class InputIterator, class Alloc>
17686+
flat_multiset(sorted_equivalent_t, InputIterator first, InputIterator last,
17687+
const key_compare& comp, const Alloc& a);
1768217688
template<@\exposconcept{container-compatible-range}@<value_type> R, class Alloc>
1768317689
flat_multiset(from_range_t, R&& rg, const Alloc& a);
1768417690
template<@\exposconcept{container-compatible-range}@<value_type> R, class Alloc>
1768517691
flat_multiset(from_range_t, R&& rg, const key_compare& comp, const Alloc& a);
17686-
template<class InputIterator, class Alloc>
17687-
flat_multiset(sorted_equivalent_t, InputIterator first, InputIterator last,
17688-
const key_compare& comp, const Alloc& a);
17689-
template<class InputIterator, class Alloc>
17690-
flat_multiset(sorted_equivalent_t, InputIterator first, InputIterator last,
17691-
const Alloc& a);
17692+
template<class Alloc>
17693+
flat_multiset(initializer_list<value_type> il, const Alloc& a);
1769217694
template<class Alloc>
1769317695
flat_multiset(initializer_list<value_type> il, const key_compare& comp,
1769417696
const Alloc& a);
1769517697
template<class Alloc>
17696-
flat_multiset(initializer_list<value_type> il, const Alloc& a);
17698+
flat_multiset(sorted_equivalent_t, initializer_list<value_type> il, const Alloc& a);
1769717699
template<class Alloc>
1769817700
flat_multiset(sorted_equivalent_t, initializer_list<value_type> il,
1769917701
const key_compare& comp, const Alloc& a);
17700-
template<class Alloc>
17701-
flat_multiset(sorted_equivalent_t, initializer_list<value_type> il, const Alloc& a);
1770217702

1770317703
flat_multiset& operator=(initializer_list<value_type>);
1770417704

@@ -17937,36 +17937,36 @@
1793717937
\indexlibraryctor{flat_multiset}%
1793817938
\begin{itemdecl}
1793917939
template<class Alloc>
17940-
flat_multiset(const flat_multiset&, const Alloc& a);
17941-
template<class Alloc>
17942-
flat_multiset(flat_multiset&&, const Alloc& a);
17940+
explicit flat_multiset(const Alloc& a);
1794317941
template<class Alloc>
1794417942
flat_multiset(const key_compare& comp, const Alloc& a);
1794517943
template<class Alloc>
17946-
explicit flat_multiset(const Alloc& a);
17944+
flat_multiset(const flat_multiset&, const Alloc& a);
17945+
template<class Alloc>
17946+
flat_multiset(flat_multiset&&, const Alloc& a);
17947+
template<class InputIterator, class Alloc>
17948+
flat_multiset(InputIterator first, InputIterator last, const Alloc& a);
1794717949
template<class InputIterator, class Alloc>
1794817950
flat_multiset(InputIterator first, InputIterator last,
1794917951
const key_compare& comp, const Alloc& a);
1795017952
template<class InputIterator, class Alloc>
17951-
flat_multiset(InputIterator first, InputIterator last, const Alloc& a);
17953+
flat_multiset(sorted_equivalent_t, InputIterator first, InputIterator last, const Alloc& a);
17954+
template<class InputIterator, class Alloc>
17955+
flat_multiset(sorted_equivalent_t, InputIterator first, InputIterator last,
17956+
const key_compare& comp, const Alloc& a);
1795217957
template<@\exposconcept{container-compatible-range}@<value_type> R, class Alloc>
1795317958
flat_multiset(from_range_t, R&& rg, const Alloc& a);
1795417959
template<@\exposconcept{container-compatible-range}@<value_type> R, class Alloc>
1795517960
flat_multiset(from_range_t, R&& rg, const key_compare& comp, const Alloc& a);
17956-
template<class InputIterator, class Alloc>
17957-
flat_multiset(sorted_equivalent_t, InputIterator first, InputIterator last,
17958-
const key_compare& comp, const Alloc& a);
17959-
template<class InputIterator, class Alloc>
17960-
flat_multiset(sorted_equivalent_t, InputIterator first, InputIterator last, const Alloc& a);
17961+
template<class Alloc>
17962+
flat_multiset(initializer_list<value_type> il, const Alloc& a);
1796117963
template<class Alloc>
1796217964
flat_multiset(initializer_list<value_type> il, const key_compare& comp, const Alloc& a);
1796317965
template<class Alloc>
17964-
flat_multiset(initializer_list<value_type> il, const Alloc& a);
17966+
flat_multiset(sorted_equivalent_t, initializer_list<value_type> il, const Alloc& a);
1796517967
template<class Alloc>
1796617968
flat_multiset(sorted_equivalent_t, initializer_list<value_type> il,
1796717969
const key_compare& comp, const Alloc& a);
17968-
template<class Alloc>
17969-
flat_multiset(sorted_equivalent_t, initializer_list<value_type> il, const Alloc& a);
1797017970
\end{itemdecl}
1797117971

1797217972
\begin{itemdescr}

0 commit comments

Comments
 (0)