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.
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.
Returns the index of a given UDA, as annotated on a symbol.
Returns whether or not the member name of an aggregate has the special name this, __ctor or __dtor.
Mixin template mixing in an opDispatch redirecting calls to members whose names match the passed variable string but with an underscore prepended.
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.
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.
Eponymous template; aliases itself to true if the passed member of the passed aggregate Thing is not private and not deprecated.
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.printing.printObject.
More of our homebrewn traits were deemed too generic to be in kameloso and were moved to lu.traits instead.