neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
optional.hpp File Reference
#include <neolib/neolib.hpp>
#include <optional>
#include <istream>
#include <ostream>
#include <neolib/core/reference_counted.hpp>
#include <neolib/core/i_optional.hpp>

Go to the source code of this file.

Classes

struct  neolib::is_optional< optional< T > >
 
class  neolib::optional< T >
 
struct  neolib::optional_type< T >
 
struct  neolib::optional_type< std::optional< T > >
 
struct  neolib::optional_type< optional< T > >
 

Namespaces

namespace  neolib
 

Typedefs

template<typename T >
using neolib::optional_t = typename optional_type< T >::type
 

Functions

template<typename T >
bool neolib::operator== (const optional< T > &lhs, const abstract_t< optional< T > > &rhs)
 
template<typename T >
bool neolib::operator== (const abstract_t< optional< T > > &lhs, const optional< T > &rhs)
 
template<typename T >
std::partial_ordering neolib::operator<=> (const optional< T > &lhs, const abstract_t< optional< T > > &rhs)
 
template<typename T >
std::partial_ordering neolib::operator<=> (const abstract_t< optional< T > > &lhs, const optional< T > &rhs)
 
template<typename T , typename U , typename = std::enable_if_t<!is_optional_v<U>, sfinae>>
bool neolib::operator== (const optional< T > &lhs, const U &rhs)
 
template<typename T , typename U , typename = std::enable_if_t<!is_optional_v<U>, sfinae>>
bool neolib::operator== (const U &lhs, const optional< T > &rhs)
 
template<typename T , typename U , typename = std::enable_if_t<!is_optional_v<U>, sfinae>>
std::partial_ordering neolib::operator<=> (const optional< T > &lhs, const U &rhs)
 
template<typename T , typename U , typename = std::enable_if_t<!is_optional_v<U>, sfinae>>
std::partial_ordering neolib::operator<=> (const U &lhs, const optional< T > &rhs)
 
template<typename T , std::enable_if_t<!std::is_same_v< T, abstract_t< T > >, int > = 0>
std::partial_ordering neolib::operator<=> (const optional< T > &lhs, const abstract_t< T > &rhs)
 
template<typename T , std::enable_if_t<!std::is_same_v< T, abstract_t< T > >, int > = 0>
std::partial_ordering neolib::operator<=> (const abstract_t< T > &lhs, const optional< T > &rhs)
 
template<typename Elem , typename Traits , typename T >
std::basic_ostream< Elem, Traits > & neolib::operator<< (std::basic_ostream< Elem, Traits > &aStream, optional< T > const &aOptional)
 
template<typename Elem , typename Traits , typename T >
std::basic_istream< Elem, Traits > & neolib::operator>> (std::basic_istream< Elem, Traits > &aStream, optional< T > &aOptional)