mirror of https://github.com/adamdruppe/arsd.git
compiler bug fixes have simplified this
This commit is contained in:
parent
40fbab4e1f
commit
baa5926a62
27
web.d
27
web.d
|
@ -844,49 +844,36 @@ template isEnum(alias T) if(is(T)) {
|
||||||
enum bool isEnum = false;
|
enum bool isEnum = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template isEnum(alias T) if(!is(T)) {
|
||||||
|
enum bool isEnum = false;
|
||||||
|
}
|
||||||
|
|
||||||
// WTF, shouldn't is(T == xxx) already do this?
|
// WTF, shouldn't is(T == xxx) already do this?
|
||||||
template isEnum(T) if(!is(T)) {
|
template isEnum(T) if(!is(T)) {
|
||||||
enum bool isEnum = false;
|
enum bool isEnum = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template isStruct(alias T) if(is(T)) {
|
template isStruct(alias T) {
|
||||||
static if (is(T == struct))
|
static if (is(T == struct))
|
||||||
enum bool isStruct = true;
|
enum bool isStruct = true;
|
||||||
else
|
else
|
||||||
enum bool isStruct = false;
|
enum bool isStruct = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// WTF
|
template isApiObject(alias T) {
|
||||||
template isStruct(T) if(!is(T)) {
|
|
||||||
enum bool isStruct = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template isApiObject(alias T) if(is(T)) {
|
|
||||||
static if (is(T : ApiObject))
|
static if (is(T : ApiObject))
|
||||||
enum bool isApiObject = true;
|
enum bool isApiObject = true;
|
||||||
else
|
else
|
||||||
enum bool isApiObject = false;
|
enum bool isApiObject = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// WTF
|
template isApiProvider(alias T) {
|
||||||
template isApiObject(T) if(!is(T)) {
|
|
||||||
enum bool isApiObject = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template isApiProvider(alias T) if(is(T)) {
|
|
||||||
static if (is(T : ApiProvider))
|
static if (is(T : ApiProvider))
|
||||||
enum bool isApiProvider = true;
|
enum bool isApiProvider = true;
|
||||||
else
|
else
|
||||||
enum bool isApiProvider = false;
|
enum bool isApiProvider = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// WTF
|
|
||||||
template isApiProvider(T) if(!is(T)) {
|
|
||||||
enum bool isApiProvider = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template Passthrough(T) {
|
template Passthrough(T) {
|
||||||
T Passthrough;
|
T Passthrough;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue