$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Andrzej Krzemienski (akrzemi1_at_[hidden])
Date: 2025-05-22 17:09:44
On Thu, May 22, 2025, 18:52 Joaquin M López Muñoz via Boost <
boost_at_[hidden]> wrote:
> El 22/05/2025 a las 14:06, Andrzej Krzemienski via Boost escribió:
> > niedz., 18 maj 2025 o 13:29 Andrzej Krzemienski <akrzemi1_at_[hidden]>
> > napisaÅ(a):
> >
> > [...]
> >
> > A note about exception safety. Using the definitions from David Abrahams,
> > "basic exception safety" should be provided for every function. I cannot
> > see any note about the exception safety of this library. Usually when I
> > find a new library on the web, I assume that the author is not aware of
> the
> > problems of "exception safety", and I do not trust them until I am
> > convinced otherwise. I am pretty sure Boost.Bloom takes this into
> account,
> > but I could not find anything in the docs on this matter.
>
> Yes, exception safety has been taken into account and basic (at least)
> safety is provided
> everywhere. I will add this to the reference. Would it be ok to state
> that basic is provided
> by default and then explicitly document those functions providing strong
> (noexcept is
> not necessary as the signature tells it)?
>
Sure.
Thank you.
&rzej;
> > Additionally, for the copy assignment of the class filter: the docs do
> not
> > say what happens when the allocator throws. Note that allocators may
> throw
> > even if we have not run out of memory: do you provide the strong ("commit
> > or rollback") guarantee? Or just the basic one? The same for reset().
>
> Strong safety is provided, which, when combined with
> propagate_on_container_copy_assignment traits, results in a rather
> convoluted
> implementation:
>
>
> https://github.com/joaquintides/bloom/blob/develop/include/boost/bloom/detail/core.hpp#L269-L297
>
> reset() also provides strong safety.
>
> Joaquin M Lopez Munoz
>
> _______________________________________________
> Unsubscribe & other changes:
> http://listarchives.boost.org/mailman/listinfo.cgi/boost
>