|
|
@@ -142,7 +142,7 @@ public:
|
|
|
|
|
|
__forceinline BitField& operator=(T val)
|
|
|
{
|
|
|
- storage = (storage & ~GetMask()) | (((StorageType)val << position) & GetMask());
|
|
|
+ Assign(val);
|
|
|
return *this;
|
|
|
}
|
|
|
|
|
|
@@ -151,6 +151,10 @@ public:
|
|
|
return Value();
|
|
|
}
|
|
|
|
|
|
+ __forceinline void Assign(const T& value) {
|
|
|
+ storage = (storage & ~GetMask()) | (((StorageType)value << position) & GetMask());
|
|
|
+ }
|
|
|
+
|
|
|
__forceinline T Value() const
|
|
|
{
|
|
|
if (std::numeric_limits<T>::is_signed)
|