MCRO
C++23 utilities for Unreal Engine.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Mcro::Zero::FZero Struct Reference

A type which acts like a number, but it always returns another FZero for any operations and converting it to any scalar type yields 0. So if an FZero is found in a chain of operation the result will be always 0. More...

#include <Zero.h>

Public Member Functions

FORCEINLINE FZero ()
 
FORCEINLINE FZero (FZero const &)
 
FORCEINLINE FZero (FZero &&)
 
template<CScalar T>
 operator T ()
 
template<CScalar T>
 FZero (T)
 
template<CScalar T>
FZerooperator= (T)
 
template<CScalar T>
FZerooperator+= (T)
 
template<CScalar T>
FZerooperator-= (T)
 
template<CScalar T>
FZerooperator*= (T)
 
template<CScalar T>
FZerooperator/= (T)
 
template<CScalar T>
FZerooperator%= (T)
 
template<CScalar T>
FZerooperator&= (T)
 
template<CScalar T>
FZerooperator|= (T)
 
template<CScalar T>
FZerooperator^= (T)
 
template<CScalar T>
FZerooperator<<= (T)
 
template<CScalar T>
FZerooperator>>= (T)
 
FORCEINLINE FZerooperator++ ()
 
FORCEINLINE FZerooperator++ (int)
 
FORCEINLINE FZerooperator-- ()
 
FORCEINLINE FZerooperator-- (int)
 
FORCEINLINE FZero operator+ () const
 
FORCEINLINE FZero operator- () const
 
FORCEINLINE FZero operator~ () const
 

Friends

template<CScalar T>
FZero operator+ (FZero zero, T)
 
template<CScalar T>
FZero operator- (FZero zero, T)
 
template<CScalar T>
FZero operator* (FZero zero, T)
 
template<CScalar T>
FZero operator/ (FZero zero, T)
 
template<CScalar T>
FZero operator% (FZero zero, T)
 
template<CScalar T>
FZero operator& (FZero zero, T)
 
template<CScalar T>
FZero operator| (FZero zero, T)
 
template<CScalar T>
FZero operator^ (FZero zero, T)
 
template<CScalar T>
FZero operator<< (FZero zero, T)
 
template<CScalar T>
FZero operator>> (FZero zero, T)
 
template<CScalar T>
FZero operator+ (T, FZero zero)
 
template<CScalar T>
FZero operator- (T, FZero zero)
 
template<CScalar T>
FZero operator* (T, FZero zero)
 
template<CScalar T>
FZero operator/ (T, FZero zero)
 
template<CScalar T>
FZero operator% (T, FZero zero)
 
template<CScalar T>
FZero operator& (T, FZero zero)
 
template<CScalar T>
FZero operator| (T, FZero zero)
 
template<CScalar T>
FZero operator^ (T, FZero zero)
 
template<CScalar T>
FZero operator<< (T, FZero zero)
 
template<CScalar T>
FZero operator>> (T, FZero zero)
 
template<CScalar T>
bool operator== (FZero, T scalar)
 
template<CScalar T>
bool operator!= (FZero, T scalar)
 
template<CScalar T>
bool operator<=> (FZero, T scalar)
 
template<CScalar T>
bool operator== (T scalar, FZero)
 
template<CScalar T>
bool operator!= (T scalar, FZero)
 
template<CScalar T>
bool operator<=> (T scalar, FZero)
 

Detailed Description

A type which acts like a number, but it always returns another FZero for any operations and converting it to any scalar type yields 0. So if an FZero is found in a chain of operation the result will be always 0.

Definition at line 26 of file Zero.h.

Constructor & Destructor Documentation

◆ FZero() [1/4]

FORCEINLINE Mcro::Zero::FZero::FZero ( )
inline

Definition at line 28 of file Zero.h.

◆ FZero() [2/4]

FORCEINLINE Mcro::Zero::FZero::FZero ( FZero const & )
inline

Definition at line 29 of file Zero.h.

◆ FZero() [3/4]

FORCEINLINE Mcro::Zero::FZero::FZero ( FZero && )
inline

Definition at line 30 of file Zero.h.

◆ FZero() [4/4]

template<CScalar T>
Mcro::Zero::FZero::FZero ( T )
inline

Definition at line 36 of file Zero.h.

Member Function Documentation

◆ operator T()

template<CScalar T>
Mcro::Zero::FZero::operator T ( )
inline

Definition at line 33 of file Zero.h.

◆ operator%=()

template<CScalar T>
FZero & Mcro::Zero::FZero::operator%= ( T )
inline

Definition at line 43 of file Zero.h.

◆ operator&=()

template<CScalar T>
FZero & Mcro::Zero::FZero::operator&= ( T )
inline

Definition at line 44 of file Zero.h.

◆ operator*=()

template<CScalar T>
FZero & Mcro::Zero::FZero::operator*= ( T )
inline

Definition at line 41 of file Zero.h.

◆ operator+()

FORCEINLINE FZero Mcro::Zero::FZero::operator+ ( ) const
inline

Definition at line 55 of file Zero.h.

◆ operator++() [1/2]

FORCEINLINE FZero & Mcro::Zero::FZero::operator++ ( )
inline

Definition at line 50 of file Zero.h.

◆ operator++() [2/2]

FORCEINLINE FZero & Mcro::Zero::FZero::operator++ ( int )
inline

Definition at line 51 of file Zero.h.

◆ operator+=()

template<CScalar T>
FZero & Mcro::Zero::FZero::operator+= ( T )
inline

Definition at line 39 of file Zero.h.

◆ operator-()

FORCEINLINE FZero Mcro::Zero::FZero::operator- ( ) const
inline

Definition at line 56 of file Zero.h.

◆ operator--() [1/2]

FORCEINLINE FZero & Mcro::Zero::FZero::operator-- ( )
inline

Definition at line 52 of file Zero.h.

◆ operator--() [2/2]

FORCEINLINE FZero & Mcro::Zero::FZero::operator-- ( int )
inline

Definition at line 53 of file Zero.h.

◆ operator-=()

template<CScalar T>
FZero & Mcro::Zero::FZero::operator-= ( T )
inline

Definition at line 40 of file Zero.h.

◆ operator/=()

template<CScalar T>
FZero & Mcro::Zero::FZero::operator/= ( T )
inline

Definition at line 42 of file Zero.h.

◆ operator<<=()

template<CScalar T>
FZero & Mcro::Zero::FZero::operator<<= ( T )
inline

Definition at line 47 of file Zero.h.

◆ operator=()

template<CScalar T>
FZero & Mcro::Zero::FZero::operator= ( T )
inline

Definition at line 38 of file Zero.h.

◆ operator>>=()

template<CScalar T>
FZero & Mcro::Zero::FZero::operator>>= ( T )
inline

Definition at line 48 of file Zero.h.

◆ operator^=()

template<CScalar T>
FZero & Mcro::Zero::FZero::operator^= ( T )
inline

Definition at line 46 of file Zero.h.

◆ operator|=()

template<CScalar T>
FZero & Mcro::Zero::FZero::operator|= ( T )
inline

Definition at line 45 of file Zero.h.

◆ operator~()

FORCEINLINE FZero Mcro::Zero::FZero::operator~ ( ) const
inline

Definition at line 57 of file Zero.h.

Friends And Related Symbol Documentation

◆ operator!= [1/2]

template<CScalar T>
bool operator!= ( FZero ,
T scalar )
friend

Definition at line 82 of file Zero.h.

◆ operator!= [2/2]

template<CScalar T>
bool operator!= ( T scalar,
FZero  )
friend

Definition at line 86 of file Zero.h.

◆ operator% [1/2]

template<CScalar T>
FZero operator% ( FZero zero,
T  )
friend

Definition at line 63 of file Zero.h.

◆ operator% [2/2]

template<CScalar T>
FZero operator% ( T ,
FZero zero )
friend

Definition at line 74 of file Zero.h.

◆ operator& [1/2]

template<CScalar T>
FZero operator& ( FZero zero,
T  )
friend

Definition at line 64 of file Zero.h.

◆ operator& [2/2]

template<CScalar T>
FZero operator& ( T ,
FZero zero )
friend

Definition at line 75 of file Zero.h.

◆ operator* [1/2]

template<CScalar T>
FZero operator* ( FZero zero,
T  )
friend

Definition at line 61 of file Zero.h.

◆ operator* [2/2]

template<CScalar T>
FZero operator* ( T ,
FZero zero )
friend

Definition at line 72 of file Zero.h.

◆ operator+ [1/2]

template<CScalar T>
FZero operator+ ( FZero zero,
T  )
friend

Definition at line 59 of file Zero.h.

◆ operator+ [2/2]

template<CScalar T>
FZero operator+ ( T ,
FZero zero )
friend

Definition at line 70 of file Zero.h.

◆ operator- [1/2]

template<CScalar T>
FZero operator- ( FZero zero,
T  )
friend

Definition at line 60 of file Zero.h.

◆ operator- [2/2]

template<CScalar T>
FZero operator- ( T ,
FZero zero )
friend

Definition at line 71 of file Zero.h.

◆ operator/ [1/2]

template<CScalar T>
FZero operator/ ( FZero zero,
T  )
friend

Definition at line 62 of file Zero.h.

◆ operator/ [2/2]

template<CScalar T>
FZero operator/ ( T ,
FZero zero )
friend

Definition at line 73 of file Zero.h.

◆ operator<< [1/2]

template<CScalar T>
FZero operator<< ( FZero zero,
T  )
friend

Definition at line 67 of file Zero.h.

◆ operator<< [2/2]

template<CScalar T>
FZero operator<< ( T ,
FZero zero )
friend

Definition at line 78 of file Zero.h.

◆ operator<=> [1/2]

template<CScalar T>
bool operator<=> ( FZero ,
T scalar )
friend

Definition at line 83 of file Zero.h.

◆ operator<=> [2/2]

template<CScalar T>
bool operator<=> ( T scalar,
FZero  )
friend

Definition at line 87 of file Zero.h.

◆ operator== [1/2]

template<CScalar T>
bool operator== ( FZero ,
T scalar )
friend

Definition at line 81 of file Zero.h.

◆ operator== [2/2]

template<CScalar T>
bool operator== ( T scalar,
FZero  )
friend

Definition at line 85 of file Zero.h.

◆ operator>> [1/2]

template<CScalar T>
FZero operator>> ( FZero zero,
T  )
friend

Definition at line 68 of file Zero.h.

◆ operator>> [2/2]

template<CScalar T>
FZero operator>> ( T ,
FZero zero )
friend

Definition at line 79 of file Zero.h.

◆ operator^ [1/2]

template<CScalar T>
FZero operator^ ( FZero zero,
T  )
friend

Definition at line 66 of file Zero.h.

◆ operator^ [2/2]

template<CScalar T>
FZero operator^ ( T ,
FZero zero )
friend

Definition at line 77 of file Zero.h.

◆ operator| [1/2]

template<CScalar T>
FZero operator| ( FZero zero,
T  )
friend

Definition at line 65 of file Zero.h.

◆ operator| [2/2]

template<CScalar T>
FZero operator| ( T ,
FZero zero )
friend

Definition at line 76 of file Zero.h.


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