IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
ice::nvalue Struct Reference

#include <ice/types/nvalue.hxx>

Inheritance diagram for ice::nvalue:
ice::ncount ice::nindex ice::ncount_invalid_t ice::nindex_invalid_t

Public Types

using base_type = ice::detail::nvalue_base_utype
using base_signed_type = ice::detail::nvalue_base_stype

Public Member Functions

template<typename Self>
constexpr bool is_valid (this Self self) noexcept
template<typename Self>
constexpr auto value_or (this Self self, ice::concepts::NValueCompatibleType auto fallback) noexcept
template<typename Self>
constexpr auto min_value_or (this Self self, ice::concepts::NValueCompatibleType auto other, ice::concepts::NValueCompatibleType auto fallback) noexcept
constexpr auto native () const noexcept
constexpr auto internal () const noexcept
constexpr auto u8 () const noexcept
constexpr auto u16 () const noexcept
constexpr auto u32 () const noexcept
constexpr auto u64 () const noexcept
constexpr operator base_type (this nvalue self) noexcept
template<typename Self>
constexpr bool operator== (this Self self, ice::concepts::NValueCompatibleType auto other) noexcept
template<typename Self>
constexpr auto operator<=> (this Self self, ice::concepts::NValueCompatibleType auto other) noexcept -> std::strong_ordering
template<typename Self>
constexpr auto operator++ (this Self &self) noexcept -> Self &
template<typename Self>
constexpr auto operator++ (this Self &self, int) noexcept -> Self
template<typename Self>
constexpr auto operator-- (this Self &self) noexcept -> Self &
template<typename Self>
constexpr auto operator-- (this Self &self, int) noexcept -> Self
template<typename Self>
constexpr auto operator+ (this Self self, ice::concepts::NValueCompatibleType auto other) noexcept -> Self
template<typename Self>
constexpr auto operator- (this Self self, ice::concepts::NValueCompatibleType auto other) noexcept -> Self
template<typename Self>
constexpr auto operator* (this Self self, ice::concepts::NValueCompatibleType auto other) noexcept -> Self
template<typename Self>
constexpr auto operator/ (this Self self, ice::concepts::NValueCompatibleType auto other) noexcept -> Self
template<typename Self>
constexpr auto operator+= (this Self &self, ice::concepts::NValueCompatibleType auto other) noexcept -> Self &
template<typename Self>
constexpr auto operator-= (this Self &self, ice::concepts::NValueCompatibleType auto other) noexcept -> Self &
template<typename Self>
constexpr auto operator*= (this Self &self, ice::concepts::NValueCompatibleType auto other) noexcept -> Self &
template<typename Self>
constexpr auto operator/= (this Self &self, ice::concepts::NValueCompatibleType auto other) noexcept -> Self &

Public Attributes

ice::detail::nvalue_base_utype _width ICE_NVALUE_WIDTH_FIELD_BITS
ice::detail::nvalue_base_stype _value ICE_NVALUE_VALUE_FIELD_BITS

Member Typedef Documentation

◆ base_signed_type

◆ base_type

Member Function Documentation

◆ internal()

auto ice::nvalue::internal ( ) const
inlineconstexprnoexcept

◆ is_valid()

template<typename Self>
bool ice::nvalue::is_valid ( this Self self)
inlineconstexprnoexcept

◆ min_value_or()

template<typename Self>
auto ice::nvalue::min_value_or ( this Self self,
ice::concepts::NValueCompatibleType auto other,
ice::concepts::NValueCompatibleType auto fallback )
inlineconstexprnoexcept

◆ native()

auto ice::nvalue::native ( ) const
inlineconstexprnoexcept

◆ operator base_type()

ice::nvalue::operator base_type ( this nvalue self)
inlineconstexprnoexcept

◆ operator*()

template<typename Self>
auto ice::nvalue::operator* ( this Self self,
ice::concepts::NValueCompatibleType auto other ) -> Self
inlineconstexprnoexcept

◆ operator*=()

template<typename Self>
auto ice::nvalue::operator*= ( this Self & self,
ice::concepts::NValueCompatibleType auto other ) -> Self &
inlineconstexprnoexcept

◆ operator+()

template<typename Self>
auto ice::nvalue::operator+ ( this Self self,
ice::concepts::NValueCompatibleType auto other ) -> Self
inlineconstexprnoexcept

◆ operator++() [1/2]

template<typename Self>
auto ice::nvalue::operator++ ( this Self & self) -> Self &
constexprnoexcept

◆ operator++() [2/2]

template<typename Self>
auto ice::nvalue::operator++ ( this Self & self,
int  ) -> Self
constexprnoexcept

◆ operator+=()

template<typename Self>
auto ice::nvalue::operator+= ( this Self & self,
ice::concepts::NValueCompatibleType auto other ) -> Self &
inlineconstexprnoexcept

◆ operator-()

template<typename Self>
auto ice::nvalue::operator- ( this Self self,
ice::concepts::NValueCompatibleType auto other ) -> Self
inlineconstexprnoexcept

◆ operator--() [1/2]

template<typename Self>
auto ice::nvalue::operator-- ( this Self & self) -> Self &
constexprnoexcept

◆ operator--() [2/2]

template<typename Self>
auto ice::nvalue::operator-- ( this Self & self,
int  ) -> Self
constexprnoexcept

◆ operator-=()

template<typename Self>
auto ice::nvalue::operator-= ( this Self & self,
ice::concepts::NValueCompatibleType auto other ) -> Self &
inlineconstexprnoexcept

◆ operator/()

template<typename Self>
auto ice::nvalue::operator/ ( this Self self,
ice::concepts::NValueCompatibleType auto other ) -> Self
inlineconstexprnoexcept

◆ operator/=()

template<typename Self>
auto ice::nvalue::operator/= ( this Self & self,
ice::concepts::NValueCompatibleType auto other ) -> Self &
inlineconstexprnoexcept

◆ operator<=>()

template<typename Self>
auto ice::nvalue::operator<=> ( this Self self,
ice::concepts::NValueCompatibleType auto other ) -> std::strong_ordering
inlineconstexprnoexcept

◆ operator==()

template<typename Self>
bool ice::nvalue::operator== ( this Self self,
ice::concepts::NValueCompatibleType auto other )
inlineconstexprnoexcept

◆ u16()

auto ice::nvalue::u16 ( ) const
inlineconstexprnoexcept

◆ u32()

auto ice::nvalue::u32 ( ) const
inlineconstexprnoexcept

◆ u64()

auto ice::nvalue::u64 ( ) const
inlineconstexprnoexcept

◆ u8()

auto ice::nvalue::u8 ( ) const
inlineconstexprnoexcept

◆ value_or()

template<typename Self>
auto ice::nvalue::value_or ( this Self self,
ice::concepts::NValueCompatibleType auto fallback )
inlineconstexprnoexcept

Member Data Documentation

◆ ICE_NVALUE_VALUE_FIELD_BITS

ice::detail::nvalue_base_stype _value ice::nvalue::ICE_NVALUE_VALUE_FIELD_BITS

◆ ICE_NVALUE_WIDTH_FIELD_BITS

ice::detail::nvalue_base_utype _width ice::nvalue::ICE_NVALUE_WIDTH_FIELD_BITS

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