uLib  User mode C/C++ extended API library for Win32 programmers.
uLib::LargeInt Class Reference

#include <uLib/LargeInt.h>

Detailed Description

LargeInt enables using LARGE_INTEGER as a fully integral type.

I got so fed up with the tedious LARGE_INTEGER that I wrote this wrapper to ease it's use.
It complies directly with INT64, LARGE_INTEGER, LUID, and FILETIME.
(If you come upon other 64bits-in-32bit-arch items I forgot, let me know...)

Definition at line 26 of file LargeInt.h.

Public Functions

 LargeInt (const INT64 Val=0)
 
 LargeInt (const DWORD Lo, const LONG Hi)
 
 LargeInt (const LARGE_INTEGER &Val)
 
 LargeInt (const FILETIME &Val)
 
 LargeInt (const LUID &Val)
 
 LargeInt (const LargeInt &Val)
 
LargeIntSet (DWORD Lo, LONG Hi)
 
 operator LARGE_INTEGER () const
 
 operator PLARGE_INTEGER () const
 
 operator ULARGE_INTEGER () const
 
 operator PULARGE_INTEGER () const
 
 operator INT64 () const
 
 operator INT32 () const
 
 operator UINT64 () const
 
 operator UINT32 () const
 
 operator LUID () const
 
 operator FILETIME () const
 
INT32 High ()
 
LargeIntoperator= (const INT64 rhs)
 
LargeIntoperator= (const LARGE_INTEGER &rhs)
 
LargeIntoperator= (const LUID &rhs)
 
LargeIntoperator= (const FILETIME &rhs)
 
LargeIntoperator+= (const INT64 rhs)
 
LargeIntoperator -= (const INT64 rhs)
 
LargeIntoperator *= (const INT64 rhs)
 
LargeIntoperator/= (const INT64 rhs)
 
LargeIntoperator %= (const INT64 rhs)
 
LargeIntoperator &= (const INT64 rhs)
 
LargeIntoperator|= (const INT64 rhs)
 
LargeIntoperator ^= (const INT64 rhs)
 
LargeIntoperator+= (const LARGE_INTEGER &rhs)
 
LargeIntoperator -= (const LARGE_INTEGER &rhs)
 
LargeIntoperator *= (const LARGE_INTEGER &rhs)
 
LargeIntoperator/= (const LARGE_INTEGER &rhs)
 
LargeIntoperator %= (const LARGE_INTEGER &rhs)
 
LargeIntoperator &= (const LARGE_INTEGER &rhs)
 
LargeIntoperator|= (const LARGE_INTEGER &rhs)
 
LargeIntoperator ^= (const LARGE_INTEGER &rhs)
 
LargeIntoperator >>= (const BYTE nbits)
 
LargeIntoperator<<= (const BYTE nbits)
 
LargeInt operator++ ()
 
LargeInt operator -- ()
 
LargeInt operator++ (int)
 
LargeInt operator -- (int)
 
LargeInt operator - () const
 
LargeInt operator+ (const INT64 rhs) const
 
LargeInt operator - (const INT64 rhs) const
 
LargeInt operator * (const INT64 rhs) const
 
LargeInt operator/ (const INT64 rhs) const
 
LargeInt operator % (const INT64 rhs) const
 
LargeInt operator & (const INT64 rhs) const
 
LargeInt operator| (const INT64 rhs) const
 
LargeInt operator ^ (const INT64 rhs) const
 
LargeInt operator >> (const BYTE nbits) const
 
LargeInt operator<< (const BYTE nbits) const
 
LargeInt operator+ (const LARGE_INTEGER &rhs) const
 
LargeInt operator - (const LARGE_INTEGER &rhs) const
 
LargeInt operator * (const LARGE_INTEGER &rhs) const
 
LargeInt operator/ (const LARGE_INTEGER &rhs) const
 
LargeInt operator % (const LARGE_INTEGER &rhs) const
 
LargeInt operator & (const LARGE_INTEGER &rhs) const
 
LargeInt operator| (const LARGE_INTEGER &rhs) const
 
LargeInt operator ^ (const LARGE_INTEGER &rhs) const
 

Constructor & Destructor Documentation

◆ LargeInt() [1/6]

uLib::LargeInt::LargeInt ( const INT64  Val = 0)

Definition at line 8 of file LargeInt.cpp.

◆ LargeInt() [2/6]

uLib::LargeInt::LargeInt ( const DWORD  Lo,
const LONG  Hi 
)

Definition at line 9 of file LargeInt.cpp.

◆ LargeInt() [3/6]

uLib::LargeInt::LargeInt ( const LARGE_INTEGER &  Val)

Definition at line 10 of file LargeInt.cpp.

◆ LargeInt() [4/6]

uLib::LargeInt::LargeInt ( const FILETIME &  Val)

Definition at line 12 of file LargeInt.cpp.

◆ LargeInt() [5/6]

uLib::LargeInt::LargeInt ( const LUID &  Val)

Definition at line 13 of file LargeInt.cpp.

◆ LargeInt() [6/6]

uLib::LargeInt::LargeInt ( const LargeInt Val)

Definition at line 14 of file LargeInt.cpp.

Member Function Documentation

◆ Set()

LargeInt & uLib::LargeInt::Set ( DWORD  Lo,
LONG  Hi 
)

Definition at line 16 of file LargeInt.cpp.

◆ operator LARGE_INTEGER()

uLib::LargeInt::operator LARGE_INTEGER ( ) const

Definition at line 23 of file LargeInt.cpp.

◆ operator PLARGE_INTEGER()

uLib::LargeInt::operator PLARGE_INTEGER ( ) const

Definition at line 25 of file LargeInt.cpp.

◆ operator ULARGE_INTEGER()

uLib::LargeInt::operator ULARGE_INTEGER ( ) const

Definition at line 24 of file LargeInt.cpp.

◆ operator PULARGE_INTEGER()

uLib::LargeInt::operator PULARGE_INTEGER ( ) const

Definition at line 26 of file LargeInt.cpp.

◆ operator INT64()

uLib::LargeInt::operator INT64 ( ) const

Definition at line 28 of file LargeInt.cpp.

◆ operator INT32()

uLib::LargeInt::operator INT32 ( ) const

Least significant 32 bits (i.e. LowPart).

Definition at line 29 of file LargeInt.cpp.

◆ operator UINT64()

uLib::LargeInt::operator UINT64 ( ) const

Definition at line 30 of file LargeInt.cpp.

◆ operator UINT32()

uLib::LargeInt::operator UINT32 ( ) const

Least significant 32 bits (i.e. LowPart).

Definition at line 31 of file LargeInt.cpp.

◆ operator LUID()

uLib::LargeInt::operator LUID ( ) const

Definition at line 37 of file LargeInt.cpp.

◆ operator FILETIME()

uLib::LargeInt::operator FILETIME ( ) const

Definition at line 42 of file LargeInt.cpp.

◆ High()

INT32 uLib::LargeInt::High ( )
inline

In the odd case you need the high part..

Definition at line 52 of file LargeInt.h.

◆ operator=() [1/4]

LargeInt & uLib::LargeInt::operator= ( const INT64  rhs)

Assign from a 64 bit integer.

Definition at line 48 of file LargeInt.cpp.

◆ operator=() [2/4]

LargeInt & uLib::LargeInt::operator= ( const LARGE_INTEGER &  rhs)

Assign from a LARGE_INTEGER struct.

Definition at line 49 of file LargeInt.cpp.

◆ operator=() [3/4]

LargeInt & uLib::LargeInt::operator= ( const LUID &  rhs)

Assign from a LUID struct.

Definition at line 51 of file LargeInt.cpp.

◆ operator=() [4/4]

LargeInt & uLib::LargeInt::operator= ( const FILETIME &  rhs)

Assign from a FILETIME struct.

Definition at line 52 of file LargeInt.cpp.

◆ operator+=() [1/2]

LargeInt & uLib::LargeInt::operator+= ( const INT64  rhs)

Definition at line 54 of file LargeInt.cpp.

◆ operator -=() [1/2]

LargeInt & uLib::LargeInt::operator -= ( const INT64  rhs)

Definition at line 55 of file LargeInt.cpp.

◆ operator *=() [1/2]

LargeInt & uLib::LargeInt::operator *= ( const INT64  rhs)

Definition at line 56 of file LargeInt.cpp.

◆ operator/=() [1/2]

LargeInt & uLib::LargeInt::operator/= ( const INT64  rhs)

Definition at line 57 of file LargeInt.cpp.

◆ operator %=() [1/2]

LargeInt & uLib::LargeInt::operator %= ( const INT64  rhs)

Definition at line 58 of file LargeInt.cpp.

◆ operator &=() [1/2]

LargeInt & uLib::LargeInt::operator &= ( const INT64  rhs)

Definition at line 59 of file LargeInt.cpp.

◆ operator|=() [1/2]

LargeInt & uLib::LargeInt::operator|= ( const INT64  rhs)

Definition at line 60 of file LargeInt.cpp.

◆ operator ^=() [1/2]

LargeInt & uLib::LargeInt::operator ^= ( const INT64  rhs)

Definition at line 61 of file LargeInt.cpp.

◆ operator+=() [2/2]

LargeInt & uLib::LargeInt::operator+= ( const LARGE_INTEGER &  rhs)

Definition at line 63 of file LargeInt.cpp.

◆ operator -=() [2/2]

LargeInt & uLib::LargeInt::operator -= ( const LARGE_INTEGER &  rhs)

Definition at line 64 of file LargeInt.cpp.

◆ operator *=() [2/2]

LargeInt & uLib::LargeInt::operator *= ( const LARGE_INTEGER &  rhs)

Definition at line 65 of file LargeInt.cpp.

◆ operator/=() [2/2]

LargeInt & uLib::LargeInt::operator/= ( const LARGE_INTEGER &  rhs)

Definition at line 66 of file LargeInt.cpp.

◆ operator %=() [2/2]

LargeInt & uLib::LargeInt::operator %= ( const LARGE_INTEGER &  rhs)

Definition at line 67 of file LargeInt.cpp.

◆ operator &=() [2/2]

LargeInt & uLib::LargeInt::operator &= ( const LARGE_INTEGER &  rhs)

Definition at line 68 of file LargeInt.cpp.

◆ operator|=() [2/2]

LargeInt & uLib::LargeInt::operator|= ( const LARGE_INTEGER &  rhs)

Definition at line 69 of file LargeInt.cpp.

◆ operator ^=() [2/2]

LargeInt & uLib::LargeInt::operator ^= ( const LARGE_INTEGER &  rhs)

Definition at line 70 of file LargeInt.cpp.

◆ operator >>=()

LargeInt & uLib::LargeInt::operator >>= ( const BYTE  nbits)

Shift QuadPart right.

Definition at line 72 of file LargeInt.cpp.

◆ operator<<=()

LargeInt & uLib::LargeInt::operator<<= ( const BYTE  nbits)

Shift QuadPart left.

Definition at line 73 of file LargeInt.cpp.

◆ operator++() [1/2]

LargeInt uLib::LargeInt::operator++ ( )

Pre-increment.

Definition at line 77 of file LargeInt.cpp.

◆ operator --() [1/2]

LargeInt uLib::LargeInt::operator -- ( )

Pre-decrement.

Definition at line 78 of file LargeInt.cpp.

◆ operator++() [2/2]

LargeInt uLib::LargeInt::operator++ ( int  )

Post-increment.

Definition at line 79 of file LargeInt.cpp.

◆ operator --() [2/2]

LargeInt uLib::LargeInt::operator -- ( int  )

Post-decrement.

Definition at line 80 of file LargeInt.cpp.

◆ operator -() [1/3]

LargeInt uLib::LargeInt::operator - ( ) const

Unary negation

Definition at line 82 of file LargeInt.cpp.

◆ operator+() [1/2]

LargeInt uLib::LargeInt::operator+ ( const INT64  rhs) const

Definition at line 84 of file LargeInt.cpp.

◆ operator -() [2/3]

LargeInt uLib::LargeInt::operator - ( const INT64  rhs) const

Definition at line 85 of file LargeInt.cpp.

◆ operator *() [1/2]

LargeInt uLib::LargeInt::operator * ( const INT64  rhs) const

Definition at line 86 of file LargeInt.cpp.

◆ operator/() [1/2]

LargeInt uLib::LargeInt::operator/ ( const INT64  rhs) const

Definition at line 87 of file LargeInt.cpp.

◆ operator %() [1/2]

LargeInt uLib::LargeInt::operator % ( const INT64  rhs) const

Definition at line 88 of file LargeInt.cpp.

◆ operator &() [1/2]

LargeInt uLib::LargeInt::operator & ( const INT64  rhs) const

Definition at line 89 of file LargeInt.cpp.

◆ operator|() [1/2]

LargeInt uLib::LargeInt::operator| ( const INT64  rhs) const

Definition at line 90 of file LargeInt.cpp.

◆ operator ^() [1/2]

LargeInt uLib::LargeInt::operator ^ ( const INT64  rhs) const

Definition at line 91 of file LargeInt.cpp.

◆ operator >>()

LargeInt uLib::LargeInt::operator >> ( const BYTE  nbits) const

Return QuadPart right-shifted.

Definition at line 93 of file LargeInt.cpp.

◆ operator<<()

LargeInt uLib::LargeInt::operator<< ( const BYTE  nbits) const

Return QuadPart left-shifted.

Definition at line 94 of file LargeInt.cpp.

◆ operator+() [2/2]

LargeInt uLib::LargeInt::operator+ ( const LARGE_INTEGER &  rhs) const

Definition at line 96 of file LargeInt.cpp.

◆ operator -() [3/3]

LargeInt uLib::LargeInt::operator - ( const LARGE_INTEGER &  rhs) const

Definition at line 97 of file LargeInt.cpp.

◆ operator *() [2/2]

LargeInt uLib::LargeInt::operator * ( const LARGE_INTEGER &  rhs) const

Definition at line 98 of file LargeInt.cpp.

◆ operator/() [2/2]

LargeInt uLib::LargeInt::operator/ ( const LARGE_INTEGER &  rhs) const

Definition at line 99 of file LargeInt.cpp.

◆ operator %() [2/2]

LargeInt uLib::LargeInt::operator % ( const LARGE_INTEGER &  rhs) const

Definition at line 100 of file LargeInt.cpp.

◆ operator &() [2/2]

LargeInt uLib::LargeInt::operator & ( const LARGE_INTEGER &  rhs) const

Definition at line 101 of file LargeInt.cpp.

◆ operator|() [2/2]

LargeInt uLib::LargeInt::operator| ( const LARGE_INTEGER &  rhs) const

Definition at line 102 of file LargeInt.cpp.

◆ operator ^() [2/2]

LargeInt uLib::LargeInt::operator ^ ( const LARGE_INTEGER &  rhs) const

Definition at line 103 of file LargeInt.cpp.


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