From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-10-19 10:10:32
From: "Daniel Frey" <d.frey_at_[hidden]>
> I have a (maybe dumb) question. The current version of shared_ptr contains
> typename detail::shared_ptr_traits<T>::reference operator* () const //
> BOOST_ASSERT(px != 0);
> return *px;
> What does "never throws" means
It means that operator* doesn't throw when its requirements ("The stored
pointer must not be 0") are met, otherwise the behavior is undefined.
> ... wrt BOOST_ASSERT?
BOOST_ASSERT(px != 0) must not throw when px != 0.
> Isn't this a contradiction?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk