OpenSiv3D  v0.6.5
C++20 framework for creative coding
Optional.hpp File Reference
#include <cassert>
#include <memory>
#include <optional>
#include "Common.hpp"
#include "Utility.hpp"
#include "Error.hpp"
#include "None.hpp"
#include "Format.hpp"
#include "FormatData.hpp"
#include "FormatLiteral.hpp"
#include "detail/Optional.ipp"

Classes

class  s3d::Optional< Type >
 Optional. More...
 
struct  std::hash< s3d::Optional< Type > >
 

Namespaces

 s3d
 

Functions

template<class Type1 , class Type2 >
constexpr bool s3d::operator== (const Optional< Type1 > &lhs, const Optional< Type2 > &rhs)
 
template<class Type1 , class Type2 >
constexpr bool s3d::operator!= (const Optional< Type1 > &lhs, const Optional< Type2 > &rhs)
 
template<class Type1 , class Type2 >
constexpr bool s3d::operator< (const Optional< Type1 > &lhs, const Optional< Type2 > &rhs)
 
template<class Type1 , class Type2 >
constexpr bool s3d::operator<= (const Optional< Type1 > &lhs, const Optional< Type2 > &rhs)
 
template<class Type1 , class Type2 >
constexpr bool s3d::operator> (const Optional< Type1 > &lhs, const Optional< Type2 > &rhs)
 
template<class Type1 , class Type2 >
constexpr bool s3d::operator>= (const Optional< Type1 > &lhs, const Optional< Type2 > &rhs)
 
template<class Type >
constexpr bool s3d::operator== (const Optional< Type > &opt, None_t) noexcept
 
template<class Type >
constexpr bool s3d::operator== (None_t, const Optional< Type > &opt) noexcept
 
template<class Type >
constexpr bool s3d::operator!= (const Optional< Type > &opt, None_t) noexcept
 
template<class Type >
constexpr bool s3d::operator!= (None_t, const Optional< Type > &opt) noexcept
 
template<class Type >
constexpr bool s3d::operator< (const Optional< Type > &opt, None_t) noexcept
 
template<class Type >
constexpr bool s3d::operator< (None_t, const Optional< Type > &opt) noexcept
 
template<class Type >
constexpr bool s3d::operator<= (const Optional< Type > &opt, None_t) noexcept
 
template<class Type >
constexpr bool s3d::operator<= (None_t, const Optional< Type > &opt) noexcept
 
template<class Type >
constexpr bool s3d::operator> (const Optional< Type > &opt, None_t) noexcept
 
template<class Type >
constexpr bool s3d::operator> (None_t, const Optional< Type > &opt) noexcept
 
template<class Type >
constexpr bool s3d::operator>= (const Optional< Type > &opt, None_t) noexcept
 
template<class Type >
constexpr bool s3d::operator>= (None_t, const Optional< Type > &opt) noexcept
 
template<class Type , class U >
constexpr bool s3d::operator== (const Optional< Type > &opt, const U &value)
 
template<class Type , class U >
constexpr bool s3d::operator== (const U &value, const Optional< Type > &opt)
 
template<class Type , class U >
constexpr bool s3d::operator!= (const Optional< Type > &opt, const U &value)
 
template<class Type , class U >
constexpr bool s3d::operator!= (const U &value, const Optional< Type > &opt)
 
template<class Type , class U >
constexpr bool s3d::operator< (const Optional< Type > &opt, const U &value)
 
template<class Type , class U >
constexpr bool s3d::operator< (const U &value, const Optional< Type > &opt)
 
template<class Type , class U >
constexpr bool s3d::operator<= (const Optional< Type > &opt, const U &value)
 
template<class Type , class U >
constexpr bool s3d::operator<= (const U &value, const Optional< Type > &opt)
 
template<class Type , class U >
constexpr bool s3d::operator> (const U &value, const Optional< Type > &opt)
 
template<class Type , class U >
constexpr bool s3d::operator> (const Optional< Type > &opt, const U &value)
 
template<class Type , class U >
constexpr bool s3d::operator>= (const Optional< Type > &opt, const U &value)
 
template<class Type , class U >
constexpr bool s3d::operator>= (const U &value, const Optional< Type > &opt)
 
template<class Type >
constexpr Optional< std::decay_t< Type > > s3d::MakeOptional (Type &&v)
 
template<class Type , class... Args>
constexpr Optional< Type > s3d::MakeOptional (Args &&... args)
 
template<class Type , class U , class... Args>
constexpr Optional< Type > s3d::MakeOptional (std::initializer_list< U > il, Args &&... args)
 
template<class Type >
void s3d::swap (Optional< Type > &a, Optional< Type > &b) noexcept(noexcept(a.swap(b)))
 
template<class Type >
 s3d::Optional (Type) -> Optional< Type >