Boost logo

Boost :

Subject: Re: [boost] Proposed new RAII Library
From: Andrew Sandoval (sandoval_at_[hidden])
Date: 2012-09-14 21:13:51

Andrey Semashev <andrey.semashev <at>> writes:

> The probability of exception doesn't matter. Scope guards (or RAIIFunction)
> are typically used to implement exception safety, so introducing the
> possibility of exception from the scope guard itself sort of defeats its
> purpose. At the very least, it will complicate usage - probably, more than it
> will simplify one. IMHO, this tool should not be based on boost/std::function.

I knew someone would say that about the possibility of exceptions. Again, I
would argue that the other class doesn't have that problem and is a better fit
for most things, but I don't see anyway your going to get std::tr1::function
functionality without allocations and the risk of an exception -- unless it is
implemented so that an exception can't be thrown.

I disagree completely about it defeating the purpose. You can find something
less than perfect in just about every library, but that doesn't mean they
aren't tremendously useful.

Again though, a collection of RAII wrapper classes is what I'm proposing. And
the great thing about having them in Boost, besides the fact that I don't have
to re-write them over and over, is that all of the caveats can be well
documented, as they are in other libraries.

Are we making any progress here? I don't think I'm alone in seeing the value of
RAII classes and promoting the practice.


-Andrew Sandoval

Boost list run by bdawes at, gregod at, cpdaniel at, john at