VCCC  2024.05
VisualCamp Common C++ library
optional.h File Reference

Go to the source code of this file.

Classes

class  optional< T >
 a wrapper that may or may not hold an object More...
 

Namespaces

 vccc
 

Functions

template<typename T >
constexpr optional< std::decay_t< T > > make_optional (T &&value)
 
template<typename T >
constexpr optional< T > make_optional ()
 
template<typename T , typename Arg , typename ... Args>
constexpr optional< T > make_optional (Arg &&arg, Args &&... args)
 
template<typename T , typename U , typename ... Args>
constexpr optional< T > make_optional (std::initializer_list< U > ilist, Args &&... args)
 
template<typename T , typename U >
constexpr bool operator== (const optional< T > &lhs, const optional< U > &rhs)
 
template<typename T , typename U >
constexpr bool operator!= (const optional< T > &lhs, const optional< U > &rhs)
 
template<typename T , typename U >
constexpr bool operator< (const optional< T > &lhs, const optional< U > &rhs)
 
template<typename T , typename U >
constexpr bool operator<= (const optional< T > &lhs, const optional< U > &rhs)
 
template<typename T , typename U >
constexpr bool operator> (const optional< T > &lhs, const optional< U > &rhs)
 
template<typename T , typename U >
constexpr bool operator>= (const optional< T > &lhs, const optional< U > &rhs)
 
template<typename T >
constexpr bool operator== (const optional< T > &opt, nullopt_t) noexcept
 
template<typename T >
constexpr bool operator== (nullopt_t, const optional< T > &opt) noexcept
 
template<typename T >
constexpr bool operator!= (const optional< T > &opt, nullopt_t) noexcept
 
template<typename T >
constexpr bool operator!= (nullopt_t, const optional< T > &opt) noexcept
 
template<typename T >
constexpr bool operator< (const optional< T > &opt, nullopt_t) noexcept
 
template<typename T >
constexpr bool operator< (nullopt_t, const optional< T > &opt) noexcept
 
template<typename T >
constexpr bool operator<= (const optional< T > &opt, nullopt_t) noexcept
 
template<typename T >
constexpr bool operator<= (nullopt_t, const optional< T > &opt) noexcept
 
template<typename T >
constexpr bool operator> (const optional< T > &opt, nullopt_t) noexcept
 
template<typename T >
constexpr bool operator> (nullopt_t, const optional< T > &opt) noexcept
 
template<typename T >
constexpr bool operator>= (const optional< T > &opt, nullopt_t) noexcept
 
template<typename T >
constexpr bool operator>= (nullopt_t, const optional< T > &opt) noexcept
 
template<typename T , typename U >
constexpr bool operator== (const optional< T > &opt, const U &value)
 
template<typename T , typename U >
constexpr bool operator== (const T &value, const optional< U > &opt)
 
template<typename T , typename U >
constexpr bool operator!= (const optional< T > &opt, const U &value)
 
template<typename T , typename U >
constexpr bool operator!= (const T &value, const optional< U > &opt)
 
template<typename T , typename U >
constexpr bool operator< (const optional< T > &opt, const U &value)
 
template<typename T , typename U >
constexpr bool operator< (const T &value, const optional< U > &opt)
 
template<typename T , typename U >
constexpr bool operator<= (const optional< T > &opt, const U &value)
 
template<typename T , typename U >
constexpr bool operator<= (const T &value, const optional< U > &opt)
 
template<typename T , typename U >
constexpr bool operator> (const optional< T > &opt, const U &value)
 
template<typename T , typename U >
constexpr bool operator> (const T &value, const optional< U > &opt)
 
template<typename T , typename U >
constexpr bool operator>= (const optional< T > &opt, const U &value)
 
template<typename T , typename U >
constexpr bool operator>= (const T &value, const optional< U > &opt)