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:
Authors:
Sean Kelly, Fawzi Mohamed, Abscissa
- template BaseTypeOf(T)
- Strips the qualifiers from a type
- template InoutTypeOf(T,M)
- Computes the effective type that inout would have if you have it two parameters of difference constness
- template isStringType(T)
- Evaluates to true if T is char[], wchar[], or dchar[].
- 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 isAtomicType(T)
- true if T is an atomic type
- 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 MaxPrecTypeOf(T)
- type with maximum precision
- 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 isStaticArrayType(T : T[U],size_t U)
- Evaluates to true if T is a static array type.
- template isArrayType(T)
- true for array types
- template isAssocArrayType(T)
- 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 ExprTypeOf(Expr)
- Returns the type that a T would evaluate to in an expression.
Expr is not 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
- template KeyTypeOfAA(T)
- type of the keys of an AA
- template ValTypeOfAA(T)
- type of the values of an AA
- template staticArraySize(T)
- returns the size of a static array
- template DynamicArrayType(T)
- is T is static array returns a dynamic array, otherwise returns T
- char[] ctfe_i2a(int i);
char[] ctfe_i2a(long i);
char[] ctfe_i2a(uint i);
char[] ctfe_i2a(ulong i);
- compile time integer to string
Page generated by Ddoc. Copyright (C) 2005-2006 Sean Kelly. All rights reserved.