tess 1.0.0
Performance-first tile and path simulation substrate
Loading...
Searching...
No Matches
tess::UInt128 Struct Reference

Packed 128-bit key storage with a deliberately partial operator set. More...

#include <tess/core/uint128.h>

Public Member Functions

template<typename T>
requires std::unsigned_integral<T>
constexpr UInt128 (T value) noexcept
template<typename T>
requires std::signed_integral<T>
constexpr UInt128 (T value) noexcept
constexpr operator std::uint64_t () const noexcept
constexpr auto operator<<= (std::uint32_t count) noexcept -> UInt128 &
constexpr auto operator>>= (std::uint32_t count) noexcept -> UInt128 &

Static Public Member Functions

static constexpr auto from_parts (std::uint64_t high, std::uint64_t low) noexcept -> UInt128

Public Attributes

std::uint64_t hi = 0
std::uint64_t lo = 0

Friends

constexpr auto operator== (UInt128 lhs, UInt128 rhs) noexcept -> bool=default
constexpr auto operator<=> (UInt128 lhs, UInt128 rhs) noexcept -> std::strong_ordering=default
constexpr auto operator* (UInt128 lhs, UInt128 rhs) noexcept -> UInt128
constexpr auto operator- (UInt128 lhs, UInt128 rhs) noexcept -> UInt128
constexpr auto operator& (UInt128 lhs, UInt128 rhs) noexcept -> UInt128
constexpr auto operator| (UInt128 lhs, UInt128 rhs) noexcept -> UInt128
constexpr auto operator<< (UInt128 value, std::uint32_t count) noexcept -> UInt128
constexpr auto operator>> (UInt128 value, std::uint32_t count) noexcept -> UInt128

Detailed Description

Packed 128-bit key storage with a deliberately partial operator set.


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