Public Types | Public Member Functions | Private Types | Private Member Functions | Friends | List of all members
absl::StatusOr< T > Class Template Reference

#include <statusor.h>

Inheritance diagram for absl::StatusOr< T >:
Inheritance graph
[legend]

Public Types

typedef T value_type
 
typedef T value_type
 

Public Member Functions

template<typename... Args>
Templace (Args &&... args)
 
template<typename... Args>
Templace (Args &&... args)
 
template<typename U , typename... Args, absl::enable_if_t< std::is_constructible< T, std::initializer_list< U > &, Args &&... >::value, int > = 0>
Templace (std::initializer_list< U > ilist, Args &&... args)
 
template<typename U , typename... Args, absl::enable_if_t< std::is_constructible< T, std::initializer_list< U > &, Args &&... >::value, int > = 0>
Templace (std::initializer_list< U > ilist, Args &&... args)
 
void IgnoreError () const
 
void IgnoreError () const
 
ABSL_MUST_USE_RESULT bool ok () const
 
ABSL_MUST_USE_RESULT bool ok () const
 
Toperator* () &
 
T && operator* () &&
 
T && operator* () &&ABSL_ATTRIBUTE_LIFETIME_BOUND
 
Toperator* () &ABSL_ATTRIBUTE_LIFETIME_BOUND
 
const Toperator* () const &
 
const T && operator* () const &&
 
const T && operator* () const &&ABSL_ATTRIBUTE_LIFETIME_BOUND
 
const Toperator* () const &ABSL_ATTRIBUTE_LIFETIME_BOUND
 
Toperator-> ()
 
Toperator-> () ABSL_ATTRIBUTE_LIFETIME_BOUND
 
const Toperator-> () const
 
const Toperator-> () const ABSL_ATTRIBUTE_LIFETIME_BOUND
 
StatusOroperator= (const StatusOr &)=default
 
StatusOroperator= (const StatusOr &)=default
 
template<typename U >
StatusOr< T > & operator= (const StatusOr< U > &other)
 
template<typename U >
StatusOr< T > & operator= (const StatusOr< U > &other)
 
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, std::is_assignable< T, const U & >, absl::negation< internal_statusor::IsConstructibleOrConvertibleOrAssignableFromStatusOr< T, U >>>::value, int > = 0>
StatusOroperator= (const StatusOr< U > &other)
 
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, std::is_assignable< T, const U & >, absl::negation< internal_statusor::IsConstructibleOrConvertibleOrAssignableFromStatusOr< T, U >>>::value, int > = 0>
StatusOroperator= (const StatusOr< U > &other)
 
StatusOroperator= (StatusOr &&)=default
 
StatusOroperator= (StatusOr &&)=default
 
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, std::is_assignable< T, U && >, absl::negation< internal_statusor::IsConstructibleOrConvertibleOrAssignableFromStatusOr< T, U >>>::value, int > = 0>
StatusOroperator= (StatusOr< U > &&other)
 
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, std::is_assignable< T, U && >, absl::negation< internal_statusor::IsConstructibleOrConvertibleOrAssignableFromStatusOr< T, U >>>::value, int > = 0>
StatusOroperator= (StatusOr< U > &&other)
 
template<typename U = absl::Status, absl::enable_if_t< absl::conjunction< std::is_convertible< U &&, absl::Status >, std::is_constructible< absl::Status, U && >, absl::negation< std::is_same< absl::decay_t< U >, absl::StatusOr< T >>>, absl::negation< std::is_same< absl::decay_t< U >, T >>, absl::negation< std::is_same< absl::decay_t< U >, absl::in_place_t >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>::value, int > = 0>
StatusOroperator= (U &&v)
 
template<typename U = absl::Status, absl::enable_if_t< absl::conjunction< std::is_convertible< U &&, absl::Status >, std::is_constructible< absl::Status, U && >, absl::negation< std::is_same< absl::decay_t< U >, absl::StatusOr< T >>>, absl::negation< std::is_same< absl::decay_t< U >, T >>, absl::negation< std::is_same< absl::decay_t< U >, absl::in_place_t >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>::value, int > = 0>
StatusOroperator= (U &&v)
 
template<typename U = T, typename = typename std::enable_if<absl::conjunction< std::is_constructible<T, U&&>, std::is_assignable<T&, U&&>, absl::disjunction< std::is_same<absl::remove_cv_t<absl::remove_reference_t<U>>, T>, absl::conjunction< absl::negation<std::is_convertible<U&&, absl::Status>>, absl::negation<internal_statusor:: HasConversionOperatorToStatusOr<T, U&&>>>>, internal_statusor::IsForwardingAssignmentValid<T, U&&>>::value>::type>
StatusOroperator= (U &&v)
 
template<typename U = T, typename = typename std::enable_if<absl::conjunction< std::is_constructible<T, U&&>, std::is_assignable<T&, U&&>, absl::disjunction< std::is_same<absl::remove_cv_t<absl::remove_reference_t<U>>, T>, absl::conjunction< absl::negation<std::is_convertible<U&&, absl::Status>>, absl::negation<internal_statusor:: HasConversionOperatorToStatusOr<T, U&&>>>>, internal_statusor::IsForwardingAssignmentValid<T, U&&>>::value>::type>
StatusOroperator= (U &&v)
 
Status status () &&
 
Status status () &&
 
const Statusstatus () const &
 
const Statusstatus () const &
 
 StatusOr ()
 
 StatusOr ()
 
template<typename... Args>
 StatusOr (absl::in_place_t, Args &&... args)
 
template<typename... Args>
 StatusOr (absl::in_place_t, Args &&... args)
 
template<typename U , typename... Args>
 StatusOr (absl::in_place_t, std::initializer_list< U > ilist, Args &&... args)
 
template<typename U , typename... Args>
 StatusOr (absl::in_place_t, std::initializer_list< U > ilist, Args &&... args)
 
 StatusOr (const StatusOr &)=default
 
 StatusOr (const StatusOr &)=default
 
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, std::is_convertible< const U &, T >, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
 StatusOr (const StatusOr< U > &other)
 
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, absl::negation< std::is_convertible< const U &, T >>, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
 StatusOr (const StatusOr< U > &other)
 
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, std::is_convertible< const U &, T >, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
 StatusOr (const StatusOr< U > &other)
 
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, absl::negation< std::is_convertible< const U &, T >>, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
 StatusOr (const StatusOr< U > &other)
 
 StatusOr (StatusOr &&)=default
 
 StatusOr (StatusOr &&)=default
 
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, std::is_convertible< U &&, T >, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
 StatusOr (StatusOr< U > &&other)
 
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, absl::negation< std::is_convertible< U &&, T >>, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
 StatusOr (StatusOr< U > &&other)
 
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, std::is_convertible< U &&, T >, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
 StatusOr (StatusOr< U > &&other)
 
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, absl::negation< std::is_convertible< U &&, T >>, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
 StatusOr (StatusOr< U > &&other)
 
template<typename U = T, absl::enable_if_t< absl::conjunction< internal_statusor::IsDirectInitializationValid< T, U && >, std::is_constructible< T, U && >, std::is_convertible< U &&, T >, absl::disjunction< std::is_same< absl::remove_cv_t< absl::remove_reference_t< U >>, T >, absl::conjunction< absl::negation< std::is_convertible< U &&, absl::Status >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>>>::value, int > = 0>
 StatusOr (U &&u)
 
template<typename U = T, absl::enable_if_t< absl::conjunction< internal_statusor::IsDirectInitializationValid< T, U && >, std::is_constructible< T, U && >, std::is_convertible< U &&, T >, absl::disjunction< std::is_same< absl::remove_cv_t< absl::remove_reference_t< U >>, T >, absl::conjunction< absl::negation< std::is_convertible< U &&, absl::Status >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>>>::value, int > = 0>
 StatusOr (U &&u)
 
template<typename U = T, absl::enable_if_t< absl::conjunction< internal_statusor::IsDirectInitializationValid< T, U && >, absl::disjunction< std::is_same< absl::remove_cv_t< absl::remove_reference_t< U >>, T >, absl::conjunction< absl::negation< std::is_constructible< absl::Status, U && >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>>, std::is_constructible< T, U && >, absl::negation< std::is_convertible< U &&, T >>>::value, int > = 0>
 StatusOr (U &&u)
 
template<typename U = T, absl::enable_if_t< absl::conjunction< internal_statusor::IsDirectInitializationValid< T, U && >, absl::disjunction< std::is_same< absl::remove_cv_t< absl::remove_reference_t< U >>, T >, absl::conjunction< absl::negation< std::is_constructible< absl::Status, U && >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>>, std::is_constructible< T, U && >, absl::negation< std::is_convertible< U &&, T >>>::value, int > = 0>
 StatusOr (U &&u)
 
template<typename U = absl::Status, absl::enable_if_t< absl::conjunction< std::is_convertible< U &&, absl::Status >, std::is_constructible< absl::Status, U && >, absl::negation< std::is_same< absl::decay_t< U >, absl::StatusOr< T >>>, absl::negation< std::is_same< absl::decay_t< U >, T >>, absl::negation< std::is_same< absl::decay_t< U >, absl::in_place_t >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>::value, int > = 0>
 StatusOr (U &&v)
 
template<typename U = absl::Status, absl::enable_if_t< absl::conjunction< absl::negation< std::is_convertible< U &&, absl::Status >>, std::is_constructible< absl::Status, U && >, absl::negation< std::is_same< absl::decay_t< U >, absl::StatusOr< T >>>, absl::negation< std::is_same< absl::decay_t< U >, T >>, absl::negation< std::is_same< absl::decay_t< U >, absl::in_place_t >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>::value, int > = 0>
 StatusOr (U &&v)
 
template<typename U = absl::Status, absl::enable_if_t< absl::conjunction< std::is_convertible< U &&, absl::Status >, std::is_constructible< absl::Status, U && >, absl::negation< std::is_same< absl::decay_t< U >, absl::StatusOr< T >>>, absl::negation< std::is_same< absl::decay_t< U >, T >>, absl::negation< std::is_same< absl::decay_t< U >, absl::in_place_t >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>::value, int > = 0>
 StatusOr (U &&v)
 
template<typename U = absl::Status, absl::enable_if_t< absl::conjunction< absl::negation< std::is_convertible< U &&, absl::Status >>, std::is_constructible< absl::Status, U && >, absl::negation< std::is_same< absl::decay_t< U >, absl::StatusOr< T >>>, absl::negation< std::is_same< absl::decay_t< U >, T >>, absl::negation< std::is_same< absl::decay_t< U >, absl::in_place_t >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>::value, int > = 0>
 StatusOr (U &&v)
 
Tvalue () &
 
T && value () &&
 
T && value () &&ABSL_ATTRIBUTE_LIFETIME_BOUND
 
Tvalue () &ABSL_ATTRIBUTE_LIFETIME_BOUND
 
const Tvalue () const &
 
const T && value () const &&
 
const T && value () const &&ABSL_ATTRIBUTE_LIFETIME_BOUND
 
const Tvalue () const &ABSL_ATTRIBUTE_LIFETIME_BOUND
 
template<typename U >
T value_or (U &&default_value) &&
 
template<typename U >
T value_or (U &&default_value) &&
 
template<typename U >
T value_or (U &&default_value) &&
 
template<typename U >
T value_or (U &&default_value) &&
 
template<typename U >
T value_or (U &&default_value) const &
 
template<typename U >
T value_or (U &&default_value) const &
 
template<typename U >
T value_or (U &&default_value) const &
 
template<typename U >
T value_or (U &&default_value) const &
 

Private Types

typedef internal_statusor::StatusOrData< TBase
 
typedef internal_statusor::StatusOrData< TBase
 

Private Member Functions

template<typename U >
void Assign (absl::StatusOr< U > &&other)
 
template<typename U >
void Assign (absl::StatusOr< U > &&other)
 
template<typename U >
void Assign (const absl::StatusOr< U > &other)
 
template<typename U >
void Assign (const absl::StatusOr< U > &other)
 
- Private Member Functions inherited from absl::internal_statusor::StatusOrData< T >
template<typename U >
void Assign (U &&value)
 
template<typename U >
void Assign (U &&value)
 
template<typename U >
void AssignStatus (U &&v)
 
template<typename U >
void AssignStatus (U &&v)
 
bool ok () const
 
bool ok () const
 
StatusOrDataoperator= (const StatusOrData &other)
 
StatusOrDataoperator= (const StatusOrData &other)
 
StatusOrDataoperator= (StatusOrData &&other)
 
StatusOrDataoperator= (StatusOrData &&other)
 
 StatusOrData ()=delete
 
 StatusOrData ()=delete
 
template<typename... Args>
 StatusOrData (absl::in_place_t, Args &&... args)
 
template<typename... Args>
 StatusOrData (absl::in_place_t, Args &&... args)
 
 StatusOrData (const StatusOrData &other)
 
 StatusOrData (const StatusOrData &other)
 
template<typename U >
 StatusOrData (const StatusOrData< U > &other)
 
template<typename U >
 StatusOrData (const StatusOrData< U > &other)
 
 StatusOrData (const T &value)
 
 StatusOrData (const T &value)
 
 StatusOrData (StatusOrData &&other) noexcept
 
 StatusOrData (StatusOrData &&other) noexcept
 
template<typename U >
 StatusOrData (StatusOrData< U > &&other)
 
template<typename U >
 StatusOrData (StatusOrData< U > &&other)
 
 StatusOrData (T &&value)
 
 StatusOrData (T &&value)
 
template<typename U , absl::enable_if_t< std::is_constructible< absl::Status, U && >::value, int > = 0>
 StatusOrData (U &&v)
 
template<typename U , absl::enable_if_t< std::is_constructible< absl::Status, U && >::value, int > = 0>
 StatusOrData (U &&v)
 
 ~StatusOrData ()
 
 ~StatusOrData ()
 
void Clear ()
 
void Clear ()
 
void EnsureNotOk ()
 
void EnsureNotOk ()
 
void EnsureOk () const
 
void EnsureOk () const
 
template<typename... Args>
void MakeStatus (Args &&... args)
 
template<typename... Args>
void MakeStatus (Args &&... args)
 
template<typename... Arg>
void MakeValue (Arg &&... arg)
 
template<typename... Arg>
void MakeValue (Arg &&... arg)
 
- Private Member Functions inherited from absl::internal_statusor::CopyCtorBase< T >
 CopyCtorBase ()=default
 
 CopyCtorBase ()=default
 
 CopyCtorBase (const CopyCtorBase &)=default
 
 CopyCtorBase (const CopyCtorBase &)=default
 
 CopyCtorBase (CopyCtorBase &&)=default
 
 CopyCtorBase (CopyCtorBase &&)=default
 
CopyCtorBaseoperator= (const CopyCtorBase &)=default
 
CopyCtorBaseoperator= (const CopyCtorBase &)=default
 
CopyCtorBaseoperator= (CopyCtorBase &&)=default
 
CopyCtorBaseoperator= (CopyCtorBase &&)=default
 
- Private Member Functions inherited from absl::internal_statusor::MoveCtorBase< T >
 MoveCtorBase ()=default
 
 MoveCtorBase ()=default
 
 MoveCtorBase (const MoveCtorBase &)=default
 
 MoveCtorBase (const MoveCtorBase &)=default
 
 MoveCtorBase (MoveCtorBase &&)=default
 
 MoveCtorBase (MoveCtorBase &&)=default
 
MoveCtorBaseoperator= (const MoveCtorBase &)=default
 
MoveCtorBaseoperator= (const MoveCtorBase &)=default
 
MoveCtorBaseoperator= (MoveCtorBase &&)=default
 
MoveCtorBaseoperator= (MoveCtorBase &&)=default
 
- Private Member Functions inherited from absl::internal_statusor::CopyAssignBase< T >
 CopyAssignBase ()=default
 
 CopyAssignBase ()=default
 
 CopyAssignBase (const CopyAssignBase &)=default
 
 CopyAssignBase (const CopyAssignBase &)=default
 
 CopyAssignBase (CopyAssignBase &&)=default
 
 CopyAssignBase (CopyAssignBase &&)=default
 
CopyAssignBaseoperator= (const CopyAssignBase &)=default
 
CopyAssignBaseoperator= (const CopyAssignBase &)=default
 
CopyAssignBaseoperator= (CopyAssignBase &&)=default
 
CopyAssignBaseoperator= (CopyAssignBase &&)=default
 
- Private Member Functions inherited from absl::internal_statusor::MoveAssignBase< T >
 MoveAssignBase ()=default
 
 MoveAssignBase ()=default
 
 MoveAssignBase (const MoveAssignBase &)=default
 
 MoveAssignBase (const MoveAssignBase &)=default
 
 MoveAssignBase (MoveAssignBase &&)=default
 
 MoveAssignBase (MoveAssignBase &&)=default
 
MoveAssignBaseoperator= (const MoveAssignBase &)=default
 
MoveAssignBaseoperator= (const MoveAssignBase &)=default
 
MoveAssignBaseoperator= (MoveAssignBase &&)=default
 
MoveAssignBaseoperator= (MoveAssignBase &&)=default
 

Friends

template<typename U >
class StatusOr
 

Additional Inherited Members

union {
   Status   status_
 
}; 
 
union {
   T   data_
 
   Dummy   dummy_
 
}; 
 
union {
   Status   status_
 
}; 
 
union {
   T   data_
 
   Dummy   dummy_
 
}; 
 

Detailed Description

template<typename T>
class absl::StatusOr< T >

Definition at line 187 of file abseil-cpp/absl/status/statusor.h.

Member Typedef Documentation

◆ Base [1/2]

template<typename T >
typedef internal_statusor::StatusOrData<T> absl::StatusOr< T >::Base
private

◆ Base [2/2]

template<typename T >
typedef internal_statusor::StatusOrData<T> absl::StatusOr< T >::Base
private

Definition at line 195 of file abseil-cpp/absl/status/statusor.h.

◆ value_type [1/2]

template<typename T >
typedef T absl::StatusOr< T >::value_type

◆ value_type [2/2]

template<typename T >
typedef T absl::StatusOr< T >::value_type

Definition at line 203 of file abseil-cpp/absl/status/statusor.h.

Constructor & Destructor Documentation

◆ StatusOr() [1/26]

template<typename T >
absl::StatusOr< T >::StatusOr
explicit

Definition at line 645 of file abseil-cpp/absl/status/statusor.h.

◆ StatusOr() [2/26]

template<typename T >
absl::StatusOr< T >::StatusOr ( const StatusOr< T > &  )
default

◆ StatusOr() [3/26]

template<typename T >
absl::StatusOr< T >::StatusOr ( StatusOr< T > &&  )
default

◆ StatusOr() [4/26]

template<typename T >
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, std::is_convertible< const U &, T >, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( const StatusOr< U > &  other)
inline

Definition at line 245 of file abseil-cpp/absl/status/statusor.h.

◆ StatusOr() [5/26]

template<typename T >
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, absl::negation< std::is_convertible< const U &, T >>, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( const StatusOr< U > &  other)
inlineexplicit

Definition at line 258 of file abseil-cpp/absl/status/statusor.h.

◆ StatusOr() [6/26]

template<typename T >
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, std::is_convertible< U &&, T >, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( StatusOr< U > &&  other)
inline

Definition at line 271 of file abseil-cpp/absl/status/statusor.h.

◆ StatusOr() [7/26]

template<typename T >
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, absl::negation< std::is_convertible< U &&, T >>, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( StatusOr< U > &&  other)
inlineexplicit

Definition at line 283 of file abseil-cpp/absl/status/statusor.h.

◆ StatusOr() [8/26]

template<typename T >
template<typename U = absl::Status, absl::enable_if_t< absl::conjunction< std::is_convertible< U &&, absl::Status >, std::is_constructible< absl::Status, U && >, absl::negation< std::is_same< absl::decay_t< U >, absl::StatusOr< T >>>, absl::negation< std::is_same< absl::decay_t< U >, T >>, absl::negation< std::is_same< absl::decay_t< U >, absl::in_place_t >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( U &&  v)
inline

Definition at line 360 of file abseil-cpp/absl/status/statusor.h.

◆ StatusOr() [9/26]

template<typename T >
template<typename U = absl::Status, absl::enable_if_t< absl::conjunction< absl::negation< std::is_convertible< U &&, absl::Status >>, std::is_constructible< absl::Status, U && >, absl::negation< std::is_same< absl::decay_t< U >, absl::StatusOr< T >>>, absl::negation< std::is_same< absl::decay_t< U >, T >>, absl::negation< std::is_same< absl::decay_t< U >, absl::in_place_t >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( U &&  v)
inlineexplicit

Definition at line 374 of file abseil-cpp/absl/status/statusor.h.

◆ StatusOr() [10/26]

template<typename T >
template<typename... Args>
absl::StatusOr< T >::StatusOr ( absl::in_place_t  ,
Args &&...  args 
)
explicit

Definition at line 668 of file abseil-cpp/absl/status/statusor.h.

◆ StatusOr() [11/26]

template<typename T >
template<typename U , typename... Args>
absl::StatusOr< T >::StatusOr ( absl::in_place_t  ,
std::initializer_list< U >  ilist,
Args &&...  args 
)
explicit

Definition at line 673 of file abseil-cpp/absl/status/statusor.h.

◆ StatusOr() [12/26]

template<typename T >
template<typename U = T, absl::enable_if_t< absl::conjunction< internal_statusor::IsDirectInitializationValid< T, U && >, std::is_constructible< T, U && >, std::is_convertible< U &&, T >, absl::disjunction< std::is_same< absl::remove_cv_t< absl::remove_reference_t< U >>, T >, absl::conjunction< absl::negation< std::is_convertible< U &&, absl::Status >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( U &&  u)
inline

Definition at line 455 of file abseil-cpp/absl/status/statusor.h.

◆ StatusOr() [13/26]

template<typename T >
template<typename U = T, absl::enable_if_t< absl::conjunction< internal_statusor::IsDirectInitializationValid< T, U && >, absl::disjunction< std::is_same< absl::remove_cv_t< absl::remove_reference_t< U >>, T >, absl::conjunction< absl::negation< std::is_constructible< absl::Status, U && >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>>, std::is_constructible< T, U && >, absl::negation< std::is_convertible< U &&, T >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( U &&  u)
inlineexplicit

Definition at line 474 of file abseil-cpp/absl/status/statusor.h.

◆ StatusOr() [14/26]

template<typename T >
absl::StatusOr< T >::StatusOr ( )
explicit

◆ StatusOr() [15/26]

template<typename T >
absl::StatusOr< T >::StatusOr ( const StatusOr< T > &  )
default

◆ StatusOr() [16/26]

template<typename T >
absl::StatusOr< T >::StatusOr ( StatusOr< T > &&  )
default

◆ StatusOr() [17/26]

template<typename T >
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, std::is_convertible< const U &, T >, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( const StatusOr< U > &  other)
inline

◆ StatusOr() [18/26]

template<typename T >
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, absl::negation< std::is_convertible< const U &, T >>, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( const StatusOr< U > &  other)
inlineexplicit

◆ StatusOr() [19/26]

template<typename T >
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, std::is_convertible< U &&, T >, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( StatusOr< U > &&  other)
inline

◆ StatusOr() [20/26]

template<typename T >
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, absl::negation< std::is_convertible< U &&, T >>, absl::negation< internal_statusor::IsConstructibleOrConvertibleFromStatusOr< T, U >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( StatusOr< U > &&  other)
inlineexplicit

◆ StatusOr() [21/26]

template<typename T >
template<typename U = absl::Status, absl::enable_if_t< absl::conjunction< std::is_convertible< U &&, absl::Status >, std::is_constructible< absl::Status, U && >, absl::negation< std::is_same< absl::decay_t< U >, absl::StatusOr< T >>>, absl::negation< std::is_same< absl::decay_t< U >, T >>, absl::negation< std::is_same< absl::decay_t< U >, absl::in_place_t >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( U &&  v)
inline

◆ StatusOr() [22/26]

template<typename T >
template<typename U = absl::Status, absl::enable_if_t< absl::conjunction< absl::negation< std::is_convertible< U &&, absl::Status >>, std::is_constructible< absl::Status, U && >, absl::negation< std::is_same< absl::decay_t< U >, absl::StatusOr< T >>>, absl::negation< std::is_same< absl::decay_t< U >, T >>, absl::negation< std::is_same< absl::decay_t< U >, absl::in_place_t >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( U &&  v)
inlineexplicit

◆ StatusOr() [23/26]

template<typename T >
template<typename... Args>
absl::StatusOr< T >::StatusOr ( absl::in_place_t  ,
Args &&...  args 
)
explicit

◆ StatusOr() [24/26]

template<typename T >
template<typename U , typename... Args>
absl::StatusOr< T >::StatusOr ( absl::in_place_t  ,
std::initializer_list< U >  ilist,
Args &&...  args 
)
explicit

◆ StatusOr() [25/26]

template<typename T >
template<typename U = T, absl::enable_if_t< absl::conjunction< internal_statusor::IsDirectInitializationValid< T, U && >, std::is_constructible< T, U && >, std::is_convertible< U &&, T >, absl::disjunction< std::is_same< absl::remove_cv_t< absl::remove_reference_t< U >>, T >, absl::conjunction< absl::negation< std::is_convertible< U &&, absl::Status >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( U &&  u)
inline

◆ StatusOr() [26/26]

template<typename T >
template<typename U = T, absl::enable_if_t< absl::conjunction< internal_statusor::IsDirectInitializationValid< T, U && >, absl::disjunction< std::is_same< absl::remove_cv_t< absl::remove_reference_t< U >>, T >, absl::conjunction< absl::negation< std::is_constructible< absl::Status, U && >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>>, std::is_constructible< T, U && >, absl::negation< std::is_convertible< U &&, T >>>::value, int > = 0>
absl::StatusOr< T >::StatusOr ( U &&  u)
inlineexplicit

Member Function Documentation

◆ Assign() [1/4]

template<typename T >
template<typename U >
void absl::StatusOr< T >::Assign ( absl::StatusOr< U > &&  other)
private

◆ Assign() [2/4]

template<typename T >
template<typename U >
void absl::StatusOr< T >::Assign ( absl::StatusOr< U > &&  other)
inlineprivate

Definition at line 659 of file abseil-cpp/absl/status/statusor.h.

◆ Assign() [3/4]

template<typename T >
template<typename U >
void absl::StatusOr< T >::Assign ( const absl::StatusOr< U > &  other)
private

◆ Assign() [4/4]

template<typename T >
template<typename U >
void absl::StatusOr< T >::Assign ( const absl::StatusOr< U > &  other)
inlineprivate

Definition at line 649 of file abseil-cpp/absl/status/statusor.h.

◆ emplace() [1/4]

template<typename T >
template<typename... Args>
T& absl::StatusOr< T >::emplace ( Args &&...  args)
inline

◆ emplace() [2/4]

template<typename T >
template<typename... Args>
T& absl::StatusOr< T >::emplace ( Args &&...  args)
inline

Definition at line 587 of file abseil-cpp/absl/status/statusor.h.

◆ emplace() [3/4]

template<typename T >
template<typename U , typename... Args, absl::enable_if_t< std::is_constructible< T, std::initializer_list< U > &, Args &&... >::value, int > = 0>
T& absl::StatusOr< T >::emplace ( std::initializer_list< U >  ilist,
Args &&...  args 
)
inline

◆ emplace() [4/4]

template<typename T >
template<typename U , typename... Args, absl::enable_if_t< std::is_constructible< T, std::initializer_list< U > &, Args &&... >::value, int > = 0>
T& absl::StatusOr< T >::emplace ( std::initializer_list< U >  ilist,
Args &&...  args 
)
inline

Definition at line 603 of file abseil-cpp/absl/status/statusor.h.

◆ IgnoreError() [1/2]

template<typename T >
void absl::StatusOr< T >::IgnoreError ( ) const

◆ IgnoreError() [2/2]

template<typename T >
void absl::StatusOr< T >::IgnoreError

Definition at line 769 of file abseil-cpp/absl/status/statusor.h.

◆ ok() [1/2]

template<typename T >
ABSL_MUST_USE_RESULT bool absl::StatusOr< T >::ok ( ) const
inline

◆ ok() [2/2]

template<typename T >
ABSL_MUST_USE_RESULT bool absl::StatusOr< T >::ok ( ) const
inline

Definition at line 491 of file abseil-cpp/absl/status/statusor.h.

◆ operator*() [1/8]

template<typename T >
T& absl::StatusOr< T >::operator* ( ) &

◆ operator*() [2/8]

template<typename T >
T&& absl::StatusOr< T >::operator* ( ) &&

◆ operator*() [3/8]

template<typename T >
T&& absl::StatusOr< T >::operator* ( ) &&

◆ operator*() [4/8]

template<typename T >
T& absl::StatusOr< T >::operator* ( ) &

◆ operator*() [5/8]

template<typename T >
const T& absl::StatusOr< T >::operator* ( ) const &

◆ operator*() [6/8]

template<typename T >
const T&& absl::StatusOr< T >::operator* ( ) const &&

◆ operator*() [7/8]

template<typename T >
const T&& absl::StatusOr< T >::operator* ( ) const &&

◆ operator*() [8/8]

template<typename T >
T && absl::StatusOr< T >::operator*

Definition at line 715 of file abseil-cpp/absl/status/statusor.h.

◆ operator->() [1/4]

template<typename T >
T* absl::StatusOr< T >::operator-> ( )

◆ operator->() [2/4]

template<typename T >
T* absl::StatusOr< T >::operator-> ( )

◆ operator->() [3/4]

template<typename T >
const T* absl::StatusOr< T >::operator-> ( ) const

◆ operator->() [4/4]

template<typename T >
T * absl::StatusOr< T >::operator->

Definition at line 739 of file abseil-cpp/absl/status/statusor.h.

◆ operator=() [1/14]

template<typename T >
StatusOr& absl::StatusOr< T >::operator= ( const StatusOr< T > &  )
default

◆ operator=() [2/14]

template<typename T >
StatusOr& absl::StatusOr< T >::operator= ( const StatusOr< T > &  )
default

◆ operator=() [3/14]

template<typename T >
template<typename U >
StatusOr<T>& absl::StatusOr< T >::operator= ( const StatusOr< U > &  other)
inline

◆ operator=() [4/14]

template<typename T >
template<typename U >
StatusOr<T>& absl::StatusOr< T >::operator= ( const StatusOr< U > &  other)
inline

◆ operator=() [5/14]

template<typename T >
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, std::is_assignable< T, const U & >, absl::negation< internal_statusor::IsConstructibleOrConvertibleOrAssignableFromStatusOr< T, U >>>::value, int > = 0>
StatusOr& absl::StatusOr< T >::operator= ( const StatusOr< U > &  other)
inline

◆ operator=() [6/14]

template<typename T >
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, std::is_assignable< T, const U & >, absl::negation< internal_statusor::IsConstructibleOrConvertibleOrAssignableFromStatusOr< T, U >>>::value, int > = 0>
StatusOr& absl::StatusOr< T >::operator= ( const StatusOr< U > &  other)
inline

Definition at line 317 of file abseil-cpp/absl/status/statusor.h.

◆ operator=() [7/14]

template<typename T >
StatusOr& absl::StatusOr< T >::operator= ( StatusOr< T > &&  )
default

◆ operator=() [8/14]

template<typename T >
StatusOr& absl::StatusOr< T >::operator= ( StatusOr< T > &&  )
default

◆ operator=() [9/14]

template<typename T >
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, std::is_assignable< T, U && >, absl::negation< internal_statusor::IsConstructibleOrConvertibleOrAssignableFromStatusOr< T, U >>>::value, int > = 0>
StatusOr& absl::StatusOr< T >::operator= ( StatusOr< U > &&  other)
inline

◆ operator=() [10/14]

template<typename T >
template<typename U , absl::enable_if_t< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, std::is_assignable< T, U && >, absl::negation< internal_statusor::IsConstructibleOrConvertibleOrAssignableFromStatusOr< T, U >>>::value, int > = 0>
StatusOr& absl::StatusOr< T >::operator= ( StatusOr< U > &&  other)
inline

Definition at line 332 of file abseil-cpp/absl/status/statusor.h.

◆ operator=() [11/14]

template<typename T >
template<typename U = absl::Status, absl::enable_if_t< absl::conjunction< std::is_convertible< U &&, absl::Status >, std::is_constructible< absl::Status, U && >, absl::negation< std::is_same< absl::decay_t< U >, absl::StatusOr< T >>>, absl::negation< std::is_same< absl::decay_t< U >, T >>, absl::negation< std::is_same< absl::decay_t< U >, absl::in_place_t >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>::value, int > = 0>
StatusOr& absl::StatusOr< T >::operator= ( U &&  v)
inline

◆ operator=() [12/14]

template<typename T >
template<typename U = absl::Status, absl::enable_if_t< absl::conjunction< std::is_convertible< U &&, absl::Status >, std::is_constructible< absl::Status, U && >, absl::negation< std::is_same< absl::decay_t< U >, absl::StatusOr< T >>>, absl::negation< std::is_same< absl::decay_t< U >, T >>, absl::negation< std::is_same< absl::decay_t< U >, absl::in_place_t >>, absl::negation< internal_statusor::HasConversionOperatorToStatusOr< T, U && >>>::value, int > = 0>
StatusOr& absl::StatusOr< T >::operator= ( U &&  v)
inline

Definition at line 388 of file abseil-cpp/absl/status/statusor.h.

◆ operator=() [13/14]

template<typename T >
template<typename U = T, typename = typename std::enable_if<absl::conjunction< std::is_constructible<T, U&&>, std::is_assignable<T&, U&&>, absl::disjunction< std::is_same<absl::remove_cv_t<absl::remove_reference_t<U>>, T>, absl::conjunction< absl::negation<std::is_convertible<U&&, absl::Status>>, absl::negation<internal_statusor:: HasConversionOperatorToStatusOr<T, U&&>>>>, internal_statusor::IsForwardingAssignmentValid<T, U&&>>::value>::type>
StatusOr& absl::StatusOr< T >::operator= ( U &&  v)
inline

◆ operator=() [14/14]

template<typename T >
template<typename U = T, typename = typename std::enable_if<absl::conjunction< std::is_constructible<T, U&&>, std::is_assignable<T&, U&&>, absl::disjunction< std::is_same<absl::remove_cv_t<absl::remove_reference_t<U>>, T>, absl::conjunction< absl::negation<std::is_convertible<U&&, absl::Status>>, absl::negation<internal_statusor:: HasConversionOperatorToStatusOr<T, U&&>>>>, internal_statusor::IsForwardingAssignmentValid<T, U&&>>::value>::type>
StatusOr& absl::StatusOr< T >::operator= ( U &&  v)
inline

Definition at line 420 of file abseil-cpp/absl/status/statusor.h.

◆ status() [1/4]

template<typename T >
Status absl::StatusOr< T >::status ( ) &&

◆ status() [2/4]

template<typename T >
Status absl::StatusOr< T >::status ( ) &&

◆ status() [3/4]

template<typename T >
const Status& absl::StatusOr< T >::status ( ) const &

◆ status() [4/4]

template<typename T >
Status absl::StatusOr< T >::status

Definition at line 678 of file abseil-cpp/absl/status/statusor.h.

◆ value() [1/8]

template<typename T >
T& absl::StatusOr< T >::value ( ) &

◆ value() [2/8]

template<typename T >
T&& absl::StatusOr< T >::value ( ) &&

◆ value() [3/8]

template<typename T >
T&& absl::StatusOr< T >::value ( ) &&

◆ value() [4/8]

template<typename T >
T& absl::StatusOr< T >::value ( ) &

◆ value() [5/8]

template<typename T >
const T& absl::StatusOr< T >::value ( ) const &

◆ value() [6/8]

template<typename T >
const T&& absl::StatusOr< T >::value ( ) const &&

◆ value() [7/8]

template<typename T >
const T&& absl::StatusOr< T >::value ( ) const &&

◆ value() [8/8]

template<typename T >
T && absl::StatusOr< T >::value

Definition at line 687 of file abseil-cpp/absl/status/statusor.h.

◆ value_or() [1/8]

template<typename T >
template<typename U >
T absl::StatusOr< T >::value_or ( U &&  default_value) &&

◆ value_or() [2/8]

template<typename T >
template<typename U >
T absl::StatusOr< T >::value_or ( U &&  default_value) &&

◆ value_or() [3/8]

template<typename T >
template<typename U >
T absl::StatusOr< T >::value_or ( U &&  default_value) &&

◆ value_or() [4/8]

template<typename T >
template<typename U >
T absl::StatusOr< T >::value_or ( U &&  default_value) &&

Definition at line 761 of file abseil-cpp/absl/status/statusor.h.

◆ value_or() [5/8]

template<typename T >
template<typename U >
T absl::StatusOr< T >::value_or ( U &&  default_value) const &

◆ value_or() [6/8]

template<typename T >
template<typename U >
T absl::StatusOr< T >::value_or ( U &&  default_value) const &

◆ value_or() [7/8]

template<typename T >
template<typename U >
T absl::StatusOr< T >::value_or ( U &&  default_value) const &

◆ value_or() [8/8]

template<typename T >
template<typename U >
T absl::StatusOr< T >::value_or ( U &&  default_value) const &

Definition at line 752 of file abseil-cpp/absl/status/statusor.h.

Friends And Related Function Documentation

◆ StatusOr

template<typename T >
template<typename U >
friend class StatusOr
friend

Definition at line 193 of file abseil-cpp/absl/status/statusor.h.


The documentation for this class was generated from the following file:


grpc
Author(s):
autogenerated on Fri May 16 2025 03:02:26