Strings 19
This commit is contained in:
parent
10c44eab2e
commit
eec0a94aac
15 changed files with 358 additions and 55 deletions
|
|
@ -3,4 +3,18 @@ module clox.util;
|
|||
import std.stdio;
|
||||
import std.traits : isUnsigned;
|
||||
import std.container.array;
|
||||
import std.functional : unaryFun;
|
||||
|
||||
T validateAssert(alias pred = "!!a", T)(T v, lazy string msg = null) nothrow {
|
||||
try{
|
||||
string m = msg;
|
||||
static if(is(typeof(pred) == string))
|
||||
m = msg ? msg : pred;
|
||||
assert(v.unaryFun!pred, m);
|
||||
return v;
|
||||
} catch(Exception){
|
||||
assert(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue