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

 Optional (T *pointer)
 
constexpr bool hasValue () const
 
constexpr Tget () const
 
Toperator* ()
 
const Toperator* () const
 
Toperator-> ()
 
const Toperator-> () const
 

Private Types

using Base = std::optional< std::reference_wrapper< 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<std::reference_wrapper<T> >
private

Constructor & Destructor Documentation

◆ Optional()

template<typename T >
CeresEngine::Optional< T & >::Optional ( T pointer)
inline

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()

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

◆ hasValue()

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

◆ operator*() [1/2]

template<typename T >
T & CeresEngine::Optional< T & >::operator* ( )
inline

◆ operator*() [2/2]

template<typename T >
const T & CeresEngine::Optional< T & >::operator* ( ) const
inline

◆ operator->() [1/2]

template<typename T >
T * CeresEngine::Optional< T & >::operator-> ( )
inline

◆ operator->() [2/2]

template<typename T >
const T * CeresEngine::Optional< T & >::operator-> ( ) const
inline

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: