CppCommon  1.0.4.1
C++ Common Library
Public Member Functions | Static Public Member Functions | Friends | List of all members
CppCommon::uint128_t Class Reference

Unsigned 128-bit integer type. More...

#include <uint128.h>

Public Member Functions

 uint128_t () noexcept
 
 uint128_t (int8_t value) noexcept
 
 uint128_t (uint8_t value) noexcept
 
 uint128_t (int16_t value) noexcept
 
 uint128_t (uint16_t value) noexcept
 
 uint128_t (int32_t value) noexcept
 
 uint128_t (uint32_t value) noexcept
 
 uint128_t (int64_t value) noexcept
 
 uint128_t (uint64_t value) noexcept
 
template<typename T >
 uint128_t (const T &value) noexcept
 
template<typename TUpper , typename TLower >
 uint128_t (const TUpper &upper, const TLower &lower) noexcept
 
 uint128_t (const uint128_t &value) noexcept=default
 
 uint128_t (uint128_t &&value) noexcept=default
 
 ~uint128_t () noexcept=default
 
template<typename T >
uint128_toperator= (const T &value) noexcept
 
uint128_toperator= (const uint128_t &value) noexcept=default
 
uint128_toperator= (uint128_t &&value) noexcept=default
 
uint128_t operator+ () const noexcept
 
uint128_t operator- () const noexcept
 
uint128_toperator++ () noexcept
 
uint128_t operator++ (int) noexcept
 
uint128_toperator-- () noexcept
 
uint128_t operator-- (int) noexcept
 
uint128_toperator+= (const uint128_t &value) noexcept
 
uint128_toperator-= (const uint128_t &value) noexcept
 
uint128_toperator*= (const uint128_t &value) noexcept
 
uint128_toperator/= (const uint128_t &value)
 
uint128_toperator%= (const uint128_t &value)
 
template<typename T >
uint128_toperator+= (const T &value) noexcept
 
template<typename T >
uint128_toperator-= (const T &value) noexcept
 
template<typename T >
uint128_toperator*= (const T &value) noexcept
 
template<typename T >
uint128_toperator/= (const T &value)
 
template<typename T >
uint128_toperator%= (const T &value)
 
uint128_t operator~ () const noexcept
 
uint128_toperator&= (const uint128_t &value) noexcept
 
uint128_toperator|= (const uint128_t &value) noexcept
 
uint128_toperator^= (const uint128_t &value) noexcept
 
template<typename T >
uint128_toperator&= (const T &value) noexcept
 
template<typename T >
uint128_toperator|= (const T &value) noexcept
 
template<typename T >
uint128_toperator^= (const T &value) noexcept
 
bool operator! () const noexcept
 
uint128_toperator<<= (const uint128_t &value) noexcept
 
uint128_toperator>>= (const uint128_t &value) noexcept
 
template<typename T >
uint128_toperator<<= (const T &value) noexcept
 
template<typename T >
uint128_toperator>>= (const T &value) noexcept
 
 operator bool () const noexcept
 
 operator uint8_t () const noexcept
 
 operator uint16_t () const noexcept
 
 operator uint32_t () const noexcept
 
 operator uint64_t () const noexcept
 
uint64_t upper () const noexcept
 Get the upper part of the 128-bit integer. More...
 
uint64_t lower () const noexcept
 Get the lower part of the 128-bit integer. More...
 
size_t bits () const noexcept
 Get the count of bits. More...
 
std::string string (size_t base=10, size_t length=0) const
 Get string from the current 128-bit integer. More...
 
std::wstring wstring (size_t base=10, size_t length=0) const
 Get wide string from the current 128-bit integer. More...
 
void swap (uint128_t &value) noexcept
 Swap two instances. More...
 

Static Public Member Functions

static std::pair< uint128_t, uint128_tdivmod (const uint128_t &x, const uint128_t &y)
 Calculate quotient and remainder when dividing X by Y. More...
 

Friends

template<typename T >
T & operator+= (T &value1, const uint128_t &value2) noexcept
 
template<typename T >
T & operator-= (T &value1, const uint128_t &value2) noexcept
 
template<typename T >
T & operator*= (T &value1, const uint128_t &value2) noexcept
 
template<typename T >
T & operator/= (T &value1, const uint128_t &value2)
 
template<typename T >
T & operator%= (T &value1, const uint128_t &value2)
 
template<typename T >
uint128_t operator+ (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator+ (const uint128_t &value1, const T &value2) noexcept
 
uint128_t operator+ (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator- (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator- (const uint128_t &value1, const T &value2) noexcept
 
uint128_t operator- (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator* (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator* (const uint128_t &value1, const T &value2) noexcept
 
uint128_t operator* (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator/ (const T &value1, const uint128_t &value2)
 
template<typename T >
uint128_t operator/ (const uint128_t &value1, const T &value2)
 
uint128_t operator/ (const uint128_t &value1, const uint128_t &value2)
 
template<typename T >
uint128_t operator% (const T &value1, const uint128_t &value2)
 
template<typename T >
uint128_t operator% (const uint128_t &value1, const T &value2)
 
uint128_t operator% (const uint128_t &value1, const uint128_t &value2)
 
template<typename T >
T & operator&= (T &value1, const uint128_t &value2) noexcept
 
template<typename T >
T & operator|= (T &value1, const uint128_t &value2) noexcept
 
template<typename T >
T & operator^= (T &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator& (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator& (const uint128_t &value1, const T &value2) noexcept
 
uint128_t operator& (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator| (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator| (const uint128_t &value1, const T &value2) noexcept
 
uint128_t operator| (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator^ (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator^ (const uint128_t &value1, const T &value2) noexcept
 
uint128_t operator^ (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator== (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator== (const uint128_t &value1, const T &value2) noexcept
 
bool operator== (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator!= (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator!= (const uint128_t &value1, const T &value2) noexcept
 
bool operator!= (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator< (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator< (const uint128_t &value1, const T &value2) noexcept
 
bool operator< (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator> (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator> (const uint128_t &value1, const T &value2) noexcept
 
bool operator> (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator<= (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator<= (const uint128_t &value1, const T &value2) noexcept
 
bool operator<= (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator>= (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator>= (const uint128_t &value1, const T &value2) noexcept
 
bool operator>= (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator&& (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator&& (const uint128_t &value1, const T &value2) noexcept
 
bool operator&& (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator|| (const T &value1, const uint128_t &value2) noexcept
 
template<typename T >
bool operator|| (const uint128_t &value1, const T &value2) noexcept
 
bool operator|| (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
T & operator<<= (T &value1, const uint128_t &value2) noexcept
 
template<typename T >
T & operator>>= (T &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator<< (const uint128_t &value1, const T &value2) noexcept
 
uint128_t operator<< (bool value1, const uint128_t &value2) noexcept
 
uint128_t operator<< (int8_t value1, const uint128_t &value2) noexcept
 
uint128_t operator<< (int16_t value1, const uint128_t &value2) noexcept
 
uint128_t operator<< (int32_t value1, const uint128_t &value2) noexcept
 
uint128_t operator<< (int64_t value1, const uint128_t &value2) noexcept
 
uint128_t operator<< (uint8_t value1, const uint128_t &value2) noexcept
 
uint128_t operator<< (uint16_t value1, const uint128_t &value2) noexcept
 
uint128_t operator<< (uint32_t value1, const uint128_t &value2) noexcept
 
uint128_t operator<< (uint64_t value1, const uint128_t &value2) noexcept
 
uint128_t operator<< (const uint128_t &value1, const uint128_t &value2) noexcept
 
template<typename T >
uint128_t operator>> (const uint128_t &value1, const T &value2) noexcept
 
uint128_t operator>> (bool value1, const uint128_t &value2) noexcept
 
uint128_t operator>> (int8_t value1, const uint128_t &value2) noexcept
 
uint128_t operator>> (int16_t value1, const uint128_t &value2) noexcept
 
uint128_t operator>> (int32_t value1, const uint128_t &value2) noexcept
 
uint128_t operator>> (int64_t value1, const uint128_t &value2) noexcept
 
uint128_t operator>> (uint8_t value1, const uint128_t &value2) noexcept
 
uint128_t operator>> (uint16_t value1, const uint128_t &value2) noexcept
 
uint128_t operator>> (uint32_t value1, const uint128_t &value2) noexcept
 
uint128_t operator>> (uint64_t value1, const uint128_t &value2) noexcept
 
uint128_t operator>> (const uint128_t &value1, const uint128_t &value2) noexcept
 
std::istream & operator>> (std::istream &is, uint128_t &value)
 Input instance from the given input stream. More...
 
std::wistream & operator>> (std::wistream &is, uint128_t &value)
 Input instance from the given wide input stream. More...
 
std::ostream & operator<< (std::ostream &os, const uint128_t &value)
 Output instance into the given output stream. More...
 
std::wostream & operator<< (std::wostream &os, const uint128_t &value)
 Output instance into the given wide output stream. More...
 
void swap (uint128_t &value1, uint128_t &value2) noexcept
 

Detailed Description

Unsigned 128-bit integer type.

Represents unsigned 128-bit integer type and provides basic arithmetic operations.

Examples
common_uint128.cpp.

Definition at line 27 of file uint128.h.

Constructor & Destructor Documentation

◆ uint128_t() [1/13]

CppCommon::uint128_t::uint128_t ( )
inlinenoexcept

Definition at line 11 of file uint128.inl.

◆ uint128_t() [2/13]

CppCommon::uint128_t::uint128_t ( int8_t  value)
inlinenoexcept

Definition at line 16 of file uint128.inl.

◆ uint128_t() [3/13]

CppCommon::uint128_t::uint128_t ( uint8_t  value)
inlinenoexcept

Definition at line 21 of file uint128.inl.

◆ uint128_t() [4/13]

CppCommon::uint128_t::uint128_t ( int16_t  value)
inlinenoexcept

Definition at line 26 of file uint128.inl.

◆ uint128_t() [5/13]

CppCommon::uint128_t::uint128_t ( uint16_t  value)
inlinenoexcept

Definition at line 31 of file uint128.inl.

◆ uint128_t() [6/13]

CppCommon::uint128_t::uint128_t ( int32_t  value)
inlinenoexcept

Definition at line 36 of file uint128.inl.

◆ uint128_t() [7/13]

CppCommon::uint128_t::uint128_t ( uint32_t  value)
inlinenoexcept

Definition at line 41 of file uint128.inl.

◆ uint128_t() [8/13]

CppCommon::uint128_t::uint128_t ( int64_t  value)
inlinenoexcept

Definition at line 46 of file uint128.inl.

◆ uint128_t() [9/13]

CppCommon::uint128_t::uint128_t ( uint64_t  value)
inlinenoexcept

Definition at line 51 of file uint128.inl.

◆ uint128_t() [10/13]

template<typename T >
CppCommon::uint128_t::uint128_t ( const T &  value)
inlineexplicitnoexcept

Definition at line 57 of file uint128.inl.

◆ uint128_t() [11/13]

template<typename TUpper , typename TLower >
CppCommon::uint128_t::uint128_t ( const TUpper &  upper,
const TLower &  lower 
)
inlinenoexcept

Definition at line 64 of file uint128.inl.

◆ uint128_t() [12/13]

CppCommon::uint128_t::uint128_t ( const uint128_t value)
defaultnoexcept

◆ uint128_t() [13/13]

CppCommon::uint128_t::uint128_t ( uint128_t &&  value)
defaultnoexcept

◆ ~uint128_t()

CppCommon::uint128_t::~uint128_t ( )
defaultnoexcept

Member Function Documentation

◆ bits()

size_t CppCommon::uint128_t::bits ( ) const
noexcept

Get the count of bits.

Definition at line 94 of file uint128.cpp.

◆ divmod()

std::pair< uint128_t, uint128_t > CppCommon::uint128_t::divmod ( const uint128_t x,
const uint128_t y 
)
static

Calculate quotient and remainder when dividing X by Y.

Parameters
x- X value
y- Y value
Returns
Quotient and remainder pair

Definition at line 171 of file uint128.cpp.

◆ lower()

uint64_t CppCommon::uint128_t::lower ( ) const
inlinenoexcept

Get the lower part of the 128-bit integer.

Definition at line 260 of file uint128.h.

◆ operator bool()

CppCommon::uint128_t::operator bool ( ) const
inlinenoexcept

Definition at line 251 of file uint128.h.

◆ operator uint16_t()

CppCommon::uint128_t::operator uint16_t ( ) const
inlinenoexcept

Definition at line 253 of file uint128.h.

◆ operator uint32_t()

CppCommon::uint128_t::operator uint32_t ( ) const
inlinenoexcept

Definition at line 254 of file uint128.h.

◆ operator uint64_t()

CppCommon::uint128_t::operator uint64_t ( ) const
inlinenoexcept

Definition at line 255 of file uint128.h.

◆ operator uint8_t()

CppCommon::uint128_t::operator uint8_t ( ) const
inlinenoexcept

Definition at line 252 of file uint128.h.

◆ operator!()

bool CppCommon::uint128_t::operator! ( ) const
inlinenoexcept

Definition at line 196 of file uint128.h.

◆ operator%=() [1/2]

template<typename T >
uint128_t& CppCommon::uint128_t::operator%= ( const T &  value)
inline

Definition at line 76 of file uint128.h.

◆ operator%=() [2/2]

uint128_t& CppCommon::uint128_t::operator%= ( const uint128_t value)
inline

Definition at line 65 of file uint128.h.

◆ operator&=() [1/2]

template<typename T >
uint128_t& CppCommon::uint128_t::operator&= ( const T &  value)
inlinenoexcept

Definition at line 127 of file uint128.h.

◆ operator&=() [2/2]

uint128_t& CppCommon::uint128_t::operator&= ( const uint128_t value)
inlinenoexcept

Definition at line 122 of file uint128.h.

◆ operator*=() [1/2]

template<typename T >
uint128_t& CppCommon::uint128_t::operator*= ( const T &  value)
inlinenoexcept

Definition at line 72 of file uint128.h.

◆ operator*=() [2/2]

uint128_t& CppCommon::uint128_t::operator*= ( const uint128_t value)
inlinenoexcept

Definition at line 63 of file uint128.h.

◆ operator+()

uint128_t CppCommon::uint128_t::operator+ ( ) const
inlinenoexcept

Definition at line 53 of file uint128.h.

◆ operator++() [1/2]

uint128_t& CppCommon::uint128_t::operator++ ( )
inlinenoexcept

Definition at line 56 of file uint128.h.

◆ operator++() [2/2]

uint128_t CppCommon::uint128_t::operator++ ( int  )
inlinenoexcept

Definition at line 57 of file uint128.h.

◆ operator+=() [1/2]

template<typename T >
uint128_t& CppCommon::uint128_t::operator+= ( const T &  value)
inlinenoexcept

Definition at line 68 of file uint128.h.

◆ operator+=() [2/2]

uint128_t& CppCommon::uint128_t::operator+= ( const uint128_t value)
inlinenoexcept

Definition at line 61 of file uint128.h.

◆ operator-()

uint128_t CppCommon::uint128_t::operator- ( ) const
inlinenoexcept

Definition at line 54 of file uint128.h.

◆ operator--() [1/2]

uint128_t& CppCommon::uint128_t::operator-- ( )
inlinenoexcept

Definition at line 58 of file uint128.h.

◆ operator--() [2/2]

uint128_t CppCommon::uint128_t::operator-- ( int  )
inlinenoexcept

Definition at line 59 of file uint128.h.

◆ operator-=() [1/2]

template<typename T >
uint128_t& CppCommon::uint128_t::operator-= ( const T &  value)
inlinenoexcept

Definition at line 70 of file uint128.h.

◆ operator-=() [2/2]

uint128_t& CppCommon::uint128_t::operator-= ( const uint128_t value)
inlinenoexcept

Definition at line 62 of file uint128.h.

◆ operator/=() [1/2]

template<typename T >
uint128_t& CppCommon::uint128_t::operator/= ( const T &  value)
inline

Definition at line 74 of file uint128.h.

◆ operator/=() [2/2]

uint128_t& CppCommon::uint128_t::operator/= ( const uint128_t value)
inline

Definition at line 64 of file uint128.h.

◆ operator<<=() [1/2]

template<typename T >
uint128_t& CppCommon::uint128_t::operator<<= ( const T &  value)
inlinenoexcept

Definition at line 215 of file uint128.h.

◆ operator<<=() [2/2]

uint128_t& CppCommon::uint128_t::operator<<= ( const uint128_t value)
inlinenoexcept

Definition at line 211 of file uint128.h.

◆ operator=() [1/3]

template<typename T >
uint128_t & CppCommon::uint128_t::operator= ( const T &  value)
inlinenoexcept

Definition at line 71 of file uint128.inl.

◆ operator=() [2/3]

uint128_t& CppCommon::uint128_t::operator= ( const uint128_t value)
defaultnoexcept

◆ operator=() [3/3]

uint128_t& CppCommon::uint128_t::operator= ( uint128_t &&  value)
defaultnoexcept

◆ operator>>=() [1/2]

template<typename T >
uint128_t& CppCommon::uint128_t::operator>>= ( const T &  value)
inlinenoexcept

Definition at line 217 of file uint128.h.

◆ operator>>=() [2/2]

uint128_t& CppCommon::uint128_t::operator>>= ( const uint128_t value)
inlinenoexcept

Definition at line 212 of file uint128.h.

◆ operator^=() [1/2]

template<typename T >
uint128_t& CppCommon::uint128_t::operator^= ( const T &  value)
inlinenoexcept

Definition at line 131 of file uint128.h.

◆ operator^=() [2/2]

uint128_t& CppCommon::uint128_t::operator^= ( const uint128_t value)
inlinenoexcept

Definition at line 124 of file uint128.h.

◆ operator|=() [1/2]

template<typename T >
uint128_t& CppCommon::uint128_t::operator|= ( const T &  value)
inlinenoexcept

Definition at line 129 of file uint128.h.

◆ operator|=() [2/2]

uint128_t& CppCommon::uint128_t::operator|= ( const uint128_t value)
inlinenoexcept

Definition at line 123 of file uint128.h.

◆ operator~()

uint128_t CppCommon::uint128_t::operator~ ( ) const
inlinenoexcept

Definition at line 120 of file uint128.h.

◆ string()

std::string CppCommon::uint128_t::string ( size_t  base = 10,
size_t  length = 0 
) const

Get string from the current 128-bit integer.

Parameters
base- Conversion base in range [2, 16] (default is 10)
length- Minimal string length (default is 0)
Returns
Result string

Definition at line 121 of file uint128.cpp.

◆ swap()

void CppCommon::uint128_t::swap ( uint128_t value)
inlinenoexcept

Swap two instances.

Definition at line 177 of file uint128.inl.

◆ upper()

uint64_t CppCommon::uint128_t::upper ( ) const
inlinenoexcept

Get the upper part of the 128-bit integer.

Definition at line 258 of file uint128.h.

◆ wstring()

std::wstring CppCommon::uint128_t::wstring ( size_t  base = 10,
size_t  length = 0 
) const

Get wide string from the current 128-bit integer.

Parameters
base- Conversion base in range [2, 16] (default is 10)
length- Minimal string length (default is 0)
Returns
Result wide string

Definition at line 146 of file uint128.cpp.

Friends And Related Function Documentation

◆ operator!= [1/3]

template<typename T >
bool operator!= ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 166 of file uint128.h.

◆ operator!= [2/3]

template<typename T >
bool operator!= ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 168 of file uint128.h.

◆ operator!= [3/3]

bool operator!= ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 120 of file uint128.inl.

◆ operator% [1/3]

template<typename T >
uint128_t operator% ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 114 of file uint128.h.

◆ operator% [2/3]

template<typename T >
uint128_t operator% ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 116 of file uint128.h.

◆ operator% [3/3]

uint128_t operator% ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 95 of file uint128.inl.

◆ operator%=

template<typename T >
T& operator%= ( T &  value1,
const uint128_t value2 
)
friend

Definition at line 87 of file uint128.h.

◆ operator& [1/3]

template<typename T >
uint128_t operator& ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 141 of file uint128.h.

◆ operator& [2/3]

template<typename T >
uint128_t operator& ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 143 of file uint128.h.

◆ operator& [3/3]

uint128_t operator& ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 100 of file uint128.inl.

◆ operator&& [1/3]

template<typename T >
bool operator&& ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 199 of file uint128.h.

◆ operator&& [2/3]

template<typename T >
bool operator&& ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 201 of file uint128.h.

◆ operator&& [3/3]

bool operator&& ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 145 of file uint128.inl.

◆ operator&=

template<typename T >
T& operator&= ( T &  value1,
const uint128_t value2 
)
friend

Definition at line 134 of file uint128.h.

◆ operator* [1/3]

template<typename T >
uint128_t operator* ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 102 of file uint128.h.

◆ operator* [2/3]

template<typename T >
uint128_t operator* ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 104 of file uint128.h.

◆ operator* [3/3]

uint128_t operator* ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 13 of file uint128.cpp.

◆ operator*=

template<typename T >
T& operator*= ( T &  value1,
const uint128_t value2 
)
friend

Definition at line 83 of file uint128.h.

◆ operator+ [1/3]

template<typename T >
uint128_t operator+ ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 90 of file uint128.h.

◆ operator+ [2/3]

template<typename T >
uint128_t operator+ ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 92 of file uint128.h.

◆ operator+ [3/3]

uint128_t operator+ ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 80 of file uint128.inl.

◆ operator+=

template<typename T >
T& operator+= ( T &  value1,
const uint128_t value2 
)
friend

Definition at line 79 of file uint128.h.

◆ operator- [1/3]

template<typename T >
uint128_t operator- ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 96 of file uint128.h.

◆ operator- [2/3]

template<typename T >
uint128_t operator- ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 98 of file uint128.h.

◆ operator- [3/3]

uint128_t operator- ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 85 of file uint128.inl.

◆ operator-=

template<typename T >
T& operator-= ( T &  value1,
const uint128_t value2 
)
friend

Definition at line 81 of file uint128.h.

◆ operator/ [1/3]

template<typename T >
uint128_t operator/ ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 108 of file uint128.h.

◆ operator/ [2/3]

template<typename T >
uint128_t operator/ ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 110 of file uint128.h.

◆ operator/ [3/3]

uint128_t operator/ ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 90 of file uint128.inl.

◆ operator/=

template<typename T >
T& operator/= ( T &  value1,
const uint128_t value2 
)
friend

Definition at line 85 of file uint128.h.

◆ operator< [1/3]

template<typename T >
bool operator< ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 172 of file uint128.h.

◆ operator< [2/3]

template<typename T >
bool operator< ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 174 of file uint128.h.

◆ operator< [3/3]

bool operator< ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 125 of file uint128.inl.

◆ operator<< [1/13]

uint128_t operator<< ( bool  value1,
const uint128_t value2 
)
friend

Definition at line 226 of file uint128.h.

◆ operator<< [2/13]

template<typename T >
uint128_t operator<< ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 225 of file uint128.h.

◆ operator<< [3/13]

uint128_t operator<< ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 58 of file uint128.cpp.

◆ operator<< [4/13]

uint128_t operator<< ( int16_t  value1,
const uint128_t value2 
)
friend

Definition at line 228 of file uint128.h.

◆ operator<< [5/13]

uint128_t operator<< ( int32_t  value1,
const uint128_t value2 
)
friend

Definition at line 229 of file uint128.h.

◆ operator<< [6/13]

uint128_t operator<< ( int64_t  value1,
const uint128_t value2 
)
friend

Definition at line 230 of file uint128.h.

◆ operator<< [7/13]

uint128_t operator<< ( int8_t  value1,
const uint128_t value2 
)
friend

Definition at line 227 of file uint128.h.

◆ operator<< [8/13]

std::ostream& operator<< ( std::ostream &  os,
const uint128_t value 
)
friend

Output instance into the given output stream.

Definition at line 155 of file uint128.inl.

◆ operator<< [9/13]

std::wostream& operator<< ( std::wostream &  os,
const uint128_t value 
)
friend

Output instance into the given wide output stream.

Definition at line 166 of file uint128.inl.

◆ operator<< [10/13]

uint128_t operator<< ( uint16_t  value1,
const uint128_t value2 
)
friend

Definition at line 232 of file uint128.h.

◆ operator<< [11/13]

uint128_t operator<< ( uint32_t  value1,
const uint128_t value2 
)
friend

Definition at line 233 of file uint128.h.

◆ operator<< [12/13]

uint128_t operator<< ( uint64_t  value1,
const uint128_t value2 
)
friend

Definition at line 234 of file uint128.h.

◆ operator<< [13/13]

uint128_t operator<< ( uint8_t  value1,
const uint128_t value2 
)
friend

Definition at line 231 of file uint128.h.

◆ operator<<=

template<typename T >
T& operator<<= ( T &  value1,
const uint128_t value2 
)
friend

Definition at line 220 of file uint128.h.

◆ operator<= [1/3]

template<typename T >
bool operator<= ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 184 of file uint128.h.

◆ operator<= [2/3]

template<typename T >
bool operator<= ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 186 of file uint128.h.

◆ operator<= [3/3]

bool operator<= ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 135 of file uint128.inl.

◆ operator== [1/3]

template<typename T >
bool operator== ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 160 of file uint128.h.

◆ operator== [2/3]

template<typename T >
bool operator== ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 162 of file uint128.h.

◆ operator== [3/3]

bool operator== ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 115 of file uint128.inl.

◆ operator> [1/3]

template<typename T >
bool operator> ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 178 of file uint128.h.

◆ operator> [2/3]

template<typename T >
bool operator> ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 180 of file uint128.h.

◆ operator> [3/3]

bool operator> ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 130 of file uint128.inl.

◆ operator>= [1/3]

template<typename T >
bool operator>= ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 190 of file uint128.h.

◆ operator>= [2/3]

template<typename T >
bool operator>= ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 192 of file uint128.h.

◆ operator>= [3/3]

bool operator>= ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 140 of file uint128.inl.

◆ operator>> [1/13]

uint128_t operator>> ( bool  value1,
const uint128_t value2 
)
friend

Definition at line 239 of file uint128.h.

◆ operator>> [2/13]

template<typename T >
uint128_t operator>> ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 238 of file uint128.h.

◆ operator>> [3/13]

uint128_t operator>> ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 76 of file uint128.cpp.

◆ operator>> [4/13]

uint128_t operator>> ( int16_t  value1,
const uint128_t value2 
)
friend

Definition at line 241 of file uint128.h.

◆ operator>> [5/13]

uint128_t operator>> ( int32_t  value1,
const uint128_t value2 
)
friend

Definition at line 242 of file uint128.h.

◆ operator>> [6/13]

uint128_t operator>> ( int64_t  value1,
const uint128_t value2 
)
friend

Definition at line 243 of file uint128.h.

◆ operator>> [7/13]

uint128_t operator>> ( int8_t  value1,
const uint128_t value2 
)
friend

Definition at line 240 of file uint128.h.

◆ operator>> [8/13]

std::istream& operator>> ( std::istream &  is,
uint128_t value 
)
friend

Input instance from the given input stream.

Definition at line 289 of file uint128.h.

◆ operator>> [9/13]

std::wistream& operator>> ( std::wistream &  is,
uint128_t value 
)
friend

Input instance from the given wide input stream.

Definition at line 292 of file uint128.h.

◆ operator>> [10/13]

uint128_t operator>> ( uint16_t  value1,
const uint128_t value2 
)
friend

Definition at line 245 of file uint128.h.

◆ operator>> [11/13]

uint128_t operator>> ( uint32_t  value1,
const uint128_t value2 
)
friend

Definition at line 246 of file uint128.h.

◆ operator>> [12/13]

uint128_t operator>> ( uint64_t  value1,
const uint128_t value2 
)
friend

Definition at line 247 of file uint128.h.

◆ operator>> [13/13]

uint128_t operator>> ( uint8_t  value1,
const uint128_t value2 
)
friend

Definition at line 244 of file uint128.h.

◆ operator>>=

template<typename T >
T& operator>>= ( T &  value1,
const uint128_t value2 
)
friend

Definition at line 222 of file uint128.h.

◆ operator^ [1/3]

template<typename T >
uint128_t operator^ ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 153 of file uint128.h.

◆ operator^ [2/3]

template<typename T >
uint128_t operator^ ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 155 of file uint128.h.

◆ operator^ [3/3]

uint128_t operator^ ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 110 of file uint128.inl.

◆ operator^=

template<typename T >
T& operator^= ( T &  value1,
const uint128_t value2 
)
friend

Definition at line 138 of file uint128.h.

◆ operator| [1/3]

template<typename T >
uint128_t operator| ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 147 of file uint128.h.

◆ operator| [2/3]

template<typename T >
uint128_t operator| ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 149 of file uint128.h.

◆ operator| [3/3]

uint128_t operator| ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 105 of file uint128.inl.

◆ operator|=

template<typename T >
T& operator|= ( T &  value1,
const uint128_t value2 
)
friend

Definition at line 136 of file uint128.h.

◆ operator|| [1/3]

template<typename T >
bool operator|| ( const T &  value1,
const uint128_t value2 
)
friend

Definition at line 205 of file uint128.h.

◆ operator|| [2/3]

template<typename T >
bool operator|| ( const uint128_t value1,
const T &  value2 
)
friend

Definition at line 207 of file uint128.h.

◆ operator|| [3/3]

bool operator|| ( const uint128_t value1,
const uint128_t value2 
)
friend

Definition at line 150 of file uint128.inl.

◆ swap

void swap ( uint128_t value1,
uint128_t value2 
)
friend

Definition at line 184 of file uint128.inl.


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