Hubris Engine Dev
A Project to learn and get into Game Engine developement.
 
Loading...
Searching...
No Matches
Hubris::Observer< T > Class Template Reference

#include <Memory.h>

Public Types

using element_type = T
 

Public Member Functions

constexpr Observer () noexcept=default
 
constexpr Observer (std::nullptr_t) noexcept
 
constexpr Observer (T *ptr) noexcept
 
template<typename U>
requires PolymorphicConvertible<U, T>
constexpr Observer (U *ptr) noexcept
 
constexpr Observer (const Observer &other) noexcept=default
 
template<typename U>
requires PolymorphicConvertible<U, T>
constexpr Observer (const Observer< U > &other) noexcept
 
constexpr Observeroperator= (const Observer &other) noexcept=default
 
template<typename U>
requires PolymorphicConvertible<U, T>
constexpr Observeroperator= (const Observer< U > &other) noexcept
 
constexpr Observeroperator= (T *ptr) noexcept
 
constexpr void reset (T *ptr=nullptr) noexcept
 
constexpr void release () noexcept
 
constexpr T * get () const noexcept
 
constexpr T & operator* () const
 
constexpr T * operator-> () const
 
constexpr operator bool () const noexcept
 
constexpr auto operator<=> (const Observer &) const =default
 
template<typename U>
constexpr bool operator== (const Observer< U > &other) const noexcept
 

Detailed Description

template<typename T>
class Hubris::Observer< T >

Definition at line 604 of file Memory.h.

Member Typedef Documentation

◆ element_type

template<typename T>
using Hubris::Observer< T >::element_type = T

Definition at line 607 of file Memory.h.

Constructor & Destructor Documentation

◆ Observer() [1/6]

template<typename T>
Hubris::Observer< T >::Observer ( )
constexprdefaultnoexcept
+ Here is the caller graph for this function:

◆ Observer() [2/6]

template<typename T>
Hubris::Observer< T >::Observer ( std::nullptr_t )
inlineconstexprnoexcept

Definition at line 611 of file Memory.h.

+ Here is the call graph for this function:

◆ Observer() [3/6]

template<typename T>
Hubris::Observer< T >::Observer ( T * ptr)
inlineexplicitconstexprnoexcept

Definition at line 613 of file Memory.h.

◆ Observer() [4/6]

template<typename T>
template<typename U>
requires PolymorphicConvertible<U, T>
Hubris::Observer< T >::Observer ( U * ptr)
inlineconstexprnoexcept

Definition at line 616 of file Memory.h.

◆ Observer() [5/6]

template<typename T>
Hubris::Observer< T >::Observer ( const Observer< T > & other)
constexprdefaultnoexcept
+ Here is the call graph for this function:

◆ Observer() [6/6]

template<typename T>
template<typename U>
requires PolymorphicConvertible<U, T>
Hubris::Observer< T >::Observer ( const Observer< U > & other)
inlineconstexprnoexcept

Definition at line 623 of file Memory.h.

+ Here is the call graph for this function:

Member Function Documentation

◆ get()

template<typename T>
T * Hubris::Observer< T >::get ( ) const
inlineconstexprnoexcept

Definition at line 646 of file Memory.h.

◆ operator bool()

template<typename T>
Hubris::Observer< T >::operator bool ( ) const
inlineexplicitconstexprnoexcept

Definition at line 657 of file Memory.h.

◆ operator*()

template<typename T>
T & Hubris::Observer< T >::operator* ( ) const
inlineconstexpr

Definition at line 647 of file Memory.h.

◆ operator->()

template<typename T>
T * Hubris::Observer< T >::operator-> ( ) const
inlineconstexpr

Definition at line 652 of file Memory.h.

◆ operator<=>()

template<typename T>
auto Hubris::Observer< T >::operator<=> ( const Observer< T > & ) const
constexprdefault
+ Here is the call graph for this function:

◆ operator=() [1/3]

template<typename T>
Observer & Hubris::Observer< T >::operator= ( const Observer< T > & other)
constexprdefaultnoexcept
+ Here is the call graph for this function:

◆ operator=() [2/3]

template<typename T>
template<typename U>
requires PolymorphicConvertible<U, T>
Observer & Hubris::Observer< T >::operator= ( const Observer< U > & other)
inlineconstexprnoexcept

Definition at line 630 of file Memory.h.

+ Here is the call graph for this function:

◆ operator=() [3/3]

template<typename T>
Observer & Hubris::Observer< T >::operator= ( T * ptr)
inlineconstexprnoexcept

Definition at line 636 of file Memory.h.

+ Here is the call graph for this function:

◆ operator==()

template<typename T>
template<typename U>
bool Hubris::Observer< T >::operator== ( const Observer< U > & other) const
inlineconstexprnoexcept

Definition at line 663 of file Memory.h.

+ Here is the call graph for this function:

◆ release()

template<typename T>
void Hubris::Observer< T >::release ( )
inlineconstexprnoexcept

Definition at line 643 of file Memory.h.

◆ reset()

template<typename T>
void Hubris::Observer< T >::reset ( T * ptr = nullptr)
inlineconstexprnoexcept

Definition at line 642 of file Memory.h.


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