www.digitalmars.com         C & C++   DMDScript  

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

reply Matt Wilson <matthewwilson acm.org> writes:
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 8 is the first public release.
 * string slice shims now compatible with widestring encoding
 * exception classes now compatible with widestring encoding
 * fixed defect whereby per-thread handler was not used in certain
multithreaded builds
 * worked around compiler warnings wrt VC++'s "safe" string library
 * added second performance test scenario: comparing performances in converting
integer values to string
 * renamed some examples to avoid ambiguity

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.60, or later. Download
from http://stlsoft.org/
Nov 10 2008
parent reply Jerzy Adamowski <JerzyPiotrAdamowski __cut__gmail.c__cut__om> writes:
Not implemented wchar_t specialisation conversion in files integers.hpp and
reals.hpp in directory:

..\fastformat-0.2.1-alpha-8\include\fastformat\shims\conversion\filter_type\

New version works well with string/char type object but not with numeric

Re
Jerzy Adamowski
Nov 11 2008
parent Matt Wilson <matthewwilson acm.org> writes:
Jerzy Adamowski Wrote:

 Not implemented wchar_t specialisation conversion in files integers.hpp and
reals.hpp in directory:
 
 ..\fastformat-0.2.1-alpha-8\include\fastformat\shims\conversion\filter_type\
 
 New version works well with string/char type object but not with numeric
 
 Re
 Jerzy Adamowski

Doh! Sorry about that. I've now fixed it, in a new release: http://sourceforge.net/forum/forum.php?forum_id=886554 Thanks for spotting it Matt
Nov 11 2008