Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Header <boost/optional/optional.hpp>

// In Header: <boost/optional/optional.hpp>

namespace boost {

class in_place_init_t { /* see below */ } ; R
const in_place_init_t in_place_init ( /* see below */ ) ;

class in_place_init_if_t { /*see below*/ } ; R
const in_place_init_if_t in_place_init_if ( /*see below*/ ) ;

template <class T>
class optional ; R

template <class T>
class optional<T&> ; R

template<class T> inline bool operator == ( optional<T> const& x, optional<T> const& y ) ; R

template<class T> inline bool operator != ( optional<T> const& x, optional<T> const& y ) ; R

template<class T> inline bool operator <  ( optional<T> const& x, optional<T> const& y ) ; R

template<class T> inline bool operator >  ( optional<T> const& x, optional<T> const& y ) ; R

template<class T> inline bool operator <= ( optional<T> const& x, optional<T> const& y ) ; R

template<class T> inline bool operator >= ( optional<T> const& x, optional<T> const& y ) ; R

template<class T> inline bool operator == ( optional<T> const& x, none_t ) noexcept ; R

template<class T> inline bool operator != ( optional<T> const& x, none_t ) noexcept ; R

template<class T> inline optional<T> make_optional ( T const& v ) ; R

template<class T> inline optional<std::decay_t<T>> make_optional ( T && v ) ; R

template<class T> inline optional<T> make_optional ( bool condition, T const& v ) ; R

template<class T> inline optional<std::decay_t<T>> make_optional ( bool condition, T && v ) ; R

template<class T> inline auto get_optional_value_or ( optional<T> const& opt, typename optional<T>::reference_const_type def ) -> typename optional<T>::reference_const_type; R

template<class T> inline auto get_optional_value_or ( optional<T> const& opt, typename optional<T>::reference_type def ) -> typename optional<T>::reference_type ; R

template<class T> inline T const& get ( optional<T> const& opt ) ; R

template<class T> inline T& get ( optional<T> & opt ) ; R

template<class T> inline T const* get ( optional<T> const* opt ) ; R

template<class T> inline T* get ( optional<T>* opt ) ; R

template<class T> inline auto get_pointer ( optional<T> const& opt ) -> see below; R

template<class T> inline auto get_pointer ( optional<T> & opt ) -> see below; R

template<class T> inline void swap( optional<T>& x, optional<T>& y ) ; R

template<class T> inline void swap( optional<T&>& x, optional<T&>& y ) ; R

} // namespace boost

namespace std {

template <typename T>
struct hash<boost::optional<T> > ; R

template <typename T>
struct hash<boost::optional<T&> > ; R

} // namespace std

PrevUpHomeNext