Iros
 
Loading...
Searching...
No Matches
di::math::Checked< T > Class Template Reference

#include <di/math/intcmp/checked.h>

Public Member Functions

 Checked ()=default
 
constexpr Checked (T value)
 
constexpr auto value () const -> Optional< T >
 
constexpr auto valid () const -> bool
 
constexpr auto invalid () const -> bool
 
constexpr auto operator+= (Checked value) -> Checked &
 
constexpr auto operator-= (Checked value) -> Checked &
 
constexpr auto operator*= (Checked value) -> Checked &
 
constexpr auto operator/= (Checked value) -> Checked &
 
constexpr auto operator%= (Checked value) -> Checked &
 
constexpr auto operator&= (Checked value) -> Checked &
 
constexpr auto operator|= (Checked value) -> Checked &
 
constexpr auto operator^= (Checked value) -> Checked &
 
constexpr auto operator<<= (Checked value) -> Checked &
 
constexpr auto operator>>= (Checked value) -> Checked &
 
constexpr auto operator++ () -> Checked &
 
constexpr auto operator-- () -> Checked &
 
constexpr auto operator++ (int) -> Checked
 
constexpr auto operator-- (int) -> Checked
 
constexpr auto operator+ () const -> Checked
 
constexpr auto operator- () const -> Checked
 
constexpr auto operator~ () const -> Checked
 
constexpr auto operator& (Checked value) const -> Checked
 
constexpr auto operator| (Checked value) const -> Checked
 
constexpr auto operator^ (Checked value) const -> Checked
 
constexpr auto operator<< (Checked value) const -> Checked
 
constexpr auto operator>> (Checked value) const -> Checked
 
constexpr auto operator+ (Checked value) const -> Checked
 
constexpr auto operator- (Checked value) const -> Checked
 
constexpr auto operator* (Checked value) const -> Checked
 
constexpr auto operator/ (Checked value) const -> Checked
 
constexpr auto operator% (Checked value) const -> Checked
 

Constructor & Destructor Documentation

◆ Checked() [1/2]

template<concepts::Integer T>
di::math::Checked< T >::Checked ( )
default

◆ Checked() [2/2]

template<concepts::Integer T>
di::math::Checked< T >::Checked ( T value)
inlineconstexpr

Member Function Documentation

◆ invalid()

template<concepts::Integer T>
auto di::math::Checked< T >::invalid ( ) const -> bool
inlineconstexpr

◆ operator%()

template<concepts::Integer T>
auto di::math::Checked< T >::operator% ( Checked< T > value) const -> Checked
inlineconstexpr

◆ operator%=()

template<concepts::Integer T>
auto di::math::Checked< T >::operator%= ( Checked< T > value) -> Checked&
inlineconstexpr

◆ operator&()

template<concepts::Integer T>
auto di::math::Checked< T >::operator& ( Checked< T > value) const -> Checked
inlineconstexpr

◆ operator&=()

template<concepts::Integer T>
auto di::math::Checked< T >::operator&= ( Checked< T > value) -> Checked&
inlineconstexpr

◆ operator*()

template<concepts::Integer T>
auto di::math::Checked< T >::operator* ( Checked< T > value) const -> Checked
inlineconstexpr

◆ operator*=()

template<concepts::Integer T>
auto di::math::Checked< T >::operator*= ( Checked< T > value) -> Checked&
inlineconstexpr

◆ operator+() [1/2]

template<concepts::Integer T>
auto di::math::Checked< T >::operator+ ( ) const -> Checked
inlineconstexpr

◆ operator+() [2/2]

template<concepts::Integer T>
auto di::math::Checked< T >::operator+ ( Checked< T > value) const -> Checked
inlineconstexpr

◆ operator++() [1/2]

template<concepts::Integer T>
auto di::math::Checked< T >::operator++ ( ) -> Checked&
inlineconstexpr

◆ operator++() [2/2]

template<concepts::Integer T>
auto di::math::Checked< T >::operator++ ( int ) -> Checked
inlineconstexpr

◆ operator+=()

template<concepts::Integer T>
auto di::math::Checked< T >::operator+= ( Checked< T > value) -> Checked&
inlineconstexpr

◆ operator-() [1/2]

template<concepts::Integer T>
auto di::math::Checked< T >::operator- ( ) const -> Checked
inlineconstexpr

◆ operator-() [2/2]

template<concepts::Integer T>
auto di::math::Checked< T >::operator- ( Checked< T > value) const -> Checked
inlineconstexpr

◆ operator--() [1/2]

template<concepts::Integer T>
auto di::math::Checked< T >::operator-- ( ) -> Checked&
inlineconstexpr

◆ operator--() [2/2]

template<concepts::Integer T>
auto di::math::Checked< T >::operator-- ( int ) -> Checked
inlineconstexpr

◆ operator-=()

template<concepts::Integer T>
auto di::math::Checked< T >::operator-= ( Checked< T > value) -> Checked&
inlineconstexpr

◆ operator/()

template<concepts::Integer T>
auto di::math::Checked< T >::operator/ ( Checked< T > value) const -> Checked
inlineconstexpr

◆ operator/=()

template<concepts::Integer T>
auto di::math::Checked< T >::operator/= ( Checked< T > value) -> Checked&
inlineconstexpr

◆ operator<<()

template<concepts::Integer T>
auto di::math::Checked< T >::operator<< ( Checked< T > value) const -> Checked
inlineconstexpr

◆ operator<<=()

template<concepts::Integer T>
auto di::math::Checked< T >::operator<<= ( Checked< T > value) -> Checked&
inlineconstexpr

◆ operator>>()

template<concepts::Integer T>
auto di::math::Checked< T >::operator>> ( Checked< T > value) const -> Checked
inlineconstexpr

◆ operator>>=()

template<concepts::Integer T>
auto di::math::Checked< T >::operator>>= ( Checked< T > value) -> Checked&
inlineconstexpr

◆ operator^()

template<concepts::Integer T>
auto di::math::Checked< T >::operator^ ( Checked< T > value) const -> Checked
inlineconstexpr

◆ operator^=()

template<concepts::Integer T>
auto di::math::Checked< T >::operator^= ( Checked< T > value) -> Checked&
inlineconstexpr

◆ operator|()

template<concepts::Integer T>
auto di::math::Checked< T >::operator| ( Checked< T > value) const -> Checked
inlineconstexpr

◆ operator|=()

template<concepts::Integer T>
auto di::math::Checked< T >::operator|= ( Checked< T > value) -> Checked&
inlineconstexpr

◆ operator~()

template<concepts::Integer T>
auto di::math::Checked< T >::operator~ ( ) const -> Checked
inlineconstexpr

◆ valid()

template<concepts::Integer T>
auto di::math::Checked< T >::valid ( ) const -> bool
inlineconstexpr

◆ value()

template<concepts::Integer T>
auto di::math::Checked< T >::value ( ) const -> Optional<T>
inlineconstexpr

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