Boost logo

Boost :

Subject: Re: [boost] Proposal: Boost.Core
From: Peter Dimov (lists_at_[hidden])
Date: 2014-05-31 13:14:10


Andrey Semashev wrote:
> > 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.

This duplication is necessary because many of the candidates for Core that I
inspected #include those things. The list cannot get much bigger on its own;
it's based on what is in the headers now. Those headers are old and are a
relic of a pre-modular world, when you didn't need write permissions to
Detail to add something ostensibly useful there.

To reiterate, I'm not suggesting that we duplicate for the fun of it; I'm
only suggesting duplication when it's a necessary prerequisite of moving an
existing header into the new library.

We will, of course, evaluate every such addition on a case by case basis.

Robert Ramey wrote:

> Duplication is going to start creating it's own set of problems when the
> copies (inevitably) diverge.

This is not likely to happen. Most of these utilities haven't been touched
at all for a long time, and many, such as if_, eval_if, remove_cv are
trivial and their specification is very clear. There's not much room for
divergence.


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