c++.stlsoft - FastFormat 0.3.1 (beta 2) released
- Matt Wilson (20/20) Feb 12 2009 FastFormat is an Open Source C/C++ Output/Formatting library, whose desi...
- Matt Wilson (3/37) Feb 12 2009 Had a little snafu in the release process, and beta 2 was actually just ...
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 robust. Both APIs are 100% type-safe - something neither IOStreams nor Boost.Format can claim - and with the Write API it is impossible to compile defective code. 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 (by 2-5x) and Loki.SafeFormat (by 1-5x), and considerably faster than Boost.Format (by 5-17x). 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.3.1 beta 2 contains the following changes: * added support for Borland 5.9.x and 6.1.x * adjusted discrimination of filter_type mechanism support to allow versions of Borland from 6.1 or later * weakened over-strong pre-condition enforcement in format processing * updated some project and solution files for Visual C++ 9 * other minor fixes and enhancements * bundles xTests 0.10.4 * NOTE: depends on STLSoft 1.9.74 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/ Note: this release of FastFormat requires STLSoft 1.9.74, or later. Download from http://stlsoft.org/
Feb 12 2009
Had a little snafu in the release process, and beta 2 was actually just a repackaged copy of beta 1! So I've recalled it, and beta 3, including some more fixes for Mac OS-X, is now available. Matt Wilson Wrote: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 robust. Both APIs are 100% type-safe - something neither IOStreams nor Boost.Format can claim - and with the Write API it is impossible to compile defective code. 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 (by 2-5x) and Loki.SafeFormat (by 1-5x), and considerably faster than Boost.Format (by 5-17x). 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.3.1 beta 2 contains the following changes: * added support for Borland 5.9.x and 6.1.x * adjusted discrimination of filter_type mechanism support to allow versions of Borland from 6.1 or later * weakened over-strong pre-condition enforcement in format processing * updated some project and solution files for Visual C++ 9 * other minor fixes and enhancements * bundles xTests 0.10.4 * NOTE: depends on STLSoft 1.9.74 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/ Note: this release of FastFormat requires STLSoft 1.9.74, or later. Download from http://stlsoft.org/
Feb 12 2009