isSomeString

Detect whether T is one of the built-in string types.

The built-in string types are Char[], where Char is any of char, wchar or dchar, with or without qualifiers.

Static arrays of characters (like char[80]) are not considered built-in string types.

enum bool isSomeString(T);

Examples

1 //String types
2 static assert( isSomeString!string);
3 static assert( isSomeString!(wchar[]));
4 static assert( isSomeString!(dchar[]));
5 static assert( isSomeString!(typeof("aaa")));
6 static assert( isSomeString!(const(char)[]));
7 
8 //Non string types
9 static assert(!isSomeString!int);
10 static assert(!isSomeString!(int[]));
11 static assert(!isSomeString!(byte[]));
12 static assert(!isSomeString!(typeof(null)));
13 static assert(!isSomeString!(char[4]));
14 
15 enum ES : string { a = "aaa", b = "bbb" }
16 static assert(!isSomeString!ES);
17 
18 static struct Stringish
19 {
20     string str;
21     alias str this;
22 }
23 static assert(!isSomeString!Stringish);

Meta

Suggestion Box / Bug Report