add string util

This commit is contained in:
Matthew 2026-01-04 17:01:04 +11:00
parent b9b9e9f986
commit 2bff2f8b2f

22
util.d
View File

@ -14,6 +14,8 @@ import std.traits;
import core.stdc.string : memset; import core.stdc.string : memset;
import core.simd; import core.simd;
enum bool StringType(T) = (is(T: string) || is(T: u8[]) || is(T: char[]));
pragma(inline) void pragma(inline) void
Int3() Int3()
{ {
@ -113,6 +115,26 @@ Errf(Args...)(string fmt, Args args)
Logf!("ERROR", Args)(fmt, 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 string
Scratchf(Args...)(string fmt, Args args) Scratchf(Args...)(string fmt, Args args)
{ {