The "clob" API is a dynamically-resizing "blob" (binary large object) class conceptually derived from code in the Fossil source tree (their APIs are also very similar, but this is a re-implementation for licensing reasons). Its primary uses are:
<li>Creating and management of dynamic strings. (This is especially easy in conjunction with [vappendf].)</li>
<li>Output buffering. This is sometimes useful, e.g., when building up output
across several different functions.</li>
<li>Has some support for compressing/decompressing blobs. Not on-the-fly de/compression, but useful nonetheless.</li>
The original intention of this class was to provide output buffering support
for the [http://wanderinghorse.net/cgi-bin/fossil-cgi3.cgi|cgi3 toolkit].
It's used something like this:
Clob * c;
clob_init( &c, 0, 0 );
clob_appendf( c, "Hello, %s!", "world");
clob_finalize( c );
<tt>clob_appendf()</tt> is based on [vappendf]() and therefor uses its extensions.