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.isBoolean

Detect whether T is a built-in boolean type or enum of boolean base type.

enum isBoolean(T) = __traits(isUnsigned, T) && is(T : bool);

Example

static assert( isBoolean!bool);
enum EB : bool { a = true }
static assert( isBoolean!EB);

struct SubTypeOfBool
{
    bool val;
    alias val this;
}
static assert(!isBoolean!(SubTypeOfBool));

Authors

Walter Bright, Tomasz Stachowiak (isExpressions), Andrei Alexandrescu, Shin Fujishiro, Robert Clipsham, David Nadlinger, Kenji Hara, Shoichi Kato

License

Boost License 1.0.