kameloso.traits

Various traits that are too kameloso-specific to be in lu.

They generally deal with lengths of aggregate member names, used to format output and align columns for kameloso.prettyprint.prettyprint.

More of our homebrewn traits were deemed too generic to be in kameloso and were moved to lu.traits instead.

Members

Enums

longestMemberNames
eponymoustemplate longestMemberNames(Things...)

Introspects one or more aggregate types and determines the name of the longest member found between them, as well as the name of the longest type. Ignores Unserialisable members.

longestUnserialisableMemberNames
eponymoustemplate longestUnserialisableMemberNames(Things...)

Introspects one or more aggregate types and determines the name of the longest member found between them, as well as the name of the longest type. Includes Unserialisable members.

Functions

longestMemberNamesImpl
auto longestMemberNamesImpl()

Introspects one or more aggregate types and determines the name of the longest member found between them, as well as the name of the longest type. Only includes Unserialisable members if unserialisable is set.

memberstringIsThisCtorOrDtor
auto memberstringIsThisCtorOrDtor(string memberstring)

Returns whether or not the member name of an aggregate has the special name this, __ctor or __dtor.

Templates

memberIsMutable
template memberIsMutable(Thing, string memberstring)

As the name suggests, aliases itself to true if the passed member of the passed aggregate Thing is mutable, which includes that it's not an enum.

memberIsValue
template memberIsValue(Thing, string memberstring)

Aliases itself to true if the passed member of the passed aggregate is a value and not a type, a function, a template or an enum.

memberIsVisibleAndNotDeprecated
template memberIsVisibleAndNotDeprecated(Thing, string memberstring)

Eponymous template; aliases itself to true if the passed member of the passed aggregate Thing is not private and not deprecated.

See Also

Meta