Boost logo

Boost :

Subject: Re: [boost] Tests are a mess
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2008-09-11 12:33:08


______________________
Vicente Juan Botet Escribá
----- Original Message -----
From: "Peter Bartlett" <pete_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Thursday, September 11, 2008 5:02 PM
Subject: Re: [boost] Tests are a mess

>
> Quoting Robert Ramey <ramey_at_[hidden]>:
>
>> Pete Bartlett wrote:
>>> Robert Ramey wrote:
>>>> [..] But don't go foisting on me a whole new layer of work [...]
>>>
>>> Sadly, by introducing boost::serialization::throw_exception, you have
>>> foisted work on me and other users of your library. Now we have to
>>> implement
>>>
>>> boost::serialization::throw_exception instead of just having one
>>> boost::throw_exception. This is exactly the kind of breakage you've
>>> been so strongly opposed to.
>>
>> You're blaming the victim here. This problem isn't caused by me,
>
> You've begged the question there. What is the specific, concrete, problem
> ? The introduction of BOOST_NO_RTTI solves the problem found in 1.36.
>
> If you mean that the header is still larger than in 1.35 then ok, its an
> arguable point, but surely the decision should be made by end-user (who
> may wish to disable the functionality (BOOST_DISABLE_EXCEPTION) or tweak
> his pre-compiled header), not by an intermediate library.
>
> To literally break the end-user's compile because of this smacks of
> cutting off one's nose to spite the face.

Robert,

maybe you can do the following:

namespace boost {
void throw_exception(std::exception const & e); // user defined
namespace serialization {

#ifdef BOOST_NO_EXCEPTIONS

void throw_exception(std::exception const & e) {
    ::boost::throw_exception(e);
}

#else

template<class E> inline void throw_exception(E const & e)
{
    throw e;
}

#endif

In this way, the user need to define only the boost::throw_exception
function when BOOST_NO_EXCEPTIONS is defined.

Vicente


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