tango.core.Traits

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.

License:

BSD style: see license.txt

Authors:

Sean Kelly
template isCharType(T) #
Evaluates to true if T is char, wchar, or dchar.
template isSignedIntegerType(T) #
Evaluates to true if T is a signed integer type.
template isUnsignedIntegerType(T) #
Evaluates to true if T is an unsigned integer type.
template isIntegerType(T) #
Evaluates to true if T is a signed or unsigned integer type.
template isRealType(T) #
Evaluates to true if T is a real floating-point type.
template isComplexType(T) #
Evaluates to true if T is a complex floating-point type.
template isImaginaryType(T) #
Evaluates to true if T is an imaginary floating-point type.
template isFloatingPointType(T) #
Evaluates to true if T is any floating-point type: real, complex, or imaginary.
template ComplexTypeOf(T) #
complex type for the given type
template RealTypeOf(T) #
real type for the given type
template ImaginaryTypeOf(T) #
imaginary type for the given type
template isPointerType(T) #
Evaluates to true if T is a pointer type.
template isReferenceType(T) #
Evaluates to true if T is a a pointer, class, interface, or delegate.
template isDynamicArrayType(T) #
Evaulates to true if T is a dynamic array type.
template isAssocArrayType(T) [private] #
Evaluates to true if T is an associative array type.
template isCallableType(T) #
Evaluates to true if T is a function, function pointer, delegate, or callable object.
template ReturnTypeOf(Fn) #
Evaluates to the return type of Fn. Fn is required to be a callable type.
template ReturnTypeOf(alias fn) #
Evaluates to the return type of fn. fn is required to be callable.
template ParameterTupleOf(Fn) #
Evaluates to a tuple representing the parameters of Fn. Fn is required to be a callable type.
template ParameterTupleOf(alias fn) #
Evaluates to a tuple representing the parameters of fn. n is required to be callable.
template BaseTypeTupleOf(T) #
Evaluates to a tuple representing the ancestors of T. T is required to be a class or interface type.
template BaseTypeOfArrays(T) #
Strips the []'s off of a type.
template ElementTypeOfArray(T : T[]) #
strips one [] off a type
template rankOfArray(T) #
Count the []'s on an array type