www.digitalmars.com         C & C++   DMDScript  

c++.stlsoft - FastFormat 0.2.1 (alpha 2) released

FastFormat is an Open Source C/C++ Output/Formatting library, whose design
parameters are
100% type-safety, efficiency, genericity and extensibility. It is simple to use
and extend,
highly-portable (platform and compiler-independent) and, best of all, it
upholds the C
tradition of you only pay for what you use.

FastFormat supports output/formatting of statements of arbitrary complexity,
consisting of
heterogeneous types.

FastFormat writes to output "sinks", which can be of arbitrary type. It
implicitly supports
any type that is structurally conformant with the standard library's string,
and the library
includes adaptors to allow writing to std::ostream, FILE*, speech (currently
Windows-only),
STLSoft's auto_buffer, C-style string buffers, and character buffers.
Adaptation to a new
type merely requires the definition of a single function.

FastFormat is fast. The processing of each statement involves at most one
memory allocation
to hold the entire statement, and each statement element is measured and copied
exactly once.
As a consequence, the library is on a par with (the type-unsafe) C's Streams
(printf()-family)
of functions, faster than C++'s IOStreams, and considerably faster than
Boost.Format.
Comprehensive performance analyses are underway: initial results of a realistic
scenario on
Windows (32-bit) with Visual C++ 9 shows FastFormat is approximately 3 x faster
than C's
Streams, 6 x faster than C++'s IOStreams, and 17 x faster than Boost.Format.

FastFormat supports I18N/L10N by using numbered arguments, enabling reordering
of arguments
by exchanging format strings. The library comes with a number of resource
bundles, classes
whose instances can load sets of localised resource strings for use as format
strings.

FastFormat does not contain any compiler-specific or platform-specific
constructs. It
supports UNIX (including Linux and Mac OS-X), and Windows, and should work with
any operating
system. It is known to be compatible with Comeau (4.3.3+), GCC (3.4+), Intel
(8+),
Metrowerks (8+), Microsoft Visual C++ (6.0+), and should work with any
reasonably modern C++
compiler.

FastFormat is completely free and includes source released under a BSD-style
license.
Commercial customisations and related consultancy are provided by Synesis
Software Pty Ltd;
http://synesis.com.au/contact.html)

Release 0.2.1 alpha 2 is the first public release.
 * added CString::Format() to the test.performance.scenario1
 * fixed defects in ostream sink
 * separated the documentation groups for the interface functions in Write API
and Format API
 * updated fill_replacements and parse_replacements unit tests
 * NOTE: Now requires STLSoft 1.9.51

Note: this release of FastFormat requires STLSoft 1.9.51, or later. Download
from http://stlsoft.org/

Download from: http://sourceforge.net/project/showfiles.php?group_id=177382&package_id=204396

Discuss at: http://sourceforge.net/forum/forum.php?forum_id=612781

FastFormat website: http://fastformat.org/
Sep 07 2008