Horizon
Loading...
Searching...
No Matches
optional.hpp File Reference
#include <exception>
#include <initializer_list>
#include <memory>
#include <new>
#include <concepts/concepts.hpp>
#include <range/v3/detail/config.hpp>
#include <range/v3/utility/addressof.hpp>
#include <range/v3/utility/in_place.hpp>
#include <range/v3/utility/static_const.hpp>
#include <range/v3/utility/swap.hpp>
#include <range/v3/detail/prologue.hpp>
#include <range/v3/detail/epilogue.hpp>

Go to the source code of this file.

Classes

struct  ranges::bad_optional_access
struct  ranges::nullopt_t
struct  ranges::nullopt_t::tag
struct  ranges::optional< T >

Concepts

concept  ranges::optional_should_convert
 The optional_should_convert concept.
concept  ranges::optional_should_convert_assign
 The optional_should_convert_assign concept.

Variables

constexpr nullopt_t ranges::nullopt {nullopt_t::tag{}}
template<typename U, typename T>
CPP_concept ranges::optional_should_convert
template<typename U, typename T>
CPP_concept ranges::optional_should_convert_assign

Variable Documentation

◆ optional_should_convert

template<typename U, typename T>
CPP_concept ranges::optional_should_convert
Initial value:
=
!(
constructible_from<T, optional<U> & > ||
constructible_from<T, optional<U> && > ||
constructible_from<T, optional<U> const & > ||
constructible_from<T, optional<U> const &&> ||
convertible_to<optional<U> &, T> ||
convertible_to<optional<U> &&, T> ||
convertible_to<optional<U> const &, T> ||
convertible_to<optional<U> const &&, T>
)

◆ optional_should_convert_assign

template<typename U, typename T>
CPP_concept ranges::optional_should_convert_assign
Initial value:
=
!(assignable_from<T &, optional<U> &> ||
assignable_from<T &, optional<U> &&> ||
assignable_from<T &, optional<U> const &> ||
assignable_from<T &, optional<U> const &&>)
The optional_should_convert concept.