template<typename FieldType, FieldWidth WIDTH>
FieldProxy struct

Public types

using ValueType = FieldType
using Traits = SIMDTraits<FieldType, WIDTH>
using VecType = typename Traits::VecType
using VecMask = FieldMask<FieldType, VecType, WIDTH>

Public static variables

static int32_t DirtyBit constexpr
static int32_t DirtiedFrameBit constexpr
static int32_t DirtyMask constexpr

Constructors, destructors, conversion operators

operator FieldType() const
operator VecType() const explicit

Public functions

auto Value() const -> FieldType
auto Bind(void* writeArray, void* flagsArray, uint32_t startIndex = 0, int32_t startCount = -1) -> FORCE_INLINE void
template<ProxyType<FieldType, VecType> T>
auto operator>(T threshold) const -> FORCE_INLINE VecMask
template<ProxyType<FieldType, VecType> T>
auto operator<(T threshold) const -> FORCE_INLINE VecMask
template<ProxyType<FieldType, VecType> T>
auto operator>=(T threshold) const -> FORCE_INLINE VecMask
template<ProxyType<FieldType, VecType> T>
auto operator<=(T threshold) const -> FORCE_INLINE VecMask
template<ProxyType<FieldType, VecType> T>
auto operator==(T threshold) const -> FORCE_INLINE VecMask
template<ProxyType<FieldType, VecType> T>
auto operator!=(T threshold) const -> FORCE_INLINE VecMask
template<ProxyType<FieldType, VecType> T>
auto operator=(T&& value) -> FORCE_INLINE FieldProxy&
template<ProxyType<FieldType, VecType> T>
auto operator=(T&& value) -> FORCE_INLINE FieldProxy&
template<ProxyType<FieldType, VecType> T>
auto operator+=(T&& value) -> FORCE_INLINE FieldProxy&
template<ProxyType<FieldType, VecType> T>
auto operator+=(T&& value) -> FORCE_INLINE FieldProxy&
template<ProxyType<FieldType, VecType> T>
auto operator-=(T&& value) -> FORCE_INLINE FieldProxy&
template<ProxyType<FieldType, VecType> T>
auto operator-=(T&& value) -> FORCE_INLINE FieldProxy&
template<ProxyType<FieldType, VecType> T>
auto operator*=(T&& value) -> FORCE_INLINE FieldProxy&
template<ProxyType<FieldType, VecType> T>
auto operator*=(T&& value) -> FORCE_INLINE FieldProxy&
template<ProxyType<FieldType, VecType> T>
auto operator/=(T&& value) -> FORCE_INLINE FieldProxy&
template<ProxyType<FieldType, VecType> T>
auto operator/=(T&& value) -> FORCE_INLINE FieldProxy&
auto MarkDirty() -> FORCE_INLINE void
auto Advance(uint32_t step) -> FORCE_INLINE void
auto operator-() const -> FORCE_INLINE decltype(auto)

Public variables

FieldType*__restrict WriteArray
int32_t*__restrict FlagsArray
uint32_t index

Friends

template<FieldProxy* Tag_ = nullptr, ProxyType<FieldType, VecType> L, ProxyType<FieldType, VecType> R>
auto operator*(L&& LHS, R&& RHS) -> FORCE_INLINE friend decltype(auto)
template<FieldProxy* Tag_ = nullptr, ProxyType<FieldType, VecType> L, ProxyType<FieldType, VecType> R>
auto operator+(L&& LHS, R&& RHS) -> FORCE_INLINE friend decltype(auto)
template<FieldProxy* Tag_ = nullptr, ProxyType<FieldType, VecType> L, ProxyType<FieldType, VecType> R>
auto operator-(L&& LHS, R&& RHS) -> FORCE_INLINE friend decltype(auto)
template<FieldProxy* Tag_ = nullptr, ProxyType<FieldType, VecType> L, ProxyType<FieldType, VecType> R>
auto operator/(L&& LHS, R&& RHS) -> FORCE_INLINE friend decltype(auto)