From Jason Turner

[flat.set.cons.alloc]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpu1nec2is/{from.md → to.md} +72 -0
tmp/tmpu1nec2is/{from.md → to.md} RENAMED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### Constructors with allocators <a id="flat.set.cons.alloc">[[flat.set.cons.alloc]]</a>
2
+
3
+ The constructors in this subclause shall not participate in overload
4
+ resolution unless `uses_allocator_v<container_type, Alloc>` is `true`.
5
+
6
+ ``` cpp
7
+ template<class Alloc>
8
+ constexpr flat_set(const container_type& cont, const Alloc& a);
9
+ template<class Alloc>
10
+ constexpr flat_set(const container_type& cont, const key_compare& comp, const Alloc& a);
11
+ ```
12
+
13
+ *Effects:* Equivalent to `flat_set(cont)` and `flat_set(cont, comp)`,
14
+ respectively, except that *c* is constructed with uses-allocator
15
+ construction [[allocator.uses.construction]].
16
+
17
+ *Complexity:* Same as `flat_set(cont)` and `flat_set(cont, comp)`,
18
+ respectively.
19
+
20
+ ``` cpp
21
+ template<class Alloc>
22
+ constexpr flat_set(sorted_unique_t, const container_type& cont, const Alloc& a);
23
+ template<class Alloc>
24
+ constexpr flat_set(sorted_unique_t, const container_type& cont,
25
+ const key_compare& comp, const Alloc& a);
26
+ ```
27
+
28
+ *Effects:* Equivalent to `flat_set(sorted_unique, cont)` and
29
+ `flat_set(sorted_unique, cont,comp)`, respectively, except that *c* is
30
+ constructed with uses-allocator
31
+ construction [[allocator.uses.construction]].
32
+
33
+ *Complexity:* Linear.
34
+
35
+ ``` cpp
36
+ template<class Alloc>
37
+ constexpr explicit flat_set(const Alloc& a);
38
+ template<class Alloc>
39
+ constexpr flat_set(const key_compare& comp, const Alloc& a);
40
+ template<class Alloc>
41
+ constexpr flat_set(const flat_set&, const Alloc& a);
42
+ template<class Alloc>
43
+ constexpr flat_set(flat_set&&, const Alloc& a);
44
+ template<class InputIterator, class Alloc>
45
+ constexpr flat_set(InputIterator first, InputIterator last, const Alloc& a);
46
+ template<class InputIterator, class Alloc>
47
+ constexpr flat_set(InputIterator first, InputIterator last, const key_compare& comp,
48
+ const Alloc& a);
49
+ template<class InputIterator, class Alloc>
50
+ constexpr flat_set(sorted_unique_t, InputIterator first, InputIterator last, const Alloc& a);
51
+ template<class InputIterator, class Alloc>
52
+ constexpr flat_set(sorted_unique_t, InputIterator first, InputIterator last,
53
+ const key_compare& comp, const Alloc& a);
54
+ template<container-compatible-range<value_type> R, class Alloc>
55
+ constexpr flat_set(from_range_t, R&& rg, const Alloc& a);
56
+ template<container-compatible-range<value_type> R, class Alloc>
57
+ constexpr flat_set(from_range_t, R&& rg, const key_compare& comp, const Alloc& a);
58
+ template<class Alloc>
59
+ constexpr flat_set(initializer_list<value_type> il, const Alloc& a);
60
+ template<class Alloc>
61
+ constexpr flat_set(initializer_list<value_type> il, const key_compare& comp, const Alloc& a);
62
+ template<class Alloc>
63
+ constexpr flat_set(sorted_unique_t, initializer_list<value_type> il, const Alloc& a);
64
+ template<class Alloc>
65
+ constexpr flat_set(sorted_unique_t, initializer_list<value_type> il,
66
+ const key_compare& comp, const Alloc& a);
67
+ ```
68
+
69
+ *Effects:* Equivalent to the corresponding non-allocator constructors
70
+ except that *c* is constructed with uses-allocator
71
+ construction [[allocator.uses.construction]].
72
+