9 LargeInt::LargeInt(
const DWORD Lo,
const LONG Hi ) { Set( Lo, Hi ); }
10 LargeInt::LargeInt(
const LARGE_INTEGER& Val ) { _val.QuadPart = Val.QuadPart; }
12 LargeInt::LargeInt(
const FILETIME& Val ) { Set( Val.dwLowDateTime, Val.dwHighDateTime ); }
13 LargeInt::LargeInt(
const LUID& Val ) { Set( Val.LowPart, Val.HighPart ); }
14 LargeInt::LargeInt(
const LargeInt& Val ) { _val.QuadPart = Val._val.QuadPart; }
23 LargeInt::operator LARGE_INTEGER()
const {
return _val; }
24 LargeInt::operator ULARGE_INTEGER()
const {
return LITERAL( ULARGE_INTEGER, _val ); }
25 LargeInt::operator PLARGE_INTEGER()
const {
return (PLARGE_INTEGER)&_val; }
26 LargeInt::operator PULARGE_INTEGER()
const {
return (PULARGE_INTEGER)&_val; }
28 LargeInt::operator
INT64()
const {
return _val.QuadPart; }
29 LargeInt::operator INT32()
const {
return _val.LowPart; }
30 LargeInt::operator
UINT64()
const {
return (
UINT64)_val.QuadPart; }
31 LargeInt::operator UINT32()
const {
return (UINT32)_val.LowPart; }
37 LargeInt::operator LUID()
const 39 LUID luid = { _val.LowPart, _val.HighPart };
42 LargeInt::operator FILETIME()
const 44 FILETIME ft = { _val.LowPart, (
DWORD)_val.HighPart };
48 LargeInt& LargeInt::operator = (
const INT64 rhs ) { _val.QuadPart = rhs;
return *
this; }
49 LargeInt& LargeInt::operator = (
const LARGE_INTEGER& rhs ) { _val.QuadPart = rhs.QuadPart;
return *
this; }
51 LargeInt& LargeInt::operator = (
const LUID& rhs ) {
return Set( rhs.LowPart, rhs.HighPart ); }
52 LargeInt& LargeInt::operator = (
const FILETIME& rhs ) {
return Set( rhs.dwLowDateTime, rhs.dwHighDateTime ); }
54 LargeInt& LargeInt::operator += (
const INT64 rhs ) { _val.QuadPart += rhs;
return *
this; }
55 LargeInt& LargeInt::operator -= (
const INT64 rhs ) { _val.QuadPart -= rhs;
return *
this; }
56 LargeInt& LargeInt::operator *= (
const INT64 rhs ) { _val.QuadPart *= rhs;
return *
this; }
57 LargeInt& LargeInt::operator /= (
const INT64 rhs ) { _val.QuadPart /= rhs;
return *
this; }
58 LargeInt& LargeInt::operator %= (
const INT64 rhs ) { _val.QuadPart %= rhs;
return *
this; }
59 LargeInt& LargeInt::operator &= (
const INT64 rhs ) { _val.QuadPart &= rhs;
return *
this; }
60 LargeInt& LargeInt::operator |= (
const INT64 rhs ) { _val.QuadPart |= rhs;
return *
this; }
61 LargeInt& LargeInt::operator ^= (
const INT64 rhs ) { _val.QuadPart ^= rhs;
return *
this; }
63 LargeInt& LargeInt::operator += (
const LARGE_INTEGER& rhs ) { _val.QuadPart += rhs.QuadPart;
return *
this; }
64 LargeInt& LargeInt::operator -= (
const LARGE_INTEGER& rhs ) { _val.QuadPart -= rhs.QuadPart;
return *
this; }
65 LargeInt& LargeInt::operator *= (
const LARGE_INTEGER& rhs ) { _val.QuadPart *= rhs.QuadPart;
return *
this; }
66 LargeInt& LargeInt::operator /= (
const LARGE_INTEGER& rhs ) { _val.QuadPart /= rhs.QuadPart;
return *
this; }
67 LargeInt& LargeInt::operator %= (
const LARGE_INTEGER& rhs ) { _val.QuadPart %= rhs.QuadPart;
return *
this; }
68 LargeInt& LargeInt::operator &= (
const LARGE_INTEGER& rhs ) { _val.QuadPart &= rhs.QuadPart;
return *
this; }
69 LargeInt& LargeInt::operator |= (
const LARGE_INTEGER& rhs ) { _val.QuadPart |= rhs.QuadPart;
return *
this; }
70 LargeInt& LargeInt::operator ^= (
const LARGE_INTEGER& rhs ) { _val.QuadPart ^= rhs.QuadPart;
return *
this; }
72 LargeInt& LargeInt::operator >>= (
const BYTE rhs ) { _val.QuadPart >>= rhs;
return *
this; }
73 LargeInt& LargeInt::operator <<= (
const BYTE rhs ) { _val.QuadPart <<= rhs;
return *
this; }
77 LargeInt LargeInt::operator ++ () {
return ++_val.QuadPart; }
78 LargeInt LargeInt::operator -- () {
return --_val.QuadPart; }
79 LargeInt LargeInt::operator ++ (
int) {
return _val.QuadPart++; }
80 LargeInt LargeInt::operator -- (
int) {
return _val.QuadPart--; }
96 LargeInt LargeInt::operator + (
const LARGE_INTEGER& rhs )
const {
return LargeInt( _val.QuadPart + rhs.QuadPart ); }
97 LargeInt LargeInt::operator - (
const LARGE_INTEGER& rhs )
const {
return LargeInt( _val.QuadPart - rhs.QuadPart ); }
98 LargeInt LargeInt::operator * (
const LARGE_INTEGER& rhs )
const {
return LargeInt( _val.QuadPart * rhs.QuadPart ); }
99 LargeInt LargeInt::operator / (
const LARGE_INTEGER& rhs )
const {
return LargeInt( _val.QuadPart / rhs.QuadPart ); }
100 LargeInt LargeInt::operator % (
const LARGE_INTEGER& rhs )
const {
return LargeInt( _val.QuadPart % rhs.QuadPart ); }
101 LargeInt LargeInt::operator & (
const LARGE_INTEGER& rhs )
const {
return LargeInt( _val.QuadPart & rhs.QuadPart ); }
102 LargeInt LargeInt::operator | (
const LARGE_INTEGER& rhs )
const {
return LargeInt( _val.QuadPart | rhs.QuadPart ); }
103 LargeInt LargeInt::operator ^ (
const LARGE_INTEGER& rhs )
const {
return LargeInt( _val.QuadPart ^ rhs.QuadPart ); }
#define END_NAMESPACE(name)
#define BEGIN_NAMESPACE(name)