Boost logo

Boost :

Subject: Re: [boost] Proposal: Boost.Core
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2014-05-31 12:30:53


On Saturday 31 May 2014 17:21:42 Peter Dimov wrote:
> I propose the creation of a new module, Boost.Core, a repository of Boost
> core utilities.
>
> The criteria for inclusion into this module would be that the utility
> component is (a) simple, (b) used by other Boost libraries, (c) does not
> depend on any headers outside of Core and Config (and perhaps Assert).
>
> Its primary purpose would be to break dependencies. It will not serve as a
> repository of "this might be useful".
>
> Based on the interest so far, I volunteer myself, Glen Fernandes and Andrey
> Semashev as maintainers.
>
> The following utilities are immediate candidates for migration into the new
> module:
>
> - addressof
> - enable_if
> - boost/pointee.hpp
> - boost/indirect_reference.hpp
> - boost/type.hpp
>
> In addition, the following can be duplicated inside to reduce dependencies:
>
> - mpl::if_, if_c, eval_if
> - detail/is_incrementable.hpp
> - remove_cv
>
> and so on.

I like the general idea but I'm worried about needing to duplicate things. The
list is short now, but I'm sure it will get bigger. Maybe that's a sign that
something that needs these components do not fit into Boost.Core.

OTOH, MPL and TypeTraits stuff you mentioned is commonly used, so I suspect if
we limit ourselves to avoid them then Boost.Core will be almost empty. Maybe
we should decompose MPL and TypeTraits first and then use the smaller bits in
Core?


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