type to be tested
true if T represents a string that is subject to autodecoding
See Also: isNarrowString
static struct Stringish { string s; alias s this; } static assert(isAutodecodableString!wstring); static assert(isAutodecodableString!Stringish); static assert(!isAutodecodableString!dstring); enum E : const(char)[3] { X = "abc" } enum F : const(char)[] { X = "abc" } enum G : F { X = F.init } static assert(isAutodecodableString!(char[])); static assert(!isAutodecodableString!(E)); static assert(isAutodecodableString!(F)); static assert(isAutodecodableString!(G)); struct Stringish2 { Stringish s; alias s this; } enum H : Stringish { X = Stringish() } enum I : Stringish2 { X = Stringish2() } static assert(isAutodecodableString!(H)); static assert(isAutodecodableString!(I)); static assert(!isAutodecodableString!(noreturn[])); static assert(!isAutodecodableString!(immutable(noreturn)[]));
Detect whether type T is a string that will be autodecoded.
Given a type S that is one of:
Type T can be one of:
with the proviso that T cannot be a static array.