From Jason Turner

[expected.un.cons]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpy3ta1750/{from.md → to.md} +43 -0
tmp/tmpy3ta1750/{from.md → to.md} RENAMED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### Constructors <a id="expected.un.cons">[[expected.un.cons]]</a>
2
+
3
+ ``` cpp
4
+ template<class Err = E>
5
+ constexpr explicit unexpected(Err&& e);
6
+ ```
7
+
8
+ *Constraints:*
9
+
10
+ - `is_same_v<remove_cvref_t<Err>, unexpected>` is `false`; and
11
+ - `is_same_v<remove_cvref_t<Err>, in_place_t>` is `false`; and
12
+ - `is_constructible_v<E, Err>` is `true`.
13
+
14
+ *Effects:* Direct-non-list-initializes *unex* with
15
+ `std::forward<Err>(e)`.
16
+
17
+ *Throws:* Any exception thrown by the initialization of *unex*.
18
+
19
+ ``` cpp
20
+ template<class... Args>
21
+ constexpr explicit unexpected(in_place_t, Args&&... args);
22
+ ```
23
+
24
+ *Constraints:* `is_constructible_v<E, Args...>` is `true`.
25
+
26
+ *Effects:* Direct-non-list-initializes *unex* with
27
+ `std::forward<Args>(args)...`.
28
+
29
+ *Throws:* Any exception thrown by the initialization of *unex*.
30
+
31
+ ``` cpp
32
+ template<class U, class... Args>
33
+ constexpr explicit unexpected(in_place_t, initializer_list<U> il, Args&&... args);
34
+ ```
35
+
36
+ *Constraints:* `is_constructible_v<E, initializer_list<U>&, Args...>` is
37
+ `true`.
38
+
39
+ *Effects:* Direct-non-list-initializes *unex* with
40
+ `il, std::forward<Args>(args)...`.
41
+
42
+ *Throws:* Any exception thrown by the initialization of *unex*.
43
+