CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::Optional< T > Class Template Reference

#include <CeresEngine/Foundation/Container/Optional.hpp>

Inheritance diagram for CeresEngine::Optional< T >:

Public Member Functions

constexpr bool hasValue () const
 
constexpr Tget () &
 
constexpr T && get () &&
 
constexpr const Tget () const &
 
constexpr const Tget () const &&
 
constexpr std::remove_cv_t< Tget (T &&defaultValue) const &
 
constexpr std::remove_cv_t< Tget (T &&defaultValue) const &&
 

Private Types

using Base = std::optional< T >
 

Private Member Functions

Basebase () &
 
Base && base () &&
 
const Basebase () const &
 
const Base && base () const &&
 

Friends

template<typename A , typename B >
constexpr bool operator== (const Optional< A > &lhs, const Optional< B > &rhs)
 
template<typename A , typename B >
constexpr bool operator== (const Optional< A > &lhs, const B &rhs)
 
template<typename A , typename B >
constexpr bool operator== (const A &lhs, const Optional< B > &rhs)
 
template<typename A >
constexpr bool operator== (const Optional< A > &lhs, const std::nullopt_t &)
 
template<typename A , typename B >
constexpr bool operator!= (const Optional< A > &lhs, const Optional< B > &rhs)
 
template<typename A , typename B >
constexpr bool operator!= (const Optional< A > &lhs, const B &rhs)
 
template<typename A , typename B >
constexpr bool operator!= (const A &lhs, const Optional< B > &rhs)
 
template<typename A >
constexpr bool operator!= (const Optional< A > &lhs, const std::nullopt_t &)
 
template<typename A , typename B >
constexpr bool operator> (const Optional< A > &lhs, const Optional< B > &rhs)
 
template<typename A , typename B >
constexpr bool operator> (const Optional< A > &lhs, const B &rhs)
 
template<typename A , typename B >
constexpr bool operator> (const A &lhs, const Optional< B > &rhs)
 
template<typename A >
constexpr bool operator> (const Optional< A > &lhs, const std::nullopt_t &)
 
template<typename A , typename B >
constexpr bool operator>= (const Optional< A > &lhs, const Optional< B > &rhs)
 
template<typename A , typename B >
constexpr bool operator>= (const Optional< A > &lhs, const B &rhs)
 
template<typename A , typename B >
constexpr bool operator>= (const A &lhs, const Optional< B > &rhs)
 
template<typename A >
constexpr bool operator>= (const Optional< A > &lhs, const std::nullopt_t &)
 
template<typename A , typename B >
constexpr bool operator< (const Optional< A > &lhs, const Optional< B > &rhs)
 
template<typename A , typename B >
constexpr bool operator< (const Optional< A > &lhs, const B &rhs)
 
template<typename A , typename B >
constexpr bool operator< (const A &lhs, const Optional< B > &rhs)
 
template<typename A >
constexpr bool operator< (const Optional< A > &lhs, const std::nullopt_t &)
 
template<typename A , typename B >
constexpr bool operator<= (const Optional< A > &lhs, const Optional< B > &rhs)
 
template<typename A , typename B >
constexpr bool operator<= (const Optional< A > &lhs, const B &rhs)
 
template<typename A , typename B >
constexpr bool operator<= (const A &lhs, const Optional< B > &rhs)
 
template<typename A >
constexpr bool operator<= (const Optional< A > &lhs, const std::nullopt_t &)
 

Member Typedef Documentation

◆ Base

template<typename T >
using CeresEngine::Optional< T >::Base = std::optional<T>
private

Member Function Documentation

◆ base() [1/4]

template<typename T >
Base & CeresEngine::Optional< T >::base ( ) &
inlineprivate

◆ base() [2/4]

template<typename T >
Base && CeresEngine::Optional< T >::base ( ) &&
inlineprivate

◆ base() [3/4]

template<typename T >
const Base & CeresEngine::Optional< T >::base ( ) const &
inlineprivate

◆ base() [4/4]

template<typename T >
const Base && CeresEngine::Optional< T >::base ( ) const &&
inlineprivate

◆ get() [1/6]

template<typename T >
constexpr T & CeresEngine::Optional< T >::get ( ) &
inlineconstexpr

◆ get() [2/6]

template<typename T >
constexpr T && CeresEngine::Optional< T >::get ( ) &&
inlineconstexpr

◆ get() [3/6]

template<typename T >
constexpr const T & CeresEngine::Optional< T >::get ( ) const &
inlineconstexpr

◆ get() [4/6]

template<typename T >
constexpr const T & CeresEngine::Optional< T >::get ( ) const &&
inlineconstexpr

◆ get() [5/6]

template<typename T >
constexpr std::remove_cv_t< T > CeresEngine::Optional< T >::get ( T &&  defaultValue) const &
inlineconstexpr

◆ get() [6/6]

template<typename T >
constexpr std::remove_cv_t< T > CeresEngine::Optional< T >::get ( T &&  defaultValue) const &&
inlineconstexpr

◆ hasValue()

template<typename T >
constexpr bool CeresEngine::Optional< T >::hasValue ( ) const
inlineconstexpr

Friends And Related Symbol Documentation

◆ operator!= [1/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator!= ( const A lhs,
const Optional< B > &  rhs 
)
friend

◆ operator!= [2/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator!= ( const Optional< A > &  lhs,
const B rhs 
)
friend

◆ operator!= [3/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator!= ( const Optional< A > &  lhs,
const Optional< B > &  rhs 
)
friend

◆ operator!= [4/4]

template<typename T >
template<typename A >
constexpr bool operator!= ( const Optional< A > &  lhs,
const std::nullopt_t &   
)
friend

◆ operator< [1/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator< ( const A lhs,
const Optional< B > &  rhs 
)
friend

◆ operator< [2/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator< ( const Optional< A > &  lhs,
const B rhs 
)
friend

◆ operator< [3/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator< ( const Optional< A > &  lhs,
const Optional< B > &  rhs 
)
friend

◆ operator< [4/4]

template<typename T >
template<typename A >
constexpr bool operator< ( const Optional< A > &  lhs,
const std::nullopt_t &   
)
friend

◆ operator<= [1/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator<= ( const A lhs,
const Optional< B > &  rhs 
)
friend

◆ operator<= [2/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator<= ( const Optional< A > &  lhs,
const B rhs 
)
friend

◆ operator<= [3/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator<= ( const Optional< A > &  lhs,
const Optional< B > &  rhs 
)
friend

◆ operator<= [4/4]

template<typename T >
template<typename A >
constexpr bool operator<= ( const Optional< A > &  lhs,
const std::nullopt_t &   
)
friend

◆ operator== [1/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator== ( const A lhs,
const Optional< B > &  rhs 
)
friend

◆ operator== [2/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator== ( const Optional< A > &  lhs,
const B rhs 
)
friend

◆ operator== [3/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator== ( const Optional< A > &  lhs,
const Optional< B > &  rhs 
)
friend

◆ operator== [4/4]

template<typename T >
template<typename A >
constexpr bool operator== ( const Optional< A > &  lhs,
const std::nullopt_t &   
)
friend

◆ operator> [1/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator> ( const A lhs,
const Optional< B > &  rhs 
)
friend

◆ operator> [2/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator> ( const Optional< A > &  lhs,
const B rhs 
)
friend

◆ operator> [3/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator> ( const Optional< A > &  lhs,
const Optional< B > &  rhs 
)
friend

◆ operator> [4/4]

template<typename T >
template<typename A >
constexpr bool operator> ( const Optional< A > &  lhs,
const std::nullopt_t &   
)
friend

◆ operator>= [1/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator>= ( const A lhs,
const Optional< B > &  rhs 
)
friend

◆ operator>= [2/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator>= ( const Optional< A > &  lhs,
const B rhs 
)
friend

◆ operator>= [3/4]

template<typename T >
template<typename A , typename B >
constexpr bool operator>= ( const Optional< A > &  lhs,
const Optional< B > &  rhs 
)
friend

◆ operator>= [4/4]

template<typename T >
template<typename A >
constexpr bool operator>= ( const Optional< A > &  lhs,
const std::nullopt_t &   
)
friend

The documentation for this class was generated from the following file: