includes/type: Added BCD type

This commit is contained in:
Nik
2022-12-24 15:10:23 +01:00
committed by GitHub
parent 5a3036149c
commit 75fd40442b

29
includes/type/bcd.pat Normal file
View File

@@ -0,0 +1,29 @@
#pragma once
#include <std/io.pat>
namespace type {
struct BCD<auto Digits> {
u8 bytes[Digits];
} [[sealed, format_read("type::impl::format_bcd")]];
namespace impl {
fn format_bcd(ref auto bcd) {
str result;
for (u32 i = 0, i < sizeof(bcd.bytes), i += 1) {
u8 byte = bcd.bytes[i];
if (byte >= 10)
return "Invalid";
result += std::format("{}", byte);
}
return result;
};
}
}