cs2-dumper/include/base/safe_handle.hpp

23 lines
469 B
C++
Raw Normal View History

2023-09-08 15:59:09 +08:00
#pragma once
#define _AMD64_
#include <memory>
#include <handleapi.h>
namespace base {
namespace detail {
struct HandleDisposer {
using pointer = HANDLE;
void operator()(const HANDLE handle) const noexcept {
if (handle != nullptr && handle != INVALID_HANDLE_VALUE)
CloseHandle(handle);
}
};
}
using SafeHandle = std::unique_ptr<HANDLE, detail::HandleDisposer>;
}