[#absl-StatusOr-2constructor-087] = xref:absl.adoc[absl]::xref:absl/StatusOr.adoc[StatusOr]::StatusOr :relfileprefix: ../../ :mrdocs: Constructors == Synopses Declared in `<absl/status/statusor.h>` Constructs a new `StatusOr` with an unknown status. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- explicit xref:absl/StatusOr/2constructor-0a.adoc[StatusOr](); ---- [.small]#xref:absl/StatusOr/2constructor-0a.adoc[_» more..._]# Copy constructor. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:absl/StatusOr/2constructor-00f.adoc[StatusOr](xref:absl/StatusOr.adoc[StatusOr] const& other) = default; ---- [.small]#xref:absl/StatusOr/2constructor-00f.adoc[_» more..._]# Constructs a `StatusOr<T>` from an `absl::StatusOr<U>`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U> requires internal_statusor::IsConstructionFromStatusOrValid< false, T, U, false, const U&>::value xref:absl/StatusOr/2constructor-0c5.adoc[StatusOr](xref:absl/StatusOr.adoc[StatusOr<U>] const& other); ---- [.small]#xref:absl/StatusOr/2constructor-0c5.adoc[_» more..._]# Converting constructor from a `StatusOr<U>` (lifetime‐bound overload). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U> requires internal_statusor::IsConstructionFromStatusOrValid< false, T, U, true, const U&>::value xref:absl/StatusOr/2constructor-0f.adoc[StatusOr](xref:absl/StatusOr.adoc[StatusOr<U>] const& other); ---- [.small]#xref:absl/StatusOr/2constructor-0f.adoc[_» more..._]# Converting constructor from a `StatusOr<U>` (explicit overload). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U> requires internal_statusor::IsConstructionFromStatusOrValid< true, T, U, false, const U&>::value explicit xref:absl/StatusOr/2constructor-03.adoc[StatusOr](xref:absl/StatusOr.adoc[StatusOr<U>] const& other); ---- [.small]#xref:absl/StatusOr/2constructor-03.adoc[_» more..._]# Converting constructor from a `StatusOr<U>` (explicit, lifetime‐bound). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U> requires internal_statusor::IsConstructionFromStatusOrValid< true, T, U, true, const U&>::value explicit xref:absl/StatusOr/2constructor-0c1.adoc[StatusOr](xref:absl/StatusOr.adoc[StatusOr<U>] const& other); ---- [.small]#xref:absl/StatusOr/2constructor-0c1.adoc[_» more..._]# Move constructor. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:absl/StatusOr/2constructor-05.adoc[StatusOr](xref:absl/StatusOr.adoc[StatusOr]&& other) = default; ---- [.small]#xref:absl/StatusOr/2constructor-05.adoc[_» more..._]# Converting move constructor from a `StatusOr<U>`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U> requires internal_statusor::IsConstructionFromStatusOrValid< false, T, U, false, U&&>::value xref:absl/StatusOr/2constructor-0bc3.adoc[StatusOr](xref:absl/StatusOr.adoc[StatusOr<U>]&& other); ---- [.small]#xref:absl/StatusOr/2constructor-0bc3.adoc[_» more..._]# Converting move constructor from a `StatusOr<U>` (lifetime‐bound overload). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U> requires internal_statusor::IsConstructionFromStatusOrValid< false, T, U, true, U&&>::value xref:absl/StatusOr/2constructor-0bc7.adoc[StatusOr](xref:absl/StatusOr.adoc[StatusOr<U>]&& other); ---- [.small]#xref:absl/StatusOr/2constructor-0bc7.adoc[_» more..._]# Converting move constructor from a `StatusOr<U>` (explicit overload). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U> requires internal_statusor::IsConstructionFromStatusOrValid< true, T, U, false, U&&>::value explicit xref:absl/StatusOr/2constructor-09.adoc[StatusOr](xref:absl/StatusOr.adoc[StatusOr<U>]&& other); ---- [.small]#xref:absl/StatusOr/2constructor-09.adoc[_» more..._]# Converting move constructor from a `StatusOr<U>` (explicit, lifetime‐bound). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U> requires internal_statusor::IsConstructionFromStatusOrValid< true, T, U, true, U&&>::value explicit xref:absl/StatusOr/2constructor-06.adoc[StatusOr](xref:absl/StatusOr.adoc[StatusOr<U>]&& other); ---- [.small]#xref:absl/StatusOr/2constructor-06.adoc[_» more..._]# Constructs the inner value `T` by direct‐initialization from `u`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U = T> requires internal_statusor::IsConstructionValid< false, T, U, false>::value xref:absl/StatusOr/2constructor-07.adoc[StatusOr](U&& u); ---- [.small]#xref:absl/StatusOr/2constructor-07.adoc[_» more..._]# Direct‐initializes the held value from `u` (lifetime‐bound overload). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U = T> requires internal_statusor::IsConstructionValid< false, T, U, true>::value xref:absl/StatusOr/2constructor-02.adoc[StatusOr](U&& u); ---- [.small]#xref:absl/StatusOr/2constructor-02.adoc[_» more..._]# Direct‐initializes the held value from `u` (explicit overload). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U = T> requires internal_statusor::IsConstructionValid< true, T, U, false>::value explicit xref:absl/StatusOr/2constructor-04.adoc[StatusOr](U&& u); ---- [.small]#xref:absl/StatusOr/2constructor-04.adoc[_» more..._]# Direct‐initializes the held value from `u` (explicit, lifetime‐bound). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U = T> requires internal_statusor::IsConstructionValid<true, T, U, true>::value explicit xref:absl/StatusOr/2constructor-01.adoc[StatusOr](U&& u); ---- [.small]#xref:absl/StatusOr/2constructor-01.adoc[_» more..._]# Constructs a new `StatusOr<T>` from a value convertible to `Status`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U = xref:absl/Status.adoc[absl::Status]> requires internal_statusor::IsConstructionFromStatusValid< false, T, U>::value xref:absl/StatusOr/2constructor-00d.adoc[StatusOr](U&& v); ---- [.small]#xref:absl/StatusOr/2constructor-00d.adoc[_» more..._]# Constructs a new `StatusOr<T>` from a value convertible to `Status` (explicit overload). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U = xref:absl/Status.adoc[absl::Status]> requires internal_statusor::IsConstructionFromStatusValid< true, T, U>::value explicit xref:absl/StatusOr/2constructor-0d.adoc[StatusOr](U&& v); ---- [.small]#xref:absl/StatusOr/2constructor-0d.adoc[_» more..._]# Constructs the inner value `T` in‐place from the given arguments. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename... Args> explicit xref:absl/StatusOr/2constructor-089.adoc[StatusOr]( std::in_place_t tag, Args&&... args); ---- [.small]#xref:absl/StatusOr/2constructor-089.adoc[_» more..._]# Constructs the inner value `T` in‐place from an initializer list and args. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename U, typename... Args> explicit xref:absl/StatusOr/2constructor-0e.adoc[StatusOr]( std::in_place_t tag, std::initializer_list<U> ilist, Args&&... args); ---- [.small]#xref:absl/StatusOr/2constructor-0e.adoc[_» more..._]# == Parameters [cols="1,4"] |=== | Name| Description | *other* | The source object. | *u* | The value used to direct‐initialize the held object. | *v* | The status (or value convertible to a status) to store. | *args* | The arguments forwarded to the `T` constructor. | *tag* | A tag that selects this overload. | *ilist* | The initializer list forwarded to the `T` constructor. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#