Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Detailed Semantics - Optional Values

[Note] Note

The following section contains various assert() which are used only to show the postconditions as sample code. It is not implied that the type T must support each particular expression but that if the expression is supported, the implied condition holds.

constexpr optional<T>::optional() noexcept;

constexpr optional<T>::optional( none_t ) noexcept;

constexpr optional<T>::optional( T const& v )

constexpr optional<T>::optional( T&& v )

constexpr optional<T>::optional( bool condition, T const& v ) ;

optional<T>::optional( T const& v )

optional<T>::optional()

constexpr optional<T>::optional( optional const& rhs );

constexpr optional<T>::optional( optional&& rhs ) noexcept(see below);

template<U> constexpr explicit optional<T>::optional( optional<U> const& rhs );

template<U> constexpr explicit optional<T>::optional( optional<U>&& rhs );

template<class... Args> constexpr explicit optional<T>::optional( in_place_init_t, Args&&... ars );

template<class... Args> constexpr explicit optional<T>::optional( in_place_init_if_t, bool condition, Args&&... ars );

template<InPlaceFactory> explicit optional<T>::optional( InPlaceFactory const& f );

template<TypedInPlaceFactory> explicit optional<T>::optional( TypedInPlaceFactory const& f );

constexpr optional& optional<T>::operator= ( none_t ) noexcept;

optional& optional<T>::operator= ( T const& rhs ) ;

optional& optional<T>::operator= ( T&& rhs ) ;

optional& optional<T>::operator= ( optional const& rhs ) ;

optional& optional<T>::operator= ( optional&& rhs ) noexcept(see below);

template<U> optional& optional<T>::operator= ( optional<U> const& rhs ) ;

template<U> optional& optional<T>::operator= ( optional<U>&& rhs ) ;

template<class... Args> void optional<T>::emplace( Args&&... args );

template<InPlaceFactory> optional<T>& optional<T>::operator=( InPlaceFactory const& f );

template<TypedInPlaceFactory> optional<T>& optional<T>::operator=( TypedInPlaceFactory const& f );

void optional<T>::reset( T const& v ) ;

constexpr void optional<T>::reset() noexcept ;

constexpr T const& optional<T>::get() const ;

constexpr T& optional<T>::get() ;

inline T const& get ( optional<T> const& ) ;

inline T& get ( optional<T> &) ;

constexpr T const& optional<T>::operator*() const& ;

constexpr T& optional<T>::operator*() &;

constexpr T&& optional<T>::operator*() &&;

constexpr T const& optional<T>::value() const& ;

constexpr T& optional<T>::value() & ;

constexpr T&& optional<T>::value() && ;

template<class U = T> constexpr T optional<T>::value_or(U && v) const& ;

template<class U> constexpr T optional<T>::value_or(U && v) && ;

template<class F> constexpr T optional<T>::value_or_eval(F f) const& ;

template<class F> constexpr T optional<T>::value_or_eval(F f) && ;

template<class F> constexpr auto optional<T>::map(F f) const& -> see below ;

template<class F> constexpr auto optional<T>::map(F f) & -> see below ;

template<class F> constexpr auto optional<T>::map(F f) && -> see below ;

template<class F> constexpr auto optional<T>::flat_map(F f) const& -> see below ;

template<class F> constexpr auto optional<T>::flat_map(F f) & -> see below ;

template<class F> constexpr auto optional<T>::flat_map(F f) && -> see below ;

constexpr optional<T>::operator optional<T&>() & noexcept ;

constexpr optional<T>::operator optional<T const&>() const& noexcept ;

T const& optional<T>::get_value_or( T const& default) const ;

T& optional<T>::get_value_or( T& default ) ;

T const* optional<T>::get_ptr() const ;

T* optional<T>::get_ptr() ;

constexpr T const* optional<T>::operator ->() const ;

constexpr T* optional<T>::operator ->() ;

constexpr explicit optional<T>::operator bool() const noexcept ;

constexpr bool optional<T>::has_value() const noexcept ;

constexpr bool optional<T>::is_initialized() const ;


PrevUpHomeNext