isNarrowString

Detect whether type T is a narrow string.

All arrays that use char, wchar, and their qualified versions are narrow strings. (Those include string and wstring).

enum bool isNarrowString(T);

Examples

1 static assert(isNarrowString!string);
2 static assert(isNarrowString!wstring);
3 static assert(isNarrowString!(char[]));
4 static assert(isNarrowString!(wchar[]));
5 
6 static assert(!isNarrowString!dstring);
7 static assert(!isNarrowString!(dchar[]));
8 
9 static assert(!isNarrowString!(typeof(null)));
10 static assert(!isNarrowString!(char[4]));
11 
12 enum ES : string { a = "aaa", b = "bbb" }
13 static assert(!isNarrowString!ES);
14 
15 static struct Stringish
16 {
17     string str;
18     alias str this;
19 }
20 static assert(!isNarrowString!Stringish);

Meta

Suggestion Box / Bug Report