www.digitalmars.com         C & C++   DMDScript  

c++.stlsoft - FastFormat 0.7.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, expressive, flexible, and highly-portable 
(platform and compiler-independent).

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 
Clang, 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\)

FastFormat Training is provided by Synesis Software Pty Ltd; details at 
http://synesis.com.au/training.html

Release 0.7.1 contains the following changes:

* Clang-compatibility

* VC++ 11/12/14-compatibility

* NOTE: bundles shwild 0.10.1

* NOTE: bundles xTests 0.18.3

* NOTE: depends on STLSoft 1.9.121 (not bundled)

Download from: http://sourceforge.net/projects/fastformat/files/fastformat/

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

Donate at: 
http://sourceforge.net/project/project_donations.php?group_id=177382

FastFormat website: http://fastformat.org/

Note: this release of FastFormat requires STLSoft 1.9.121, or later. 
Download from http://stlsoft.org/
Sep 25 2015