Not

Evaluates to a template predicate which negates the given predicate.

template Not (
alias Pred
) {}

Examples

import phobos.sys.traits : isDynamicArray, isPointer;

alias isNotPointer = Not!isPointer;
static assert( isNotPointer!int);
static assert(!isNotPointer!(int*));
static assert( all!(isNotPointer, string, char, float));

static assert(!all!(Not!isDynamicArray, string, char[], int[], long));
static assert( any!(Not!isDynamicArray, string, char[], int[], long));

Predicates with multiple parameters are also supported.

import phobos.sys.traits : isImplicitlyConvertible, isInteger;

alias notImplicitlyConvertible = Not!isImplicitlyConvertible;

static assert( notImplicitlyConvertible!(long, int));
static assert(!notImplicitlyConvertible!(int, long));

static assert( notImplicitlyConvertible!(const(char)[], string));
static assert(!notImplicitlyConvertible!(string, const(char)[]));

See Also

Meta