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.