24 lines
690 B
C++
24 lines
690 B
C++
#ifndef RAGNAROK_SOURCE_UTILITY_ASYNCDIAGNOSTIC_H
|
|
#define RAGNAROK_SOURCE_UTILITY_ASYNCDIAGNOSTIC_H
|
|
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
// Reconstructed semantic name; original non-polymorphic type name unavailable.
|
|
// This stores original diagnostic state; it does not add a logging backend.
|
|
struct AsyncDiagnostic {
|
|
AsyncDiagnostic(const bool* success, std::string* message, const char* file, const std::uint32_t* line);
|
|
~AsyncDiagnostic();
|
|
AsyncDiagnostic& MoveFrom(AsyncDiagnostic& other);
|
|
|
|
std::uint32_t line;
|
|
std::string file;
|
|
std::string message;
|
|
bool success;
|
|
};
|
|
|
|
#if defined(_WIN32) && !defined(_WIN64)
|
|
static_assert(sizeof(AsyncDiagnostic) == 56);
|
|
#endif
|
|
|
|
#endif
|