|
Boost : |
From: Edward Diener (eddielee_at_[hidden])
Date: 2002-08-08 15:56:30
"Douglas Gregor" <gregod_at_[hidden]> wrote in message
news:200208080956.56864.gregod_at_cs.rpi.edu...
> On Thursday 08 August 2002 09:22 am, Beman Dawes wrote:
> > One way to know what library a header belongs to is to require that
headers
> > include a comment that identifies the library. Just change the format
of
> > comment we already recommend, and make it mandatory, at least in
non-detail
> > headers.
> >
> > // See http://www.boost.org/libs/graph/doc/index.html for
> > documentation.
> >
> > That has advantages for the human reader of the header, too.
> >
> > What's the reaction to that?
> >
> > --Beman
>
> I'm fine with that.
>
> Just to toss out one more idea: we might also be able to go backwards.
Scan
> the library documentation to see what headers are mentioned and associate
> those headers with the library documented. The headers mentioned are
assumed
> to be the 'user-level' headers for that library, and anything else
included
> by those headers is an implementation detail for that library. When you
have
> an implementation detail header in library X that is a user-level header
in
> another library, there is a library dependency. As a nice little
by-product,
> it can easily identify undocumented headers and implementation-only
headers
> not in a 'detail' subdirectory.
As the person who started the thread with my inquiry, is it possible that
users of Boost should be distributing the full set of headers, since it can
all be put within a single directory tree, rather than trying to distribute
only the headers for particular areas of Boost ?
I have developed something needing Boost function and Boost bind, in order
to provide a C++ callback facility which allows member functions to act as
the callee. I first thought of only distributing the headers needed by
function and bind. But since this expands to quite a few headers in other
Boost areas, I finally decided just to distribute the entire header tree and
mention to my end users that all of the Boost headers are distributed even
though not all may be needed.
Perhaps Boost should encourage users to distribute the full set of headers
since header files are normally not that large in size, and of course zipped
in some sort of way and/or in an installation program's distribution, they
are even smaller in size.
Another possibility, rather than a header dependency list, is to simply have
a tree which says, if you distribute the headers for Boost facility X, you
will need to distribute all of the headers ( and possibly libraries ) for
Boost facilities A, B, C ... etc. In that way the distribution of Boost is
simplified by a dependency based on the particular Boost facility being
implemented. I think such a tree would be much more useful than a header
dependency list listing every header, and would more easily solve what needs
to be distributed when some Boost facility is used.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk