Module scid.core.traits

Templates for compile-time introspection.

Templates

NameDescription
allConvertibleToChecks whether all the types U... are implicitly convertible to T.
ArgumentTypeTupleEvaluates to a type tuple of the argument types of T, where T must be either a function, delegate or functor type.
BaseElementTypeEvaluates to the inner element type of the array, vector or matrix type T. If T is none of these, BaseElementType evaluates to T.
is1DArrayEvaluates to true if T is a one-dimensional array type.
is2DArrayEvaluates to true if T is a two-dimensional array type.
isArrayEvaluates to true if T is an array type.

Manifest constants

NameTypeDescription
isBufferVectorFieldEvaluates to true if FuncType is a vector field which takes an additional (but often optional) buffer of type RetType[] as the second argument.
isCallableEvaluates to true if T is a callable type, i.e. a function, delegate or functor type.
isComplexDetect whether T is a complex floating-point type.
isFortranTypeDetect whether T is a FORTRAN-compatible floating-point type. The FORTRAN-compatible types are: float, double, cfloat, cdouble.
isFortranType
isFunctorEvaluates to true if T is a functor, i.e. a class or struct with an opCall method.
isUnaryFunctionEvaluates to true if the following compiles:
isUnaryFunctionEvaluates to true if the following compiles:
isVectorFieldEvaluates 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.