#include "absl/base/config.h"#include "absl/utility/utility.h"#include <cassert>#include <functional>#include <initializer_list>#include <type_traits>#include <utility>#include "absl/base/attributes.h"#include "absl/base/internal/inline_variable.h"#include "absl/meta/type_traits.h"#include "absl/types/bad_optional_access.h"#include "absl/types/internal/optional.h"

Go to the source code of this file.
Classes | |
| struct | std::hash< absl::optional< T > > |
| struct | absl::nullopt_t |
| class | absl::optional< T > |
Namespaces | |
| namespace | absl |
| namespace | std |
Functions | |
| absl::ABSL_INTERNAL_INLINE_CONSTEXPR (nullopt_t, nullopt, nullopt_t(optional_internal::init_t())) | |
| template<typename T > | |
| constexpr optional< typename std::decay< T >::type > | absl::make_optional (T &&v) |
| template<typename T , typename... Args> | |
| constexpr optional< T > | absl::make_optional (Args &&...args) |
| template<typename T , typename U , typename... Args> | |
| constexpr optional< T > | absl::make_optional (std::initializer_list< U > il, Args &&...args) |
| template<typename T , typename U > | |
| constexpr auto | absl::operator!= (const optional< T > &x, const optional< U > &y)-> decltype(optional_internal |
| template<typename T > | |
| constexpr bool | absl::operator!= (const optional< T > &x, nullopt_t) noexcept |
| template<typename T > | |
| constexpr bool | absl::operator!= (nullopt_t, const optional< T > &x) noexcept |
| template<typename T , typename U > | |
| constexpr auto | absl::operator!= (const optional< T > &x, const U &v)-> decltype(optional_internal |
| template<typename T , typename U > | |
| constexpr auto | absl::operator!= (const U &v, const optional< T > &x)-> decltype(optional_internal |
| template<typename T , typename U > | |
| constexpr auto | absl::operator< (const optional< T > &x, const optional< U > &y)-> decltype(optional_internal |
| template<typename T > | |
| constexpr bool | absl::operator< (const optional< T > &, nullopt_t) noexcept |
| template<typename T > | |
| constexpr bool | absl::operator< (nullopt_t, const optional< T > &x) noexcept |
| template<typename T , typename U > | |
| constexpr auto | absl::operator< (const optional< T > &x, const U &v)-> decltype(optional_internal |
| template<typename T , typename U > | |
| constexpr auto | absl::operator< (const U &v, const optional< T > &x)-> decltype(optional_internal |
| template<typename T , typename U > | |
| constexpr auto | absl::operator<= (const optional< T > &x, const optional< U > &y)-> decltype(optional_internal |
| template<typename T > | |
| constexpr bool | absl::operator<= (const optional< T > &x, nullopt_t) noexcept |
| template<typename T > | |
| constexpr bool | absl::operator<= (nullopt_t, const optional< T > &) noexcept |
| template<typename T , typename U > | |
| constexpr auto | absl::operator<= (const optional< T > &x, const U &v)-> decltype(optional_internal |
| template<typename T , typename U > | |
| constexpr auto | absl::operator<= (const U &v, const optional< T > &x)-> decltype(optional_internal |
| template<typename T , typename U > | |
| constexpr auto | absl::operator== (const optional< T > &x, const optional< U > &y)-> decltype(optional_internal |
| template<typename T > | |
| constexpr bool | absl::operator== (const optional< T > &x, nullopt_t) noexcept |
| template<typename T > | |
| constexpr bool | absl::operator== (nullopt_t, const optional< T > &x) noexcept |
| template<typename T , typename U > | |
| constexpr auto | absl::operator== (const optional< T > &x, const U &v)-> decltype(optional_internal |
| template<typename T , typename U > | |
| constexpr auto | absl::operator== (const U &v, const optional< T > &x)-> decltype(optional_internal |
| template<typename T , typename U > | |
| constexpr auto | absl::operator> (const optional< T > &x, const optional< U > &y)-> decltype(optional_internal |
| template<typename T > | |
| constexpr bool | absl::operator> (const optional< T > &x, nullopt_t) noexcept |
| template<typename T > | |
| constexpr bool | absl::operator> (nullopt_t, const optional< T > &) noexcept |
| template<typename T , typename U > | |
| constexpr auto | absl::operator> (const optional< T > &x, const U &v)-> decltype(optional_internal |
| template<typename T , typename U > | |
| constexpr auto | absl::operator> (const U &v, const optional< T > &x)-> decltype(optional_internal |
| template<typename T , typename U > | |
| constexpr auto | absl::operator>= (const optional< T > &x, const optional< U > &y)-> decltype(optional_internal |
| template<typename T > | |
| constexpr bool | absl::operator>= (const optional< T > &, nullopt_t) noexcept |
| template<typename T > | |
| constexpr bool | absl::operator>= (nullopt_t, const optional< T > &x) noexcept |
| template<typename T , typename U > | |
| constexpr auto | absl::operator>= (const optional< T > &x, const U &v)-> decltype(optional_internal |
| template<typename T , typename U > | |
| constexpr auto | absl::operator>= (const U &v, const optional< T > &x)-> decltype(optional_internal |
| template<typename T , typename std::enable_if< std::is_move_constructible< T >::value &&type_traits_internal::IsSwappable< T >::value, bool >::type = false> | |
| void | absl::swap (optional< T > &a, optional< T > &b) noexcept(noexcept(a.swap(b))) |