Front Page / Technical Details / Physical Structure |
The library uses a fine-grained header structure with one header per public component (class/function template), with the header named after the component. For example, boost::mpl::apply is defined in the header <boost/mpl/apply.hpp>. This scheme ensures both that we don't pay for what we don't use in terms of compilation time and header dependencies, and frees us from memorizing the relationship between a given header and the components it provides. For entities that are likely to be used together, such as arithmetic metafunctions (plus, minus, times, et. al.), the library also supplies appropriately-named composite headers (<boost/mpl/airthmetic.hpp>) as a convenience.