template inline TrackedType __TRACKER_NAME::operator __TRACKER_OPERATOR (__TRACKER_RIGHTHAND_TYPE) { bool isNoop; switch (__TRACKER_NOOP) { case __TRACKER_NOOP_RIGHTHAND_EQUAL: isNoop = this->TrackedValue == __TRACKER_RIGHTHAND; break; case __TRACKER_NOOP_RIGHTHAND_ZERO: isNoop = __TRACKER_RIGHTHAND == 0; break; case __TRACKER_NOOP_RIGHTHAND_ONE: isNoop = __TRACKER_RIGHTHAND == 1; break; default: case __TRACKER_NEVER: isNoop = false; break; } if (!isNoop) { __TRACKER_GLOBAL_HOOK((uintptr_t)&this->TrackedValue); return (this->TrackedValue __TRACKER_OPERATOR __TRACKER_RIGHTHAND); } else { return this->TrackedValue; } }