add string util
This commit is contained in:
parent
b9b9e9f986
commit
2bff2f8b2f
22
util.d
22
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)
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user