$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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.
> 
Introduction:
"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 
containers/ranges.
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
-- http://www.torjo.com/win32gui/
-- v1.4.0 - save_dlg - true binding of your data to UI controls!
    + easily add validation rules (win32gui/examples/smart_dlg)