core.internal.traits

Contains traits for runtime internal usage.

Types 3

aliasAliasSeq(TList...) = TList
aliasUnconst(T : const U, U) = U
private struct__InoutWorkaroundStruct

Functions 5

fnT trustedCast(T, U)(auto ref U u) @trusted pure nothrow
fnT rvalueOf(T)(T val) @property
fnT rvalueOf(T)(inout __InoutWorkaroundStruct = __InoutWorkaroundStruct.init) @property
fnT lvalueOf(T)(inout __InoutWorkaroundStruct = __InoutWorkaroundStruct.init) @property ref
private fnbool hasDtor(string[] members)

Variables 3

enumvarisAggregateType = is(T == struct) || is(T == union) || is(T == class) || is(T == interface)
enumvarisPointer = is(T == U *, U) && !isAggregateType!T
enumvarisDynamicArray = is(DynamicArrayTypeOf!T) && !isAggregateType!T

Templates 32

tmplFields(T)
tmplUnqual(T : const U, U)

taken from std.traits.Unqual

tmplBaseElemOf(T)
tmplModifyTypePreservingTQ(alias Modifier, T)
tmplsubstInout(T)
tmplsubstInoutForm(T)
tmplexternDFunc(string fqn, T: FT *, FT) if (is(FT == function))

used to declare an extern(D) function that is defined in a different module

tmplstaticIota(int beg, int end)
tmplisAssignable(Lhs, Rhs = Lhs)
tmplisInnerClass(T) if (is(T == class))
tmpldtorIsNothrow(T)
tmplallSatisfy(alias F, T...)
tmplanySatisfy(alias F, Ts...)
tmplmaxAlignment(Ts...) if (Ts.length > 0)
tmplclassInstanceAlignment(T) if (is(T == class))
tmplhasElaborateMove(S)
tmplhasElaborateDestructor(S)
tmplhasElaborateCopyConstructor(S)
tmplhasElaborateAssign(S)
tmplhasIndirections(T)
tmplhasUnsharedIndirections(T)
tmplOriginalType(T)
tmplDynamicArrayTypeOf(T)
tmplAliasThisTypeOf(T) if (isAggregateType!T)
tmplisFunctionPointer(T...) if (T.length == 1)
tmplisDelegate(T...) if (T.length == 1)
tmplFilter(alias pred, TList...)
tmplstaticMap(alias F, T...)
tmplFunctionTypeOf(func...) if (func.length == 1 /*&& isCallable!func*/)
tmplReturnType(func...) if (func.length == 1 /*&& isCallable!func*/)
tmplParameters(func...) if (func.length == 1 /*&& isCallable!func*/)
tmplhasUDA(alias symbol, alias attribute)