Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
offa 7830dcdb7d Mocks moved to a namespace. před 7 roky
cmake Create and install a compatible header (withouth extension) to enable před 7 roky
include Using class instead of struct. před 7 roky
script Build steps moved to script. před 7 roky
test Mocks moved to a namespace. před 7 roky
.gitignore Project initialized. před 7 roky
.travis.yml Revert "Clang 5.0 CI build temporarily disabled as it's installation is broken" před 7 roky
CMakeLists.txt Release v0.1.2. před 7 roky
CONTRIBUTING.md Contribution Guide added (#15). před 7 roky
LICENSE Initial commit před 7 roky
README.md Update README.md před 7 roky

README.md

Scope Guard

Build Status GitHub release License

Implementation of Scope Guards (scope_exit, scope_success, scope_fail) and unique_resource as proposed in P0052R5 (former N3949).

Compatibility

This implementation conforms to P0052, except:

Namespace

The namespace sr is used instead of std.

Filenames

The filenames contain a .h extension. To enable the compatible header as specified in the document the CMake option ENABLE_COMPAT_HEADER can be used. This will generate and install an additional header named scope (without file extension).

std::uncaught_exceptions()

The function std::uncaught_exceptions() is not available in C++14 and is therefore replaced with std::uncaught_exception(). This has some limitations, but is the only solution until C++17 is used.

Implementation decisions

Factory functions

The Factory functions for both types are kept for the C++14 implementations as deduction guides aren’t available.

Documentation

License

GNU General Public License (GPL)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.