|
| | uint64_base (std::uint64_t val) |
| | Constructs from an unsigned 64-bit value.
|
| |
| | uint64_base (const derived_t &other) |
| | Copies a value from the derived wrapper type.
|
| |
| derived_t & | operator= (const derived_t &other) |
| | Assigns a value from the derived wrapper type.
|
| |
| | operator std::uint64_t () const |
| | Converts to the underlying unsigned integer.
|
| |
| derived_t | operator+ (const derived_t &other) const |
| | Adds two wrapped values.
|
| |
| derived_t | operator- (const derived_t &other) const |
| | Subtracts two wrapped values.
|
| |
| derived_t | operator* (const derived_t &other) const |
| | Multiplies two wrapped values.
|
| |
| derived_t | operator/ (const derived_t &other) const |
| | Divides two wrapped values.
|
| |
| derived_t | operator% (const derived_t &other) const |
| | Computes the remainder of two wrapped values.
|
| |
| derived_t & | operator+= (const derived_t &other) |
| | Adds and assigns.
|
| |
| derived_t & | operator-= (const derived_t &other) |
| | Subtracts and assigns.
|
| |
| derived_t & | operator*= (const derived_t &other) |
| | Multiplies and assigns.
|
| |
| derived_t & | operator/= (const derived_t &other) |
| | Divides and assigns.
|
| |
| derived_t & | operator%= (const derived_t &other) |
| | Computes a remainder and assigns.
|
| |
| derived_t & | operator++ () |
| | Increments the stored value.
|
| |
| derived_t | operator++ (int) |
| | Increments the stored value.
|
| |
| derived_t & | operator-- () |
| | Decrements the stored value.
|
| |
| derived_t | operator-- (int) |
| | Decrements the stored value.
|
| |
| bool | operator== (const derived_t &other) const |
| | Compares with a derived value for equality.
|
| |
| bool | operator== (uint64_base< derived_t > const &other) const |
| | Compares with a base value for equality.
|
| |
| bool | operator!= (const derived_t &other) const |
| | Compares with a derived value for inequality.
|
| |
| bool | operator!= (uint64_base< derived_t > const &other) const |
| | Compares with a base value for inequality.
|
| |
| bool | operator< (const derived_t &other) const |
| | Tests whether this value is less.
|
| |
| bool | operator> (const derived_t &other) const |
| | Tests whether this value is greater.
|
| |
| bool | operator<= (const derived_t &other) const |
| | Tests whether this value is less than or equal.
|
| |
| bool | operator>= (const derived_t &other) const |
| | Tests whether this value is greater than or equal.
|
| |
| derived_t | operator& (const derived_t &other) const |
| | Computes bitwise AND.
|
| |
| derived_t | operator| (const derived_t &other) const |
| | Computes bitwise OR.
|
| |
| derived_t | operator^ (const derived_t &other) const |
| | Computes bitwise exclusive OR.
|
| |
| derived_t | operator~ () const |
| | Computes bitwise complement.
|
| |
| derived_t | operator<< (int shift) const |
| | Shifts left.
|
| |
| derived_t | operator>> (int shift) const |
| | Shifts right.
|
| |
| derived_t & | operator&= (const derived_t &other) |
| | Computes bitwise AND and assigns.
|
| |
| derived_t & | operator|= (const derived_t &other) |
| | Computes bitwise OR and assigns.
|
| |
| derived_t & | operator^= (const derived_t &other) |
| | Computes bitwise exclusive OR and assigns.
|
| |
| derived_t & | operator<<= (int shift) |
| | Shifts left and assigns.
|
| |
| derived_t & | operator>>= (int shift) |
| | Shifts right and assigns.
|
| |
| std::uint64_t const & | serialize_interface () const |
| | Exposes the stored integer to serialization code.
|
| |
| std::uint64_t & | deserialize_interface () |
| | Exposes the stored integer to deserialization code.
|
| |
| auto | tie () const |
| | Returns the serialization fields as an immutable tuple.
|
| |
| auto | tie () |
| | Returns the serialization fields as a mutable tuple.
|
| |
template<typename derived_t>
class rpnx::uint64_base< derived_t >
CRTP base for strongly typed unsigned 64-bit integer wrappers.
Derived types inherit ordinary unsigned arithmetic, comparison, bitwise, and serialization operations while remaining distinct from one another. Arithmetic follows std::uint64_t modulo-2^64 semantics.
- Template Parameters
-
| derived_t | Complete wrapper type derived from this specialization. |