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

#include <optional.h>

Public Types

typedef T value_type
 
typedef T value_type
 

Public Member Functions

template<typename... Args, typename = typename std::enable_if< std::is_constructible<T, Args&&...>::value>::type>
Templace (Args &&... args)
 
template<typename... Args, typename = typename std::enable_if< std::is_constructible<T, Args&&...>::value>::type>
Templace (Args &&... args)
 
template<typename U , typename... Args, typename = typename std::enable_if<std::is_constructible< T, std::initializer_list<U>&, Args&&...>::value>::type>
Templace (std::initializer_list< U > il, Args &&... args)
 
template<typename U , typename... Args, typename = typename std::enable_if<std::is_constructible< T, std::initializer_list<U>&, Args&&...>::value>::type>
Templace (std::initializer_list< U > il, Args &&... args)
 
constexpr bool has_value () const noexcept
 
constexpr bool has_value () const noexcept
 
constexpr operator bool () const noexcept
 
constexpr operator bool () const noexcept
 
Toperator* () &
 
Toperator* () &
 
T && operator* () &&
 
T && operator* () &&
 
constexpr const Toperator* () const &
 
constexpr const Toperator* () const &
 
constexpr const T && operator* () const &&
 
constexpr const T && operator* () const &&
 
Toperator-> ()
 
Toperator-> ()
 
const Toperator-> () const
 
const Toperator-> () const
 
optionaloperator= (const optional &src)=default
 
optionaloperator= (const optional &src)=default
 
template<typename U , typename = typename std::enable_if<absl::conjunction< absl::negation<std::is_same<T, U>>, std::is_constructible<T, const U&>, std::is_assignable<T&, const U&>, absl::negation< optional_internal:: is_constructible_convertible_assignable_from_optional< T, U>>>::value>::type>
optionaloperator= (const optional< U > &rhs)
 
template<typename U , int & ..., typename = typename std::enable_if<absl::conjunction< absl::negation<std::is_same<T, U> >, std::is_constructible<T, const U&>, std::is_assignable<T&, const U&>, absl::negation< optional_internal:: is_constructible_convertible_assignable_from_optional< T, U> > >::value>::type>
optionaloperator= (const optional< U > &rhs)
 
optionaloperator= (nullopt_t) noexcept
 
optionaloperator= (nullopt_t) noexcept
 
optionaloperator= (optional &&src)=default
 
optionaloperator= (optional &&src)=default
 
template<typename U , typename = typename std::enable_if<absl::conjunction< absl::negation<std::is_same<T, U>>, std::is_constructible<T, U>, std::is_assignable<T&, U>, absl::negation< optional_internal:: is_constructible_convertible_assignable_from_optional< T, U>>>::value>::type>
optionaloperator= (optional< U > &&rhs)
 
template<typename U , int & ..., typename = typename std::enable_if<absl::conjunction< absl::negation<std::is_same<T, U> >, std::is_constructible<T, U>, std::is_assignable<T&, U>, absl::negation< optional_internal:: is_constructible_convertible_assignable_from_optional< T, U> > >::value>::type>
optionaloperator= (optional< U > &&rhs)
 
template<typename U = T, typename = typename std::enable_if<absl::conjunction< absl::negation< std::is_same<optional<T>, typename std::decay<U>::type>>, absl::negation< absl::conjunction<std::is_scalar<T>, std::is_same<T, typename std::decay<U>::type>>>, std::is_constructible<T, U>, std::is_assignable<T&, U>>::value>::type>
optionaloperator= (U &&v)
 
template<typename U = T, int & ..., typename = typename std::enable_if<absl::conjunction< absl::negation< std::is_same<optional<T>, typename std::decay<U>::type> >, absl::negation<absl::conjunction< std::is_scalar<T>, std::is_same<T, typename std::decay<U>::type> > >, std::is_constructible<T, U>, std::is_assignable<T&, U> >::value>::type>
optionaloperator= (U &&v)
 
constexpr optional () noexcept
 
constexpr optional () noexcept
 
 optional (const optional &)=default
 
 optional (const optional &)=default
 
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U > >, std::is_constructible< T, const U & >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U > >, std::is_convertible< const U &, T > >::value, bool >::type = false>
 optional (const optional< U > &rhs)
 
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U > >, std::is_constructible< T, const U & >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U > >, std::is_convertible< const U &, T > >::value, bool >::type = false>
 optional (const optional< U > &rhs)
 
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U >>, absl::negation< std::is_convertible< const U &, T >>>::value, bool >::type = false>
 optional (const optional< U > &rhs)
 
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U >>, absl::negation< std::is_convertible< const U &, T >>>::value, bool >::type = false>
 optional (const optional< U > &rhs)
 
template<typename U , typename... Args, typename = typename std::enable_if<std::is_constructible< T, std::initializer_list<U>&, Args&&...>::value>::type>
constexpr optional (in_place_t, std::initializer_list< U > il, Args &&... args)
 
template<typename U , typename... Args, typename = typename std::enable_if<std::is_constructible< T, std::initializer_list<U>&, Args&&...>::value>::type>
constexpr optional (in_place_t, std::initializer_list< U > il, Args &&... args)
 
template<typename InPlaceT , typename... Args, absl::enable_if_t< absl::conjunction< std::is_same< InPlaceT, in_place_t >, std::is_constructible< T, Args &&... > >::value > * = nullptr>
constexpr optional (InPlaceT, Args &&... args)
 
template<typename InPlaceT , typename... Args, absl::enable_if_t< absl::conjunction< std::is_same< InPlaceT, in_place_t >, std::is_constructible< T, Args &&... > >::value > * = nullptr>
constexpr optional (InPlaceT, Args &&... args)
 
constexpr optional (nullopt_t) noexcept
 
constexpr optional (nullopt_t) noexcept
 
 optional (optional &&)=default
 
 optional (optional &&)=default
 
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U > >, std::is_constructible< T, U && >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U > >, std::is_convertible< U &&, T > >::value, bool >::type = false>
 optional (optional< U > &&rhs)
 
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U > >, std::is_constructible< T, U && >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U > >, std::is_convertible< U &&, T > >::value, bool >::type = false>
 optional (optional< U > &&rhs)
 
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U >>, absl::negation< std::is_convertible< U &&, T >>>::value, bool >::type = false>
 optional (optional< U > &&rhs)
 
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U >>, absl::negation< std::is_convertible< U &&, T >>>::value, bool >::type = false>
 optional (optional< U > &&rhs)
 
template<typename U = T, typename std::enable_if< absl::conjunction< absl::negation< std::is_same< in_place_t, typename std::decay< U >::type > >, absl::negation< std::is_same< optional< T >, typename std::decay< U >::type > >, std::is_convertible< U &&, T >, std::is_constructible< T, U && > >::value, bool >::type = false>
constexpr optional (U &&v)
 
template<typename U = T, typename std::enable_if< absl::conjunction< absl::negation< std::is_same< in_place_t, typename std::decay< U >::type > >, absl::negation< std::is_same< optional< T >, typename std::decay< U >::type > >, std::is_convertible< U &&, T >, std::is_constructible< T, U && > >::value, bool >::type = false>
constexpr optional (U &&v)
 
template<typename U = T, typename std::enable_if< absl::conjunction< absl::negation< std::is_same< in_place_t, typename std::decay< U >::type >>, absl::negation< std::is_same< optional< T >, typename std::decay< U >::type >>, absl::negation< std::is_convertible< U &&, T >>, std::is_constructible< T, U && >>::value, bool >::type = false>
constexpr optional (U &&v)
 
template<typename U = T, typename std::enable_if< absl::conjunction< absl::negation< std::is_same< in_place_t, typename std::decay< U >::type >>, absl::negation< std::is_same< optional< T >, typename std::decay< U >::type >>, absl::negation< std::is_convertible< U &&, T >>, std::is_constructible< T, U && >>::value, bool >::type = false>
constexpr optional (U &&v)
 
ABSL_ATTRIBUTE_REINITIALIZES void reset () noexcept
 
ABSL_ATTRIBUTE_REINITIALIZES void reset () noexcept
 
void swap (optional &rhs) noexcept(std::is_nothrow_move_constructible< T >::value &&type_traits_internal::IsNothrowSwappable< T >::value)
 
void swap (optional &rhs) noexcept(std::is_nothrow_move_constructible< T >::value &&type_traits_internal::IsNothrowSwappable< T >::value)
 
Tvalue () &
 
Tvalue () &
 
T && value () &&
 
T && value () &&
 
constexpr const Tvalue () const &
 
constexpr const Tvalue () const &
 
constexpr const T && value () const &&
 
constexpr const T && value () const &&
 
template<typename U >
T value_or (U &&v) &&
 
template<typename U >
T value_or (U &&v) &&
 
template<typename U >
constexpr T value_or (U &&v) const &
 
template<typename U >
constexpr T value_or (U &&v) const &
 
 ~optional ()=default
 
 ~optional ()=default
 

Private Types

using data_base = optional_internal::optional_data< T >
 
using data_base = optional_internal::optional_data< T >
 

Private Member Functions

Treference ()
 
Treference ()
 
constexpr const Treference () const
 
constexpr const Treference () const
 

Detailed Description

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

Definition at line 61 of file abseil-cpp/absl/types/internal/optional.h.

Member Typedef Documentation

◆ data_base [1/2]

template<typename T >
using absl::optional< T >::data_base = optional_internal::optional_data<T>
private

Definition at line 124 of file abseil-cpp/absl/types/optional.h.

◆ data_base [2/2]

template<typename T >
using absl::optional< T >::data_base = optional_internal::optional_data<T>
private

◆ value_type [1/2]

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

◆ value_type [2/2]

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

Definition at line 127 of file abseil-cpp/absl/types/optional.h.

Constructor & Destructor Documentation

◆ optional() [1/24]

template<typename T >
constexpr absl::optional< T >::optional ( )
inlineconstexprnoexcept

Definition at line 133 of file abseil-cpp/absl/types/optional.h.

◆ optional() [2/24]

template<typename T >
constexpr absl::optional< T >::optional ( nullopt_t  )
inlineconstexprnoexcept

Definition at line 136 of file abseil-cpp/absl/types/optional.h.

◆ optional() [3/24]

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

◆ optional() [4/24]

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

◆ optional() [5/24]

template<typename T >
template<typename InPlaceT , typename... Args, absl::enable_if_t< absl::conjunction< std::is_same< InPlaceT, in_place_t >, std::is_constructible< T, Args &&... > >::value > * = nullptr>
constexpr absl::optional< T >::optional ( InPlaceT  ,
Args &&...  args 
)
inlineexplicitconstexpr

Definition at line 152 of file abseil-cpp/absl/types/optional.h.

◆ optional() [6/24]

template<typename T >
template<typename U , typename... Args, typename = typename std::enable_if<std::is_constructible< T, std::initializer_list<U>&, Args&&...>::value>::type>
constexpr absl::optional< T >::optional ( in_place_t  ,
std::initializer_list< U >  il,
Args &&...  args 
)
inlineexplicitconstexpr

Definition at line 162 of file abseil-cpp/absl/types/optional.h.

◆ optional() [7/24]

template<typename T >
template<typename U = T, typename std::enable_if< absl::conjunction< absl::negation< std::is_same< in_place_t, typename std::decay< U >::type > >, absl::negation< std::is_same< optional< T >, typename std::decay< U >::type > >, std::is_convertible< U &&, T >, std::is_constructible< T, U && > >::value, bool >::type = false>
constexpr absl::optional< T >::optional ( U &&  v)
inlineconstexpr

Definition at line 178 of file abseil-cpp/absl/types/optional.h.

◆ optional() [8/24]

template<typename T >
template<typename U = T, typename std::enable_if< absl::conjunction< absl::negation< std::is_same< in_place_t, typename std::decay< U >::type >>, absl::negation< std::is_same< optional< T >, typename std::decay< U >::type >>, absl::negation< std::is_convertible< U &&, T >>, std::is_constructible< T, U && >>::value, bool >::type = false>
constexpr absl::optional< T >::optional ( U &&  v)
inlineexplicitconstexpr

Definition at line 191 of file abseil-cpp/absl/types/optional.h.

◆ optional() [9/24]

template<typename T >
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U > >, std::is_constructible< T, const U & >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U > >, std::is_convertible< const U &, T > >::value, bool >::type = false>
absl::optional< T >::optional ( const optional< U > &  rhs)
inline

Definition at line 205 of file abseil-cpp/absl/types/optional.h.

◆ optional() [10/24]

template<typename T >
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U >>, absl::negation< std::is_convertible< const U &, T >>>::value, bool >::type = false>
absl::optional< T >::optional ( const optional< U > &  rhs)
inlineexplicit

Definition at line 222 of file abseil-cpp/absl/types/optional.h.

◆ optional() [11/24]

template<typename T >
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U > >, std::is_constructible< T, U && >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U > >, std::is_convertible< U &&, T > >::value, bool >::type = false>
absl::optional< T >::optional ( optional< U > &&  rhs)
inline

Definition at line 239 of file abseil-cpp/absl/types/optional.h.

◆ optional() [12/24]

template<typename T >
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U >>, absl::negation< std::is_convertible< U &&, T >>>::value, bool >::type = false>
absl::optional< T >::optional ( optional< U > &&  rhs)
inlineexplicit

Definition at line 256 of file abseil-cpp/absl/types/optional.h.

◆ ~optional() [1/2]

template<typename T >
absl::optional< T >::~optional ( )
default

◆ optional() [13/24]

template<typename T >
constexpr absl::optional< T >::optional ( )
inlineconstexprnoexcept

◆ optional() [14/24]

template<typename T >
constexpr absl::optional< T >::optional ( nullopt_t  )
inlineconstexprnoexcept

◆ optional() [15/24]

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

◆ optional() [16/24]

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

◆ optional() [17/24]

template<typename T >
template<typename InPlaceT , typename... Args, absl::enable_if_t< absl::conjunction< std::is_same< InPlaceT, in_place_t >, std::is_constructible< T, Args &&... > >::value > * = nullptr>
constexpr absl::optional< T >::optional ( InPlaceT  ,
Args &&...  args 
)
inlineexplicitconstexpr

◆ optional() [18/24]

template<typename T >
template<typename U , typename... Args, typename = typename std::enable_if<std::is_constructible< T, std::initializer_list<U>&, Args&&...>::value>::type>
constexpr absl::optional< T >::optional ( in_place_t  ,
std::initializer_list< U >  il,
Args &&...  args 
)
inlineexplicitconstexpr

◆ optional() [19/24]

template<typename T >
template<typename U = T, typename std::enable_if< absl::conjunction< absl::negation< std::is_same< in_place_t, typename std::decay< U >::type > >, absl::negation< std::is_same< optional< T >, typename std::decay< U >::type > >, std::is_convertible< U &&, T >, std::is_constructible< T, U && > >::value, bool >::type = false>
constexpr absl::optional< T >::optional ( U &&  v)
inlineconstexpr

◆ optional() [20/24]

template<typename T >
template<typename U = T, typename std::enable_if< absl::conjunction< absl::negation< std::is_same< in_place_t, typename std::decay< U >::type >>, absl::negation< std::is_same< optional< T >, typename std::decay< U >::type >>, absl::negation< std::is_convertible< U &&, T >>, std::is_constructible< T, U && >>::value, bool >::type = false>
constexpr absl::optional< T >::optional ( U &&  v)
inlineexplicitconstexpr

◆ optional() [21/24]

template<typename T >
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U > >, std::is_constructible< T, const U & >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U > >, std::is_convertible< const U &, T > >::value, bool >::type = false>
absl::optional< T >::optional ( const optional< U > &  rhs)
inline

◆ optional() [22/24]

template<typename T >
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, const U & >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U >>, absl::negation< std::is_convertible< const U &, T >>>::value, bool >::type = false>
absl::optional< T >::optional ( const optional< U > &  rhs)
inlineexplicit

◆ optional() [23/24]

template<typename T >
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U > >, std::is_constructible< T, U && >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U > >, std::is_convertible< U &&, T > >::value, bool >::type = false>
absl::optional< T >::optional ( optional< U > &&  rhs)
inline

◆ optional() [24/24]

template<typename T >
template<typename U , typename std::enable_if< absl::conjunction< absl::negation< std::is_same< T, U >>, std::is_constructible< T, U && >, absl::negation< optional_internal::is_constructible_convertible_from_optional< T, U >>, absl::negation< std::is_convertible< U &&, T >>>::value, bool >::type = false>
absl::optional< T >::optional ( optional< U > &&  rhs)
inlineexplicit

◆ ~optional() [2/2]

template<typename T >
absl::optional< T >::~optional ( )
default

Member Function Documentation

◆ emplace() [1/4]

template<typename T >
template<typename... Args, typename = typename std::enable_if< std::is_constructible<T, Args&&...>::value>::type>
T& absl::optional< T >::emplace ( Args &&...  args)
inline

◆ emplace() [2/4]

template<typename T >
template<typename... Args, typename = typename std::enable_if< std::is_constructible<T, Args&&...>::value>::type>
T& absl::optional< T >::emplace ( Args &&...  args)
inline

Definition at line 360 of file abseil-cpp/absl/types/optional.h.

◆ emplace() [3/4]

template<typename T >
template<typename U , typename... Args, typename = typename std::enable_if<std::is_constructible< T, std::initializer_list<U>&, Args&&...>::value>::type>
T& absl::optional< T >::emplace ( std::initializer_list< U >  il,
Args &&...  args 
)
inline

◆ emplace() [4/4]

template<typename T >
template<typename U , typename... Args, typename = typename std::enable_if<std::is_constructible< T, std::initializer_list<U>&, Args&&...>::value>::type>
T& absl::optional< T >::emplace ( std::initializer_list< U >  il,
Args &&...  args 
)
inline

Definition at line 380 of file abseil-cpp/absl/types/optional.h.

◆ has_value() [1/2]

template<typename T >
constexpr bool absl::optional< T >::has_value ( ) const
inlineconstexprnoexcept

◆ has_value() [2/2]

template<typename T >
constexpr bool absl::optional< T >::has_value ( ) const
inlineconstexprnoexcept

Definition at line 461 of file abseil-cpp/absl/types/optional.h.

◆ operator bool() [1/2]

template<typename T >
constexpr absl::optional< T >::operator bool ( ) const
inlineexplicitconstexprnoexcept

◆ operator bool() [2/2]

template<typename T >
constexpr absl::optional< T >::operator bool ( ) const
inlineexplicitconstexprnoexcept

Definition at line 455 of file abseil-cpp/absl/types/optional.h.

◆ operator*() [1/8]

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

◆ operator*() [2/8]

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

Definition at line 433 of file abseil-cpp/absl/types/optional.h.

◆ operator*() [3/8]

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

◆ operator*() [4/8]

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

Definition at line 440 of file abseil-cpp/absl/types/optional.h.

◆ operator*() [5/8]

template<typename T >
constexpr const T& absl::optional< T >::operator* ( ) const &
inlineconstexpr

◆ operator*() [6/8]

template<typename T >
constexpr const T& absl::optional< T >::operator* ( ) const &
inlineconstexpr

Definition at line 430 of file abseil-cpp/absl/types/optional.h.

◆ operator*() [7/8]

template<typename T >
constexpr const T&& absl::optional< T >::operator* ( ) const &&
inlineconstexpr

◆ operator*() [8/8]

template<typename T >
constexpr const T&& absl::optional< T >::operator* ( ) const &&
inlineconstexpr

Definition at line 437 of file abseil-cpp/absl/types/optional.h.

◆ operator->() [1/4]

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

◆ operator->() [2/4]

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

Definition at line 421 of file abseil-cpp/absl/types/optional.h.

◆ operator->() [3/4]

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

◆ operator->() [4/4]

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

Definition at line 417 of file abseil-cpp/absl/types/optional.h.

◆ operator=() [1/12]

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

◆ operator=() [2/12]

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

◆ operator=() [3/12]

template<typename T >
template<typename U , typename = typename std::enable_if<absl::conjunction< absl::negation<std::is_same<T, U>>, std::is_constructible<T, const U&>, std::is_assignable<T&, const U&>, absl::negation< optional_internal:: is_constructible_convertible_assignable_from_optional< T, U>>>::value>::type>
optional& absl::optional< T >::operator= ( const optional< U > &  rhs)
inline

◆ operator=() [4/12]

template<typename T >
template<typename U , int & ..., typename = typename std::enable_if<absl::conjunction< absl::negation<std::is_same<T, U> >, std::is_constructible<T, const U&>, std::is_assignable<T&, const U&>, absl::negation< optional_internal:: is_constructible_convertible_assignable_from_optional< T, U> > >::value>::type>
optional& absl::optional< T >::operator= ( const optional< U > &  rhs)
inline

Definition at line 310 of file abseil-cpp/absl/types/optional.h.

◆ operator=() [5/12]

template<typename T >
optional& absl::optional< T >::operator= ( nullopt_t  )
inlinenoexcept

Definition at line 273 of file abseil-cpp/absl/types/optional.h.

◆ operator=() [6/12]

template<typename T >
optional& absl::optional< T >::operator= ( nullopt_t  )
inlinenoexcept

◆ operator=() [7/12]

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

◆ operator=() [8/12]

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

◆ operator=() [9/12]

template<typename T >
template<typename U , typename = typename std::enable_if<absl::conjunction< absl::negation<std::is_same<T, U>>, std::is_constructible<T, U>, std::is_assignable<T&, U>, absl::negation< optional_internal:: is_constructible_convertible_assignable_from_optional< T, U>>>::value>::type>
optional& absl::optional< T >::operator= ( optional< U > &&  rhs)
inline

◆ operator=() [10/12]

template<typename T >
template<typename U , int & ..., typename = typename std::enable_if<absl::conjunction< absl::negation<std::is_same<T, U> >, std::is_constructible<T, U>, std::is_assignable<T&, U>, absl::negation< optional_internal:: is_constructible_convertible_assignable_from_optional< T, U> > >::value>::type>
optional& absl::optional< T >::operator= ( optional< U > &&  rhs)
inline

Definition at line 328 of file abseil-cpp/absl/types/optional.h.

◆ operator=() [11/12]

template<typename T >
template<typename U = T, typename = typename std::enable_if<absl::conjunction< absl::negation< std::is_same<optional<T>, typename std::decay<U>::type>>, absl::negation< absl::conjunction<std::is_scalar<T>, std::is_same<T, typename std::decay<U>::type>>>, std::is_constructible<T, U>, std::is_assignable<T&, U>>::value>::type>
optional& absl::optional< T >::operator= ( U &&  v)
inline

◆ operator=() [12/12]

template<typename T >
template<typename U = T, int & ..., typename = typename std::enable_if<absl::conjunction< absl::negation< std::is_same<optional<T>, typename std::decay<U>::type> >, absl::negation<absl::conjunction< std::is_scalar<T>, std::is_same<T, typename std::decay<U>::type> > >, std::is_constructible<T, U>, std::is_assignable<T&, U> >::value>::type>
optional& absl::optional< T >::operator= ( U &&  v)
inline

Definition at line 295 of file abseil-cpp/absl/types/optional.h.

◆ reference() [1/4]

template<typename T >
T& absl::optional< T >::reference ( )
inlineprivate

◆ reference() [2/4]

template<typename T >
T& absl::optional< T >::reference ( )
inlineprivate

Definition at line 528 of file abseil-cpp/absl/types/optional.h.

◆ reference() [3/4]

template<typename T >
constexpr const T& absl::optional< T >::reference ( ) const
inlineconstexprprivate

◆ reference() [4/4]

template<typename T >
constexpr const T& absl::optional< T >::reference ( ) const
inlineconstexprprivate

Definition at line 527 of file abseil-cpp/absl/types/optional.h.

◆ reset() [1/2]

template<typename T >
ABSL_ATTRIBUTE_REINITIALIZES void absl::optional< T >::reset ( )
inlinenoexcept

◆ reset() [2/2]

template<typename T >
ABSL_ATTRIBUTE_REINITIALIZES void absl::optional< T >::reset ( )
inlinenoexcept

Definition at line 342 of file abseil-cpp/absl/types/optional.h.

◆ swap() [1/2]

template<typename T >
void absl::optional< T >::swap ( optional< T > &  rhs)
inlinenoexcept

◆ swap() [2/2]

template<typename T >
void absl::optional< T >::swap ( optional< T > &  rhs)
inlinenoexcept

Definition at line 389 of file abseil-cpp/absl/types/optional.h.

◆ value() [1/8]

template<typename T >
T& absl::optional< T >::value ( ) &
inline

◆ value() [2/8]

template<typename T >
T& absl::optional< T >::value ( ) &
inline

Definition at line 480 of file abseil-cpp/absl/types/optional.h.

◆ value() [3/8]

template<typename T >
T&& absl::optional< T >::value ( ) &&
inline

◆ value() [4/8]

template<typename T >
T&& absl::optional< T >::value ( ) &&
inline

Definition at line 485 of file abseil-cpp/absl/types/optional.h.

◆ value() [5/8]

template<typename T >
constexpr const T& absl::optional< T >::value ( ) const &
inlineconstexpr

◆ value() [6/8]

template<typename T >
constexpr const T& absl::optional< T >::value ( ) const &
inlineconstexpr

Definition at line 475 of file abseil-cpp/absl/types/optional.h.

◆ value() [7/8]

template<typename T >
constexpr const T&& absl::optional< T >::value ( ) const &&
inlineconstexpr

◆ value() [8/8]

template<typename T >
constexpr const T&& absl::optional< T >::value ( ) const &&
inlineconstexpr

Definition at line 491 of file abseil-cpp/absl/types/optional.h.

◆ value_or() [1/4]

template<typename T >
template<typename U >
T absl::optional< T >::value_or ( U &&  v) &&
inline

◆ value_or() [2/4]

template<typename T >
template<typename U >
T absl::optional< T >::value_or ( U &&  v) &&
inline

Definition at line 516 of file abseil-cpp/absl/types/optional.h.

◆ value_or() [3/4]

template<typename T >
template<typename U >
constexpr T absl::optional< T >::value_or ( U &&  v) const &
inlineconstexpr

◆ value_or() [4/4]

template<typename T >
template<typename U >
constexpr T absl::optional< T >::value_or ( U &&  v) const &
inlineconstexpr

Definition at line 506 of file abseil-cpp/absl/types/optional.h.


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


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