Construct from a U
Synopsis
Declared in <beman/optional/optional.hpp>
template<class U>
requires (std::is_constructible_v<T&, U> && !(std::is_same_v<std::remove_cvref_t<U>, in_place_t>) &&
!(std::is_same_v<std::remove_cvref_t<U>, optional>) &&
!detail::reference_constructs_from_temporary_v<T&, U>)
constexpr
optional(U&& u) noexcept(std::is_nothrow_constructible_v<T &, U>);
Description
Constructs the stored value from u
if it is convertible to T&
. If T&
can be constructed from a temporary, this constructor is deleted to prevent binding a temporary to a reference.
Template Parameters
Name |
Description |
U |
Parameters
Name |
Description |
u |
Created with MrDocs