From 2bff2f8b2fa531e3c617cfa4c2cef239f7e904c4 Mon Sep 17 00:00:00 2001 From: Matthew Date: Sun, 4 Jan 2026 17:01:04 +1100 Subject: [PATCH] add string util --- util.d | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/util.d b/util.d index 98dad20..d4fe828 100644 --- a/util.d +++ b/util.d @@ -14,6 +14,8 @@ import std.traits; import core.stdc.string : memset; import core.simd; +enum bool StringType(T) = (is(T: string) || is(T: u8[]) || is(T: char[])); + pragma(inline) void Int3() { @@ -113,6 +115,26 @@ Errf(Args...)(string fmt, Args args) Logf!("ERROR", Args)(fmt, args); } +static string +AssignStr(T, alias param)() if(StringType!(T)) +{ + import std.format : format; + + enum string id = __traits(identifier, p); + string result = ""; + static if(is(T == string)) + { + result = id; + } + else static if(StringType!(T)) + { + result = format("Str(%s)", id); + } + else static assert(false, "Unknown type for AssignItem"); + + return result; +} + string Scratchf(Args...)(string fmt, Args args) {