$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-10-19 10:10:32
From: "Daniel Frey" <d.frey_at_[hidden]>
> Hi,
>
> I have a (maybe dumb) question. The current version of shared_ptr contains
code
> like:
>
> typename detail::shared_ptr_traits<T>::reference operator* () const //
never throws
> {
> 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?
No. :-)