This library provides a way to call a function when a scope is exited, and optionally only when an exception has been thrown or not.
Typical uses cases are running clean up code, perform a specific action on all return paths or releasing a resources acquired with a C-style API.