pstore2
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
pstore::uint128 Class Reference

Public Member Functions

constexpr uint128 (std::nullptr_t) noexcept=delete
 
constexpr uint128 (std::uint64_t const high, std::uint64_t const low) noexcept
 
template<typename IntType , typename = typename std::enable_if<std::is_unsigned<IntType>::value>::type>
constexpr uint128 (IntType const v) noexcept
 Construct from an unsigned integer that's 64-bits wide or fewer.
 
constexpr uint128 (std::uint8_t const *const bytes) noexcept
 
 uint128 (std::array< std::uint8_t, 16 > const &bytes) noexcept
 
constexpr uint128 (uint128 const &)=default
 
constexpr uint128 (uint128 &&) noexcept=default
 
uint128operator= (uint128 const &)=default
 
uint128operator= (uint128 &&) noexcept=default
 
template<typename T >
constexpr bool operator== (T rhs) const noexcept
 
template<typename T >
constexpr bool operator!= (T rhs) const noexcept
 
constexpr std::uint64_t high () const noexcept
 
constexpr std::uint64_t low () const noexcept
 
uint128 operator- () const noexcept
 
constexpr bool operator! () const noexcept
 
uint128 operator~ () const noexcept
 
uint128operator++ () noexcept
 
uint128 operator++ (int) noexcept
 
uint128operator-- () noexcept
 
uint128 operator-- (int) noexcept
 
uint128operator+= (uint128 rhs) noexcept
 
uint128operator-= (uint128 const b) noexcept
 
template<typename T >
constexpr uint128 operator & (T rhs) const noexcept
 
template<typename T >
constexpr uint128 operator| (T rhs) const noexcept
 
template<typename T >
uint128 operator<< (T n) const noexcept
 
uint128operator>>= (unsigned n) noexcept
 
template<typename OutputIterator >
OutputIterator to_hex (OutputIterator out) const noexcept
 
std::string to_hex_string () const
 
template<>
constexpr bool operator== (uint128 const rhs) const noexcept
 
template<>
constexpr uint128 operator| (uint128 const rhs) const noexcept
 
template<typename Other >
uint128 operator<< (Other const n) const noexcept
 

Static Public Member Functions

static maybe< uint128from_hex_string (std::string const &str)
 

Static Public Attributes

static constexpr std::size_t hex_string_length = std::size_t{32}
 

Constructor & Destructor Documentation

◆ uint128()

constexpr pstore::uint128::uint128 ( std::uint8_t const *const  bytes)
inlineexplicitnoexcept
Parameters
bytesPoints to an array of 16 bytes whose contents represent a 128 bit value.

The documentation for this class was generated from the following files: