Formats an aggregate object, with all its printable members with all their printable values. Overload that writes to a passed output range sink.
Prints out aggregate objects, with all their printable members with all their printable values.
Formats the description of an aggregate for insertion into a formatObjects listing.
Formats the description of an array for insertion into a formatObjects listing.
Formats the description of an associative array for insertion into a formatObjects 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 printObjects or formatObjects.
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 a non-string, non-array, non-aggregate value for insertion into a formatObjects listing.
Formats the description of a string for insertion into a formatObjects listing. The full string is passed and the function will truncate it if it's too long.
Prints out aggregate objects, with all their printable members with all their printable values.
Argument aggregate for invocations of formatAggregateMemberImpl.
Argument aggregate for invocations of formatArrayMemberImpl.
Argument aggregate for invocations of formatOtherMemberImpl.
Argument aggregate for invocations of formatStringMemberImpl.
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.
printObjects(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.