123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #pragma once
- namespace NLWTrace {
- struct TCheck {
- int Value;
- static int ObjCount;
- TCheck()
- : Value(0)
- {
- ObjCount++;
- }
- explicit TCheck(int value)
- : Value(value)
- {
- ObjCount++;
- }
- TCheck(const TCheck& o)
- : Value(o.Value)
- {
- ObjCount++;
- }
- ~TCheck() {
- ObjCount--;
- }
- bool operator<(const TCheck& rhs) const {
- return Value < rhs.Value;
- }
- bool operator>(const TCheck& rhs) const {
- return Value > rhs.Value;
- }
- bool operator<=(const TCheck& rhs) const {
- return Value <= rhs.Value;
- }
- bool operator>=(const TCheck& rhs) const {
- return Value >= rhs.Value;
- }
- bool operator==(const TCheck& rhs) const {
- return Value == rhs.Value;
- }
- bool operator!=(const TCheck& rhs) const {
- return Value != rhs.Value;
- }
- TCheck operator+(const TCheck& rhs) const {
- return TCheck(Value + rhs.Value);
- }
- TCheck operator-(const TCheck& rhs) const {
- return TCheck(Value - rhs.Value);
- }
- TCheck operator*(const TCheck& rhs) const {
- return TCheck(Value * rhs.Value);
- }
- TCheck operator/(const TCheck& rhs) const {
- return TCheck(Value / rhs.Value);
- }
- TCheck operator%(const TCheck& rhs) const {
- return TCheck(Value % rhs.Value);
- }
- void Add(const TCheck rhs) {
- Value += rhs.Value;
- }
- void Sub(const TCheck rhs) {
- Value -= rhs.Value;
- }
- void Inc() {
- ++Value;
- }
- void Dec() {
- --Value;
- }
- };
- }
|