PatchDetour& operator=(PatchDetour&& other) { RemoveUnchecked(); process_ = other.process_; other.process_ = nullptr; applied_ = other.applied_; other.applied_ = false; target_ = other.target_; other.target_ = nullptr; detour_ = std::move(other.detour_); trampoline_ = std::move(other.trampoline_); stub_gate_ = std::move(other.stub_gate_); orig_ = std::move(other.orig_); trampolines_ = std::move(other.trampolines_); ref_count_ = other.ref_count_.load(); stub_ = other.stub_; other.stub_ = nullptr; context_ = std::move(other.context_); return *this; }
PatchFuncRva& operator=(PatchFuncRva&& other) { RemoveUnchecked(); process_ = other.process_; other.process_ = nullptr; applied_ = other.applied_; other.applied_ = false; base_ = other.base_; other.base_ = nullptr; target_ = other.target_; other.target_ = nullptr; detour_ = std::move(other.detour_); stub_gate_ = std::move(other.stub_gate_); orig_ = other.orig_; other.orig_ = 0; ref_count_ = other.ref_count_.load(); stub_ = other.stub_; other.stub_ = nullptr; context_ = std::move(other.context_); return *this; }
PatchIat& operator=(PatchIat&& other) { RemoveUnchecked(); process_ = other.process_; other.process_ = nullptr; module_ = std::move(other.module_); function_ = std::move(other.function_); detour_ = std::move(other.detour_); context_ = std::move(other.context_); eat_hook_ = std::move(other.eat_hook_); iat_hooks_ = std::move(other.iat_hooks_); return *this; }
virtual ~PatchFuncRva() { RemoveUnchecked(); }
~PatchIat() { RemoveUnchecked(); }
virtual ~PatchDetour() { RemoveUnchecked(); }
virtual ~PatchFuncPtr() { RemoveUnchecked(); }