2.6 KiB
[expected.un.cons]
22 General utilities library [utilities]
22.8 Expected objects [expected]
22.8.3 Class template unexpected [expected.unexpected]
22.8.3.2 Constructors [expected.un.cons]
template<class Err = E> constexpr explicit unexpected(Err&& e);
Constraints:
is_same_v<remove_cvref_t, unexpected> is false; and
is_same_v<remove_cvref_t, in_place_t> is false; and
is_constructible_v<E, Err> is true.
Effects: Direct-non-list-initializes unex with std::forward(e).
Throws: Any exception thrown by the initialization of unex.
template<class... Args> constexpr explicit unexpected(in_place_t, Args&&... args);
Constraints: is_constructible_v<E, Args...> is true.
Effects: Direct-non-list-initializesunex with std::forward(args)....
Throws: Any exception thrown by the initialization of unex.
template<class U, class... Args> constexpr explicit unexpected(in_place_t, initializer_list<U> il, Args&&... args);
Constraints: is_constructible_v<E, initializer_list&, Args...> is true.
Effects: Direct-non-list-initializesunex with il, std::forward(args)....
Throws: Any exception thrown by the initialization of unex.