From Jason Turner

[flat.multiset.cons]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpbgkgehx6/{from.md → to.md} +4 -74
tmp/tmpbgkgehx6/{from.md → to.md} RENAMED
@@ -1,84 +1,14 @@
1
  #### Constructors <a id="flat.multiset.cons">[[flat.multiset.cons]]</a>
2
 
3
  ``` cpp
4
- explicit flat_multiset(container_type cont, const key_compare& comp = key_compare());
5
  ```
6
 
7
  *Effects:* Initializes *c* with `std::move(cont)` and *compare* with
8
  `comp`, and sorts the range \[`begin()`, `end()`) with respect to
9
  *compare*.
10
 
11
- *Complexity:* Linear in N if `cont` is sorted with respect to *compare*
12
- and otherwise N log N, where N is the value of `cont.size()` before this
13
- call.
14
-
15
- ``` cpp
16
- template<class Allocator>
17
- flat_multiset(const container_type& cont, const Allocator& a);
18
- template<class Allocator>
19
- flat_multiset(const container_type& cont, const key_compare& comp, const Allocator& a);
20
- ```
21
-
22
- *Constraints:* `uses_allocator_v<container_type, Allocator>` is `true`.
23
-
24
- *Effects:* Equivalent to `flat_multiset(cont)` and
25
- `flat_multiset(cont, comp)`, respectively, except that *c* is
26
- constructed with uses-allocator
27
- construction [[allocator.uses.construction]].
28
-
29
- *Complexity:* Same as `flat_multiset(cont)` and
30
- `flat_multiset(cont, comp)`, respectively.
31
-
32
- ``` cpp
33
- template<class Allocator>
34
- flat_multiset(sorted_equivalent_t s, const container_type& cont, const Allocator& a);
35
- template<class Allocator>
36
- flat_multiset(sorted_equivalent_t s, const container_type& cont,
37
- const key_compare& comp, const Allocator& a);
38
- ```
39
-
40
- *Constraints:* `uses_allocator_v<container_type, Allocator>` is `true`.
41
-
42
- *Effects:* Equivalent to `flat_multiset(s, cont)` and
43
- `flat_multiset(s, cont, comp)`, respectively, except that *c* is
44
- constructed with uses-allocator
45
- construction [[allocator.uses.construction]].
46
-
47
- *Complexity:* Linear.
48
-
49
- ``` cpp
50
- template<class Allocator>
51
- flat_multiset(const key_compare& comp, const Allocator& a);
52
- template<class Allocator>
53
- explicit flat_multiset(const Allocator& a);
54
- template<class InputIterator, class Allocator>
55
- flat_multiset(InputIterator first, InputIterator last,
56
- const key_compare& comp, const Allocator& a);
57
- template<class InputIterator, class Allocator>
58
- flat_multiset(InputIterator first, InputIterator last, const Allocator& a);
59
- template<container-compatible-range<value_type> R, class Allocator>
60
- flat_multiset(from_range_t, R&& rg, const Allocator& a);
61
- template<container-compatible-range<value_type> R, class Allocator>
62
- flat_multiset(from_range_t, R&& rg, const key_compare& comp, const Allocator& a);
63
- template<class InputIterator, class Allocator>
64
- flat_multiset(sorted_equivalent_t, InputIterator first, InputIterator last,
65
- const key_compare& comp, const Allocator& a);
66
- template<class InputIterator, class Allocator>
67
- flat_multiset(sorted_equivalent_t, InputIterator first, InputIterator last, const Allocator& a);
68
- template<class Allocator>
69
- flat_multiset(initializer_list<value_type> il, const key_compare& comp, const Allocator& a);
70
- template<class Allocator>
71
- flat_multiset(initializer_list<value_type> il, const Allocator& a);
72
- template<class Allocator>
73
- flat_multiset(sorted_equivalent_t, initializer_list<value_type> il,
74
- const key_compare& comp, const Allocator& a);
75
- template<class Allocator>
76
- flat_multiset(sorted_equivalent_t, initializer_list<value_type> il, const Allocator& a);
77
- ```
78
-
79
- *Constraints:* `uses_allocator_v<container_type, Allocator>` is `true`.
80
-
81
- *Effects:* Equivalent to the corresponding non-allocator constructors
82
- except that *c* is constructed with uses-allocator
83
- construction [[allocator.uses.construction]].
84
 
 
1
  #### Constructors <a id="flat.multiset.cons">[[flat.multiset.cons]]</a>
2
 
3
  ``` cpp
4
+ constexpr explicit flat_multiset(container_type cont, const key_compare& comp = key_compare());
5
  ```
6
 
7
  *Effects:* Initializes *c* with `std::move(cont)` and *compare* with
8
  `comp`, and sorts the range \[`begin()`, `end()`) with respect to
9
  *compare*.
10
 
11
+ *Complexity:* Linear in N if `cont` is already sorted with respect to
12
+ *compare* and otherwise N log N, where N is the value of `cont.size()`
13
+ before this call.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14