mirror.traits

Information about types and symbols at compile-time, similar to std.traits.

Members

Aliases

RecursiveFieldTypes
alias RecursiveFieldTypes(T) = RecursiveFieldTypesImpl!T

Returns an AliasSeq of all field types of T, depth-first recursively.

Enums

isClass
eponymoustemplate isClass(T)

Usable as a predicate to std.meta.Filter

isEnum
eponymoustemplate isEnum(T)

Usable as a predicate to std.meta.Filter

isInterface
eponymoustemplate isInterface(T)

Usable as a predicate to std.meta.Filter

isOOP
eponymoustemplate isOOP(T)

If a type is a class or an interface. Usable as a predicate to std.meta.Filter

isStruct
eponymoustemplate isStruct(T)

Usable as a predicate to std.meta.Filter

Templates

FundamentalType
template FundamentalType(T)

Retrieves the "fundamental type" of a type T. For most types, this will be exactly the same as T itself. For arrays or pointers, it removes as many "layers" of array or pointer indirections to get to the most basic atomic type possible. Examples of inputs and outputs:

MemberFunctions
template MemberFunctions(T)

All member function symbols in T with overloads represented separately.

PublicMembers
template PublicMembers(alias A)
Undocumented in source.
RecursiveTypeTree
template RecursiveTypeTree(T...)

An std.meta.AliasSeq of T and all its recursive subtypes.

isPrivate
template isPrivate(alias symbol)
Undocumented in source.
isProperty
template isProperty(alias F)

Whether or not F is a property function

memberIsRegularFunction
template memberIsRegularFunction(alias member)
Undocumented in source.
memberIsSomeFunction
template memberIsSomeFunction(alias member)
Undocumented in source.
moduleOf
template moduleOf(alias T)
Undocumented in source.

Meta