cs2-dumper/include/base/safe_handle.hpp

23 lines
469 B
C++

#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>;
}