View source code
Display the source code in std/traits.d from which this
page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a
Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Enum member std.traits.isSomeString
Detect whether T
is one of the built-in string types.
enum isSomeString(T)
= is(StringTypeOf!T) && !isAggregateType!T && !isStaticArray!T && !is(T == enum);
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.
Example
//String types
static assert( isSomeString!string);
static assert( isSomeString!(wchar[]));
static assert( isSomeString!(dchar[]));
static assert( isSomeString!(typeof("aaa")));
static assert( isSomeString!(const(char)[]));
//Non string types
static assert(!isSomeString!int);
static assert(!isSomeString!(int[]));
static assert(!isSomeString!(byte[]));
static assert(!isSomeString!(typeof(null)));
static assert(!isSomeString!(char[4]));
enum ES : string { a = "aaa", b = "bbb" }
static assert(!isSomeString!ES);
static struct Stringish
{
string str;
alias str this;
}
static assert(!isSomeString!Stringish);
Authors
Walter Bright,
Tomasz Stachowiak (isExpressions
),
Andrei Alexandrescu,
Shin Fujishiro,
Robert Clipsham,
David Nadlinger,
Kenji Hara,
Shoichi Kato
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.