Synesis Software STLSoft - ... Robust, Lightweight, Cross-platform, Template Software ...

fastformat Namespace Reference


Detailed Description

The FastFormat root namespace - fastformat.

This the the root namespace for FastFormat, and contains the C-API functions, along with appropriate type-defs


Classes

class  openrj_bundle
 A resource bundle that reads Open-RJ Jar files. More...
class  properties_bundle
 A resource bundle that reads properties files. More...
class  windows_resource_bundle
 A resource bundle that reads Windows INI files. More...
class  winini_bundle
 A resource bundle that reads Windows INI files. More...
class  fastformat_exception
 Root class for all FastFormat exception. More...
class  format_parsing_exception
 Root class for all format parsing exceptions. More...
class  illformed_format_exception
 Exception class that represents an illformed format string. More...
class  mismatched_replacements_exception
 Root class for all parameter replacement exceptions. More...
class  missing_argument_exception
 Exception class that represents the case where one or more replacement parameters are specified in the format string but no matching arguments are presented in the argument list. More...
class  unreferenced_argument_exception
 Exception class that represents the case where one or more arguments in the argument list are unreferenced in the format. More...
class  bundle_exception
 Root class for all bundle exceptions. More...
struct  ff_string_slice_t
 Read-only string slice. More...
struct  ff_illformed_handler_info_t
 Structure returned from fastformat_getProcessIllformedHandler(), fastformat_setProcessIllformedHandler(), fastformat_getThreadIllformedHandler(), and fastformat_setThreadIllformedHandler(). More...
struct  ff_mismatched_handler_info_t
 Structure returned from fastformat_getProcessMismatchedHandler(), fastformat_setProcessMismatchedHandler(), fastformat_getThreadMismatchedHandler(), and fastformat_setThreadMismatchedHandler(). More...
class  fastformat_initialiser
 Schwarz Counter initialiser for the FastFormat library. More...
class  ignore_missing_arguments_scope
 Scoping class that suppresses the reporting of unreferenced arguments during its lifetime. More...
class  ignore_unreferenced_arguments_scope
 Scoping class that suppresses the reporting of unreferenced arguments during its lifetime. More...
class  mismatched_arguments_scope_base
 Base class for scoping classes that customise the behaviour in response to mismatched arguments. More...
struct  ff_format_element_t
 Format element. More...

Namespaces

namespace  filters
 Namespace within which FastFormat filtering conversion shim functions are defined.
namespace  internal
 Namespace within which internal FastFormat types and functions are defined.
namespace  iterators
 Namespace within which FastFormat iterators are defined.
namespace  sinks
 Namespace within which FastFormat sink functions are defined.
namespace  util
 FastFormat utility namespace.

Typedefs

typedef char ff_char_t
 Character type used by the library.
typedef ff_string_slice_t string_slice_t
 Equivalent to ff_string_slice_t.
typedef ff_format_element_t format_element_t
 Equivalent to ff_format_element_t.
typedef ff_parse_code_t parse_code_t
 Equivalent to ff_parse_code_t.
typedef ff_replacement_code_t replacement_code_t
 Equivalent to ff_replacement_code_t.
typedef int(* fastformat_illformedHandler_t )(void *param, ff_parse_code_t code, ff_char_t const *format, size_t formatLen, size_t replacementIndex, ff_char_t const *defect, size_t defectLen, int parameterIndex, void *reserved0, size_t reserved1, void *reserved2)
 Ill-formed format handler callback function.
typedef
fastformat_illformedHandler_t 
illformedHandler_t
 Equivalent to fastformat_illformedHandler_t.
typedef ff_illformed_handler_info_t illformed_handler_info_t
 Equivalent to ff_illformed_handler_info_t.
typedef int(* fastformat_mismatchedHandler_t )(void *param, ff_replacement_code_t code, size_t numParameters, int parameterIndex, ff_string_slice_t *slice, void *reserved0, size_t reserved1, void *reserved2)
 Mismatched replacement index handler callback function.
typedef
fastformat_mismatchedHandler_t 
mismatchedHandler_t
 Equivalent to fastformat_mismatchedHandler_t.
typedef
ff_mismatched_handler_info_t 
mismatched_handler_info_t
 Equivalent to ff_mismatched_handler_info_t.

Enumerations

enum  ff_parse_code_t {
  FF_PARSECODE_SUCCESS = 0,
  FF_PARSECODE_INCOMPLETEREPLACEMENT = 1,
  FF_PARSECODE_INVALIDINDEX = 2
}
 Represents format parsing conditions. More...
enum  ff_replacement_code_t {
  FF_REPLACEMENTCODE_SUCCESS = 0,
  FF_REPLACEMENTCODE_MISSING_ARGUMENT = 1,
  FF_REPLACEMENTCODE_UNREFERENCED_ARGUMENT = 2
}
 Represents parameter replacement conditions. More...

Functions

int fastformat_init (void)
 Initialises the FastFormat library.
void fastformat_uninit (void)
 Uninitialises the FastFormat library.
ff_char_t const * fastformat_getInitCodeString (int code)
 Returns a constant pointer to a non-NULL non-modifiable nul-terminated string representing the initialisation code.
size_t fastformat_getInitCodeStringLength (int code)
 Returns the length of the string returned by fastformat_getInitCodeString().
int init ()
 Equivalent to fastformat_init().
void uninit ()
 Equivalent to fastformat_uninit().
ff_char_t const * getInitCodeString (int code)
 Equivalent to fastformat_getInitCodeString().
size_t getInitCodeStringLength (int code)
 Equivalent to fastformat_getInitCodeStringLength().
ff_illformed_handler_info_t fastformat_getProcessIllformedHandler (void)
 Gets the ill-formed format handler for the calling process.
ff_illformed_handler_info_t fastformat_setProcessIllformedHandler (fastformat_illformedHandler_t handler, void *param)
 Sets the ill-formed format handler for the calling process.
ff_illformed_handler_info_t fastformat_getThreadIllformedHandler (void)
 Gets the ill-formed format handler for the calling thread.
ff_illformed_handler_info_t fastformat_setThreadIllformedHandler (fastformat_illformedHandler_t handler, void *param)
 Sets the ill-formed format handler for the calling thread.
ff_mismatched_handler_info_t fastformat_getProcessMismatchedHandler (void)
 Gets the mismatched parameter handler for the calling process.
ff_mismatched_handler_info_t fastformat_setProcessMismatchedHandler (fastformat_mismatchedHandler_t handler, void *param)
 Sets the mismatched parameter handler for the calling process.
ff_mismatched_handler_info_t fastformat_getThreadMismatchedHandler (void)
 Gets the mismatched parameter handler for the calling thread.
ff_mismatched_handler_info_t fastformat_setThreadMismatchedHandler (fastformat_mismatchedHandler_t handler, void *param)
 Sets the mismatched parameter handler for the calling thread.
size_t fastformat_calculateNumberOfRequiredReplacements (ff_char_t const *format, size_t cchFormat)
 Calculates the exact number of replacements required for the given format.
unsigned fastformat_parseFormat (ff_char_t const *format, size_t cchFormat, ff_format_element_t *formatElements, size_t numFormatElements, fastformat_illformedHandler_t handler, void *param)
 Parses a format string into an array of replacement element descriptors.
size_t fastformat_fillReplacements (ff_string_slice_t *resultElements, ff_format_element_t const *formatElements, size_t numElements, ff_string_slice_t const *arguments, size_t numArguments, fastformat_mismatchedHandler_t handler, void *param, size_t *pnumResultElements)
 Takes a number of pattern and replacement elements and populates an array of result elements.
size_t fastformat_accumulateSliceLengths (size_t numSlices, ff_string_slice_t const *slices)
 Calculates the total length of an array of string slices.
unsigned fastformat_lookupPattern (ff_char_t const *pattern, size_t cchPattern, ff_format_element_t const **elements)
 Looks up the array of replacement element descriptors, corresponding to the given pattern, from the pattern cache.
ff_string_slice_t fastformat_getNewlineForPlatform (void)
 Returns a slice representing the CR/LF combination for the current platform.
ff_illformed_handler_info_t getProcessIllformedHandler ()
 Equivalent to fastformat_getProcessIllformedHandler().
ff_illformed_handler_info_t setProcessIllformedHandler (illformedHandler_t handler, void *param)
 Equivalent to fastformat_setProcessIllformedHandler().
ff_illformed_handler_info_t getThreadIllformedHandler ()
 Equivalent to fastformat_getThreadIllformedHandler().
ff_illformed_handler_info_t setThreadIllformedHandler (illformedHandler_t handler, void *param)
 Equivalent to fastformat_setThreadIllformedHandler().
ff_mismatched_handler_info_t getProcessMismatchedHandler ()
 Equivalent to fastformat_getProcessMismatchedHandler().
ff_mismatched_handler_info_t setProcessMismatchedHandler (mismatchedHandler_t handler, void *param)
 Equivalent to fastformat_setProcessMismatchedHandler().
ff_mismatched_handler_info_t getThreadMismatchedHandler ()
 Equivalent to fastformat_getThreadMismatchedHandler().
ff_mismatched_handler_info_t setThreadMismatchedHandler (mismatchedHandler_t handler, void *param)
 Equivalent to fastformat_setThreadMismatchedHandler().
string_slice_t getNewlineForPlatform ()
 Equivalent to fastformat_getNewlineForPlatform().
char const * c_str_data_a (ff_string_slice_t const &slice)
 Returns a possibly non-nul-terminated non-NULL C-style string representing the slice.
ff_char_t const * c_str_data (ff_string_slice_t const &slice)
 Returns a possibly non-nul-terminated non-NULL C-style string representing the slice.
size_t c_str_len_a (ff_string_slice_t const &slice)
 Returns the number of characters in the length of the C-style string representing the slice.
size_t c_str_len (ff_string_slice_t const &slice)
 Returns the number of characters in the length of the C-style string representing the slice.
template<typename S>
S & write (S &sink)
 Writes 0 objects of arbitrary type to the given sink.
template<typename S>
S & writeln (S &sink)
 Writes 0 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0>
S & fmt (S &sink, F const &format, A0 const &arg0)
 Formats 1 object of arbitrary type to the given sink.
template<typename S, typename F, typename A0>
S & fmtln (S &sink, F const &format, A0 const &arg0)
 Formats 1 object of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0>
S & write (S &sink, A0 const &arg0)
 Writes 1 object of arbitrary type to the given sink.
template<typename S, typename A0>
S & writeln (S &sink, A0 const &arg0)
 Writes 1 object of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1)
 Formats 2 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1)
 Formats 2 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1>
S & write (S &sink, A0 const &arg0, A1 const &arg1)
 Writes 2 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1)
 Writes 2 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2)
 Formats 3 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2)
 Formats 3 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2)
 Writes 3 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2)
 Writes 3 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3)
 Formats 4 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3)
 Formats 4 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3)
 Writes 4 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3)
 Writes 4 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4)
 Formats 5 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4)
 Formats 5 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4)
 Writes 5 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4)
 Writes 5 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5)
 Formats 6 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5)
 Formats 6 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5)
 Writes 6 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5)
 Writes 6 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6)
 Formats 7 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6)
 Formats 7 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6)
 Writes 7 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6)
 Writes 7 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7)
 Formats 8 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7)
 Formats 8 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7)
 Writes 8 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7)
 Writes 8 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8)
 Formats 9 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8)
 Formats 9 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8)
 Writes 9 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8)
 Writes 9 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9)
 Formats 10 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9)
 Formats 10 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9)
 Writes 10 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9)
 Writes 10 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10)
 Formats 11 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10)
 Formats 11 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10)
 Writes 11 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10)
 Writes 11 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11)
 Formats 12 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11)
 Formats 12 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11)
 Writes 12 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11)
 Writes 12 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12)
 Formats 13 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12)
 Formats 13 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12)
 Writes 13 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12)
 Writes 13 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13)
 Formats 14 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13)
 Formats 14 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13)
 Writes 14 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13)
 Writes 14 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14)
 Formats 15 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14)
 Formats 15 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14)
 Writes 15 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14)
 Writes 15 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15)
 Formats 16 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15)
 Formats 16 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15)
 Writes 16 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15)
 Writes 16 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16)
 Formats 17 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16)
 Formats 17 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16)
 Writes 17 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16)
 Writes 17 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17)
 Formats 18 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17)
 Formats 18 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17)
 Writes 18 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17)
 Writes 18 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18)
 Formats 19 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18)
 Formats 19 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18)
 Writes 19 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18)
 Writes 19 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19)
 Formats 20 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19)
 Formats 20 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19)
 Writes 20 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19)
 Writes 20 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20)
 Formats 21 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20)
 Formats 21 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20)
 Writes 21 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20)
 Writes 21 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21)
 Formats 22 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21)
 Formats 22 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21)
 Writes 22 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21)
 Writes 22 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22)
 Formats 23 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22)
 Formats 23 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22)
 Writes 23 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22)
 Writes 23 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23)
 Formats 24 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23)
 Formats 24 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23)
 Writes 24 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23)
 Writes 24 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24)
 Formats 25 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24)
 Formats 25 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24)
 Writes 25 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24)
 Writes 25 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25)
 Formats 26 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25)
 Formats 26 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25)
 Writes 26 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25)
 Writes 26 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26)
 Formats 27 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26)
 Formats 27 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26)
 Writes 27 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26)
 Writes 27 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27)
 Formats 28 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27)
 Formats 28 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27)
 Writes 28 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27)
 Writes 28 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28)
 Formats 29 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28)
 Formats 29 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28)
 Writes 29 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28)
 Writes 29 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29)
 Formats 30 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29)
 Formats 30 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29)
 Writes 30 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29)
 Writes 30 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30)
 Formats 31 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30)
 Formats 31 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30)
 Writes 31 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30)
 Writes 31 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31)
 Formats 32 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31)
 Formats 32 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31)
 Writes 32 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31)
 Writes 32 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32)
 Formats 33 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32)
 Formats 33 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32)
 Writes 33 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32)
 Writes 33 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33)
 Formats 34 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33)
 Formats 34 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33)
 Writes 34 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33)
 Writes 34 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34)
 Formats 35 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34)
 Formats 35 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34)
 Writes 35 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34)
 Writes 35 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35)
 Formats 36 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35)
 Formats 36 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35)
 Writes 36 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35)
 Writes 36 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36)
 Formats 37 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36)
 Formats 37 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36)
 Writes 37 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36)
 Writes 37 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37)
 Formats 38 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37)
 Formats 38 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37)
 Writes 38 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37)
 Writes 38 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38)
 Formats 39 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38)
 Formats 39 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38)
 Writes 39 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38)
 Writes 39 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39)
 Formats 40 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39)
 Formats 40 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39)
 Writes 40 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39)
 Writes 40 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40)
 Formats 41 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40)
 Formats 41 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40)
 Writes 41 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40)
 Writes 41 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41)
 Formats 42 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41)
 Formats 42 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41)
 Writes 42 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41)
 Writes 42 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42)
 Formats 43 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42)
 Formats 43 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42)
 Writes 43 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42)
 Writes 43 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43)
 Formats 44 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43)
 Formats 44 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43)
 Writes 44 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43)
 Writes 44 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44)
 Formats 45 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44)
 Formats 45 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44)
 Writes 45 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44)
 Writes 45 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44, typename A45>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44, A45 const &arg45)
 Formats 46 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44, typename A45>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44, A45 const &arg45)
 Formats 46 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44, typename A45>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44, A45 const &arg45)
 Writes 46 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44, typename A45>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44, A45 const &arg45)
 Writes 46 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44, typename A45, typename A46>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44, A45 const &arg45, A46 const &arg46)
 Formats 47 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44, typename A45, typename A46>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44, A45 const &arg45, A46 const &arg46)
 Formats 47 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44, typename A45, typename A46>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44, A45 const &arg45, A46 const &arg46)
 Writes 47 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44, typename A45, typename A46>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44, A45 const &arg45, A46 const &arg46)
 Writes 47 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44, typename A45, typename A46, typename A47>
S & fmt (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44, A45 const &arg45, A46 const &arg46, A47 const &arg47)
 Formats 48 objects of arbitrary type to the given sink.
template<typename S, typename F, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44, typename A45, typename A46, typename A47>
S & fmtln (S &sink, F const &format, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44, A45 const &arg45, A46 const &arg46, A47 const &arg47)
 Formats 48 objects of arbitrary type to the given sink, appending a newline.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44, typename A45, typename A46, typename A47>
S & write (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44, A45 const &arg45, A46 const &arg46, A47 const &arg47)
 Writes 48 objects of arbitrary type to the given sink.
template<typename S, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40, typename A41, typename A42, typename A43, typename A44, typename A45, typename A46, typename A47>
S & writeln (S &sink, A0 const &arg0, A1 const &arg1, A2 const &arg2, A3 const &arg3, A4 const &arg4, A5 const &arg5, A6 const &arg6, A7 const &arg7, A8 const &arg8, A9 const &arg9, A10 const &arg10, A11 const &arg11, A12 const &arg12, A13 const &arg13, A14 const &arg14, A15 const &arg15, A16 const &arg16, A17 const &arg17, A18 const &arg18, A19 const &arg19, A20 const &arg20, A21 const &arg21, A22 const &arg22, A23 const &arg23, A24 const &arg24, A25 const &arg25, A26 const &arg26, A27 const &arg27, A28 const &arg28, A29 const &arg29, A30 const &arg30, A31 const &arg31, A32 const &arg32, A33 const &arg33, A34 const &arg34, A35 const &arg35, A36 const &arg36, A37 const &arg37, A38 const &arg38, A39 const &arg39, A40 const &arg40, A41 const &arg41, A42 const &arg42, A43 const &arg43, A44 const &arg44, A45 const &arg45, A46 const &arg46, A47 const &arg47)
 Writes 48 objects of arbitrary type to the given sink, appending a newline.


Typedef Documentation

typedef char ff_char_t

Character type used by the library.

This will be wchar_t if FASTFORMAT_USE_WIDE_STRINGS is defined, otherwise char.

Examples:
examples/example.arguments.character/example.arguments.character.cpp.

typedef ff_format_element_t format_element_t

Equivalent to ff_format_element_t.

typedef ff_illformed_handler_info_t illformed_handler_info_t

Equivalent to ff_illformed_handler_info_t.

typedef fastformat_illformedHandler_t illformedHandler_t

Equivalent to fastformat_illformedHandler_t.

typedef ff_mismatched_handler_info_t mismatched_handler_info_t

Equivalent to ff_mismatched_handler_info_t.

typedef fastformat_mismatchedHandler_t mismatchedHandler_t

Equivalent to fastformat_mismatchedHandler_t.

typedef ff_parse_code_t parse_code_t

Equivalent to ff_parse_code_t.

typedef ff_replacement_code_t replacement_code_t

Equivalent to ff_replacement_code_t.

typedef ff_string_slice_t string_slice_t

Equivalent to ff_string_slice_t.


Function Documentation

ff_char_t const* fastformat::c_str_data ( ff_string_slice_t const &  slice  )  [inline]

Returns a possibly non-nul-terminated non-NULL C-style string representing the slice.

char const* fastformat::c_str_data_a ( ff_string_slice_t const &  slice  )  [inline]

Returns a possibly non-nul-terminated non-NULL C-style string representing the slice.

size_t fastformat::c_str_len ( ff_string_slice_t const &  slice  )  [inline]

Returns the number of characters in the length of the C-style string representing the slice.

size_t fastformat::c_str_len_a ( ff_string_slice_t const &  slice  )  [inline]

Returns the number of characters in the length of the C-style string representing the slice.

size_t fastformat::fastformat_accumulateSliceLengths ( size_t  numSlices,
ff_string_slice_t const *  slices 
)

Calculates the total length of an array of string slices.

size_t fastformat::fastformat_calculateNumberOfRequiredReplacements ( ff_char_t const *  format,
size_t  cchFormat 
)

Calculates the exact number of replacements required for the given format.

Parameters:
format Pointer to the format string. Does not have to be nul-terminated. May not be NULL, unless cchFormat is 0
cchFormat Number of characters in the string pointed to by format
Precondition:
(0 == cchFormat || NULL != format)

size_t fastformat::fastformat_fillReplacements ( ff_string_slice_t *  resultElements,
ff_format_element_t const *  formatElements,
size_t  numElements,
ff_string_slice_t const *  arguments,
size_t  numArguments,
fastformat_mismatchedHandler_t  handler,
void *  param,
size_t *  pnumResultElements 
)

Takes a number of pattern and replacement elements and populates an array of result elements.

Returns:
The total number of characters required in the resultant string
Parameters:
pnumResultElements  Pointer to variable to receive the number of result elements. This may be greater than the number of pattern elements in the case where formatting (width) is applied

ff_string_slice_t fastformat::fastformat_getNewlineForPlatform ( void   ) 

Returns a slice representing the CR/LF combination for the current platform.

unsigned fastformat::fastformat_lookupPattern ( ff_char_t const *  pattern,
size_t  cchPattern,
ff_format_element_t const **  elements 
)

Looks up the array of replacement element descriptors, corresponding to the given pattern, from the pattern cache.

Parameters:
pattern Pointer to an array of characters representing the string
cchPattern The number of characters in the string parameter pattern
elements Pointer to a variable to receive the pointer to the array of replacement element descriptors.
Returns:
The number of replacement element descriptors.

unsigned fastformat::fastformat_parseFormat ( ff_char_t const *  format,
size_t  cchFormat,
ff_format_element_t *  formatElements,
size_t  numFormatElements,
fastformat_illformedHandler_t  handler,
void *  param 
)

Parses a format string into an array of replacement element descriptors.

Parameters:
format Pointer to the format string. Does not have to be nul-terminated. May not be NULL, unless cchFormat is 0
cchFormat Number of characters in the string pointed to by format
formatElements Pointer to an array of replacements into which the parsed replacement slices are written
numFormatElements Number of format elements
handler Handler for ill-formed format
param Parameter to be passed to handler
Precondition:
(0 == cchFormat || NULL != format)

The number of replacements provided must be of sufficient size for the given format. To obtain the exact number required guaranteed to be sufficient, call fastformat_calculateNumberOfRequiredReplacements(). To obtain a quick value guaranteed to be sufficient, use the format length divided by 2.

Returns:
Information describing the number of elements written/required


FastFormat Library documentation © Matthew Wilson, 2006-2009 SourceForge.net Logo