Module scid.core.traits

Templates for compile-time introspection.

Templates

NameDescription
allConvertibleTo Checks whether all the types U... are implicitly convertible to T.
ArgumentTypeTuple Evaluates to a type tuple of the argument types of T, where T must be either a function, delegate or functor type.
BaseElementType Evaluates to the inner element type of the array, vector or matrix type T. If T is none of these, BaseElementType evaluates to T.
is1DArray Evaluates to true if T is a one-dimensional array type.
is2DArray Evaluates to true if T is a two-dimensional array type.
isArray Evaluates to true if T is an array type.

Manifest constants

NameTypeDescription
isBufferVectorField Evaluates to true if FuncType is a vector field which takes an additional (but often optional) buffer of type RetType[] as the second argument.
isCallable Evaluates to true if T is a callable type, i.e. a function, delegate or functor type.
isComplex Detect whether T is a complex floating-point type.
isFortranType Detect whether T is a FORTRAN-compatible floating-point type. The FORTRAN-compatible types are: float, double, cfloat, cdouble.
isFortranType
isFunctor Evaluates to true if T is a functor, i.e. a class or struct with an opCall method.
isUnaryFunction Evaluates to true if the following compiles:
isUnaryFunction Evaluates to true if the following compiles:
isVectorField Evaluates to true if FuncType is a vector field, i.e. a callable type that takes an ArgType[] array as input and returns a RetType[] array.