Boost logo

Boost :

From: John Torjo (john.lists_at_[hidden])
Date: 2004-09-13 03:03:45

> 2. The first part of documentation should
> be what is purpose of the library.
> I guess in this case it is debugging
> and testing support, 100% cases.

"The Standard Template Library (STL) provides a mechanism for storing
collections of objects, but does not provide I/O support via streams.
[...] The outfmt library is an attempt to solve the problems outlined
above, providing an extensible framework [...]"

So, what I gather is that it provides customizable I/O for

That said, I donot think its purpose is debugging/testing support 100%
cases. It does definitely support that, but you can do more - like, do
some pretty printing to file(s), std::cout, etc.
I would even go further saying that you can do pretty reports that you
can show on a GUI (example, print a report with files that were copied
from place A to B - with eventual errors -, in an Edit Box)

> 4. There seems to be significant overlap
> with Boost.Serialization (I suspect
> outfm doesn't handle cyclic
> structures).

I would not say so. I see serialization as filling a quite different
gap. For instance, for what you say above - testing/debugging, I would
certainly not use boost.serialization. For testing/debugging, I will
want pretty printing.

> 5. To support debugging I would like to see
> many more features:
> - ability to wrap long lines in pretty way

I guess this could be solved by IO streams lib ;)
> - ability to generate HTML as output
> (+ ability to fold/unfold big data
> structures using Javascript).

I assume this could be added in time... Reece?
> - ability to diff two outputed data
> where applicable and produce
> some easy to read report,
> possibly helper function:

I've been toying with this a while ago. But I think you'd better have
this as a different application.

> - some time ago John Torjo designed
> SMART_ASSERT library. If this will make
> into Boost, outfm would be perfect
> complement for it.
Oh yes ;) Indeed, I could adapt SMART_ASSERT to allow pretty printing of
containers and such.

John Torjo
-- john_at_[hidden]
Contributing editor, C/C++ Users Journal
-- "Win32 GUI Generics" -- generics & GUI do mix, after all
-- v1.4.0 - save_dlg - true binding of your data to UI controls!
    + easily add validation rules (win32gui/examples/smart_dlg)

Boost list run by bdawes at, gregod at, cpdaniel at, john at