Boost logo

Boost :

Subject: Re: [boost] Boost policy for putting headers in boost/ Was: #3541 Support <boost/ptr_map.hpp>
From: David Abrahams (dave_at_[hidden])
Date: 2009-10-26 07:32:14


on Fri Oct 23 2009, "troy d. straszheim" <troy-AT-resophonic.com> wrote:

> File D.hpp is either standalone (if no directory D exists) or includes
> all files in subdirectory D. This way your abstraction gets you more
> than just information on how to negotiate the toplevel boost/
> directories, and it matches current practice fairly well. Fusion has always struck me
> as quite clean:
>
> % ls boost/fusion
> adapted/ container.hpp iterator.hpp support/ view.hpp
> adapted.hpp functional/ mpl/ support.hpp
> algorithm/ functional.hpp mpl.hpp tuple/
> algorithm.hpp include/ sequence/ tuple.hpp
> container/ iterator/ sequence.hpp view/
>
> the files D.hpp could be automatically generated and/or checked. There are
> implications for 'modularization'... note that this supports single-header projects as
> well as projects with subdirectories.

Fusion is very clean, but I have a problem remembering where to find
various files. For that reason, I prefer the MPL's organization, where
component xxx can always be used after #include <boost/mpl/xxx.hpp>.
There is lower-level modularization, but for the most part the public
interfaces are in boost/mpl and subdirectories are reserved for
implementation details.

-- 
Dave Abrahams           Meet me at BoostCon: http://www.boostcon.com
BoostPro Computing
http://www.boostpro.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk