Formats an aggregate object, with all its printable members with all their printable values. Overload that writes to a passed output range sink.
Formats a struct object, with all its printable members with all their printable values. A string-returning overload that doesn't take an input range.
Formats the description of an aggregate for insertion into a prettyformat listing.
Formats the description of an array for insertion into a prettyformat listing.
Formats the description of an associative array for insertion into a prettyformat listing.
Formats an aggregate object, with all its printable members with all their printable values. This is an implementation template and should not be called directly; instead use prettyprint or prettyformat.
Formats the description of a non-string, non-array, non-aggregate value for insertion into a prettyformat listing.
Formats the description of a string for insertion into a prettyformat listing. The full string is passed and the function will truncate it if it's too long.
Prettyprints out aggregate objects, with all their printable members with all their printable values.
The minimum width of the type column, in characters.
The minimum width of the type column, in characters.
Argument aggregate for invocations of prettyformatAggregateMemberImpl.
Argument aggregate for invocations of prettyformatArrayMemberImpl.
Argument aggregate for invocations of prettyformatOtherMemberImpl.
Argument aggregate for invocations of prettyformatStringMemberImpl.
Calculates the minimum padding needed to accommodate the strings of all the types and names of the members of the passed struct and/or classes, for formatting into neat columns.
prettyprint(client, bot, settings);
/* Output to screen:
-- IRCClient
string nickname "kameloso"(8)
string user "kameloso"(8)
string ident "NaN"(3)
string realName "kameloso IRC bot"(16)
-- IRCBot
string account "kameloso"(8)
string[] admins ["zorael"](1)
string[] homeChannels ["#flerrp"](1)
string[] guestChannels ["#d"](1)
-- IRCServer
string address "irc.libera.chat"(16)
ushort port 6667
*/
Distance between types, member names and member values are deduced automatically based on how long they are (in terms of characters). If it doesn't line up, its a bug.
Functions related to (formatting and) printing structs and classes to the local terminal, listing each member variable and their contents in an easy-to-visually-parse way.