Boost logo

Boost :

Subject: Re: [boost] [modularization] Dependency to Boost.Exception unavoidable?
From: Daniel Pfeifer (daniel_at_[hidden])
Date: 2013-11-01 17:33:20


2013/11/1 Emil Dotchevski <emildotchevski_at_[hidden]>:
> On Fri, Nov 1, 2013 at 8:45 AM, Daniel Pfeifer <daniel_at_[hidden]> wrote:
>> 2013/11/1 Peter Dimov <lists_at_[hidden]>:
>>>
>>> ->exception is unavoidable because of throw_exception.
>>
>> I think `throw_exception.hpp` belongs to Boost.Utility for two reasons:
>>
>> 1. That file is older than Boost.Exception.
>
> How old a header is orthogonal to correct design.

That is true.

>> 2. It introduces a *conditional* dependency to Boost.Exception.
>
> It is misleading to treat this as dependency on a library, because the
> only Boost Exception header boost/throw_exception.hpp depends on is
> boost/exception/exception.hpp, which does not include *any* headers.
>
> If people are bothered by the exception/exception.hpp dependency, I am
> not against moving that code in throw_exception.hpp.

After the transition to Git, Boost.Exception will live in its own
repository. People might be bothered to have this repository as a
dependency, even though they have exceptions disabled. So we are
really talking about library dependencies, not include dependencies.

Moving throw_exception.hpp out of this repository eliminates that dependency.
Also, that header should not include any headers from Boost.Exception
when BOOST_NO_EXCEPTIONS or BOOST_EXCEPTION_DISABLE is defined.

-- Daniel


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