
2013/11/1 Emil Dotchevski
On Fri, Nov 1, 2013 at 8:45 AM, Daniel Pfeifer
wrote: 2013/11/1 Peter Dimov
: ->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