From Jason Turner

[flat.multimap.cons.alloc]

Diff to HTML by rtfpessoa

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