#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))) |