From 98c8fd5d39ee645922f071b6433308a813245500 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Wed, 24 Apr 2024 00:29:16 +0200 Subject: Add custom formatter & use it on Status --- deimos/core/status.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'deimos/core/status.h') diff --git a/deimos/core/status.h b/deimos/core/status.h index bf34833..7350cc5 100644 --- a/deimos/core/status.h +++ b/deimos/core/status.h @@ -1,6 +1,7 @@ #pragma once #include "deimos/core/base.h" +#include "deimos/core/format.h" namespace deimos { @@ -15,6 +16,8 @@ enum class StatusCode : uint32_t kInternal, }; +StringView StatusCodeToString(StatusCode code); + class Status { uintptr_t m_rep; @@ -79,6 +82,13 @@ public: if (IsInline()) { return (StatusCode)(m_rep >> 1U); } return RepCode(); } + + static void FormatStatus(IWriter* writer, const void* payload); + + friend constexpr deimos::FormatArg DeimosMakeFormatArg(const Status& status) + { + return deimos::FormatArg(status, FormatStatus); + } }; inline Status UnknownError(StringView message = {}) -- cgit