From: David Abrahams (dave_at_[hidden])
Date: 2007-12-12 08:25:12
on Tue Dec 11 2007, Ion GaztaÃ±aga <igaztanaga-AT-gmail.com> wrote:
> David Abrahams wrote:
>>> so the predicate for associative container should not throw, because
>>> erase(const key_type &k) can't throw.
>> They're unrelated.
> So the exception specification for that erase version is missing. I
> thought that erase(const key_type &) was allowed to throw, but "no
> erase(), pop_back() or pop_front() function throws an exception" seems
> quite generic. If "erase()" means "erase(iterator)" I think it would be
> nice to clarify it and explicitly state if the Comparison function is
> allowed to throw.
> Just my 2 cents,
I think you're right. This looks like a defect to me.
Howard: my suggested resolution is to say, for erase(key_type const&),
no exception is thrown other than by the comparison function.
-- Dave Abrahams Boost Consulting http://www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk