From Jason Turner

[allocator.adaptor.cnstr]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpjvk9xm9o/{from.md → to.md} +15 -12
tmp/tmpjvk9xm9o/{from.md → to.md} RENAMED
@@ -2,57 +2,60 @@
2
 
3
  ``` cpp
4
  scoped_allocator_adaptor();
5
  ```
6
 
7
- *Effects:* value-initializes the `OuterAlloc` base class and the `inner`
8
  allocator object.
9
 
10
  ``` cpp
11
  template <class OuterA2>
12
  scoped_allocator_adaptor(OuterA2&& outerAlloc,
13
  const InnerAllocs&... innerAllocs) noexcept;
14
  ```
15
 
16
- *Requires:* `OuterAlloc` shall be constructible from `OuterA2`.
17
-
18
- *Effects:* initializes the `OuterAlloc` base class with
19
  `std::forward<OuterA2>(outerAlloc)` and `inner` with `innerAllocs...`
20
  (hence recursively initializing each allocator within the adaptor with
21
  the corresponding allocator from the argument list).
22
 
 
 
 
23
  ``` cpp
24
  scoped_allocator_adaptor(const scoped_allocator_adaptor& other) noexcept;
25
  ```
26
 
27
- *Effects:* initializes each allocator within the adaptor with the
28
  corresponding allocator from `other`.
29
 
30
  ``` cpp
31
  scoped_allocator_adaptor(scoped_allocator_adaptor&& other) noexcept;
32
  ```
33
 
34
- *Effects:* move constructs each allocator within the adaptor with the
35
  corresponding allocator from `other`.
36
 
37
  ``` cpp
38
  template <class OuterA2>
39
  scoped_allocator_adaptor(const scoped_allocator_adaptor<OuterA2,
40
  InnerAllocs...>& other) noexcept;
41
  ```
42
 
43
- *Requires:* `OuterAlloc` shall be constructible from `OuterA2`.
44
-
45
- *Effects:* initializes each allocator within the adaptor with the
46
  corresponding allocator from `other`.
47
 
 
 
 
48
  ``` cpp
49
  template <class OuterA2>
50
  scoped_allocator_adaptor(scoped_allocator_adaptor<OuterA2,
51
  InnerAllocs...>&& other) noexcept;
52
  ```
53
 
54
- *Requires:* `OuterAlloc` shall be constructible from `OuterA2`.
55
-
56
- *Effects:* initializes each allocator within the adaptor with the
57
  corresponding allocator rvalue from `other`.
58
 
 
 
 
 
2
 
3
  ``` cpp
4
  scoped_allocator_adaptor();
5
  ```
6
 
7
+ *Effects:* Value-initializes the `OuterAlloc` base class and the `inner`
8
  allocator object.
9
 
10
  ``` cpp
11
  template <class OuterA2>
12
  scoped_allocator_adaptor(OuterA2&& outerAlloc,
13
  const InnerAllocs&... innerAllocs) noexcept;
14
  ```
15
 
16
+ *Effects:* Initializes the `OuterAlloc` base class with
 
 
17
  `std::forward<OuterA2>(outerAlloc)` and `inner` with `innerAllocs...`
18
  (hence recursively initializing each allocator within the adaptor with
19
  the corresponding allocator from the argument list).
20
 
21
+ *Remarks:* This constructor shall not participate in overload resolution
22
+ unless `is_constructible_v<OuterAlloc, OuterA2>` is `true`.
23
+
24
  ``` cpp
25
  scoped_allocator_adaptor(const scoped_allocator_adaptor& other) noexcept;
26
  ```
27
 
28
+ *Effects:* Initializes each allocator within the adaptor with the
29
  corresponding allocator from `other`.
30
 
31
  ``` cpp
32
  scoped_allocator_adaptor(scoped_allocator_adaptor&& other) noexcept;
33
  ```
34
 
35
+ *Effects:* Move constructs each allocator within the adaptor with the
36
  corresponding allocator from `other`.
37
 
38
  ``` cpp
39
  template <class OuterA2>
40
  scoped_allocator_adaptor(const scoped_allocator_adaptor<OuterA2,
41
  InnerAllocs...>& other) noexcept;
42
  ```
43
 
44
+ *Effects:* Initializes each allocator within the adaptor with the
 
 
45
  corresponding allocator from `other`.
46
 
47
+ *Remarks:* This constructor shall not participate in overload resolution
48
+ unless `is_constructible_v<OuterAlloc, const OuterA2&>` is `true`.
49
+
50
  ``` cpp
51
  template <class OuterA2>
52
  scoped_allocator_adaptor(scoped_allocator_adaptor<OuterA2,
53
  InnerAllocs...>&& other) noexcept;
54
  ```
55
 
56
+ *Effects:* Initializes each allocator within the adaptor with the
 
 
57
  corresponding allocator rvalue from `other`.
58
 
59
+ *Remarks:* This constructor shall not participate in overload resolution
60
+ unless `is_constructible_v<OuterAlloc, OuterA2>` is `true`.
61
+