www.digitalmars.com         C & C++   DMDScript  

c++.stlsoft - FastFormat is unleashed: v0.2.1 (alpha 1) 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 1 is the first public release.

Note: this release of FastFormat requires STLSoft 1.9.50, 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 03 2008