compile time integer to string
compile time integer to string
Strips the qualifiers from a type
Strips the []'s off of a type.
Evaluates to a tuple representing the ancestors of T. T is required to be a class or interface type.
complex type for the given type
is T is static array returns a dynamic array, otherwise returns T
strips one [] off a type
Returns the type that a T would evaluate to in an expression. Expr is not required to be a callable type
imaginary type for the given type
Computes the effective type that inout would have if you have it two parameters of difference constness
type of the keys of an AA
type with maximum precision
Evaluates to a tuple representing the parameters of Fn. Fn is required to be a callable type.
Evaluates to a tuple representing the parameters of fn. n is required to be callable.
real type for the given type
Evaluates to the return type of Fn. Fn is required to be a callable type.
Evaluates to the return type of fn. fn is required to be callable.
type of the values of an AA
true for array types
Evaluates to true if T is an associative array type.
true if T is an atomic type
Evaluates to true if T is a function, function pointer, delegate, or callable object.
Evaluates to true if T is char, wchar, or dchar.
Evaluates to true if T is a complex floating-point type.
Evaulates to true if T is a dynamic array type.
Evaluates to true if T is any floating-point type: real, complex, or imaginary.
Evaluates to true if T is an imaginary floating-point type.
Evaluates to true if T is a signed or unsigned integer type.
Evaluates to true if T is a pointer type.
Evaluates to true if T is a real floating-point type.
Evaluates to true if T is a a pointer, class, interface, or delegate.
Evaluates to true if T is a signed integer type.
Evaluates to true if T is a static array type.
Evaluates to true if T is char[], wchar[], or dchar[].
Evaluates to true if T is an unsigned integer type.
Count the []'s on an array type
returns the size of a static array
The traits module defines tools useful for obtaining detailed compile-time information about a type. Please note that the mixed naming scheme used in this module is intentional. Templates which evaluate to a type follow the naming convention used for types, and templates which evaluate to a value follow the naming convention used for functions.