Boost logo

Boost :

From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2023-09-21 14:03:17


Hi,

This is a reminder that Boost.Scope is looking for endorsements and a
review manager. Following is an excerpt from the previous announcement,
describing the library.

Boost.Scope is a small library implementing utilities defined in
<experimental/scope> from C++ Extensions for Library Fundamentals v3
with a few extensions. Namely, the library contains:

* A number of scope guards for various use cases.
* A unique resource wrapper that automatically frees the resource on
destruction.
* Utilities for wrapping POSIX-like file descriptors in the unique
resource wrapper.

Compared to <experimental/scope>, some notable extensions are:

* A new scope_final scope guard, which is a more lightweight alternative
to scope_exit. It is accompanied with the BOOST_SCOPE_FINAL macro that
allows to simplify scope guard declaration syntax.
* Scope guards can be activated/deactivated multiple times.
* Scope guards can be created inactive initially.
* Scope guard factory functions, for compatibility with C++11.
* Support for optional resource traits in unique_resource wrapper, which
improves usage with resources having unallocated values.
* unique_resource supports swapping.
* unique_resource supports dereferencing for any resource types that
support dereferencing, not only pointers.
* More flexible constructors for unique_resource.

The library requires C++11 at the minimum and will significantly benefit
from C++17.

Source:

https://github.com/Lastique/scope

Docs:

https://lastique.github.io/scope/libs/scope/doc/html/index.html

The library is tested in CI and used in production in one of my projects.

Thanks.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk