All Projects → offa → scope-guard

offa / scope-guard

Licence: MIT License
Implementation of Scoped Guards and Unique Resource as proposed in P0052.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to scope-guard

Cardia
Cardia Game Engine
Stars: ✭ 25 (+13.64%)
Mutual labels:  cpp20
malloy
A C++ library providing embeddable server & client components for both HTTP and WebSocket.
Stars: ✭ 29 (+31.82%)
Mutual labels:  cpp20
StringPool
A performant and memory efficient storage for immutable strings with C++17. Supports all standard char types: char, wchar_t, char16_t, char32_t and C++20's char8_t.
Stars: ✭ 19 (-13.64%)
Mutual labels:  cpp20
storm-engine
Game engine behind Sea Dogs, Pirates of the Caribbean and Age of Pirates games.
Stars: ✭ 636 (+2790.91%)
Mutual labels:  cpp20
BinaryLove3
Simple C++ 20 Serialization Library that works out of the box with aggregate types!
Stars: ✭ 13 (-40.91%)
Mutual labels:  cpp20
HelvetaCS
Modern C++ CS:GO base
Stars: ✭ 41 (+86.36%)
Mutual labels:  cpp20
any invocable
Сonservative, move-only equivalent of std::function
Stars: ✭ 14 (-36.36%)
Mutual labels:  cpp20
stlkrn
C++ STL in the Windows Kernel with C++ Exception Support
Stars: ✭ 216 (+881.82%)
Mutual labels:  cpp20
clc
No description or website provided.
Stars: ✭ 20 (-9.09%)
Mutual labels:  cpp20
asio-grpc
Asynchronous gRPC with Asio/unified executors
Stars: ✭ 100 (+354.55%)
Mutual labels:  cpp20
modern-cpp
C++ online course. Modules about modern C++ features. C++11, C++14, C++17 and C++20
Stars: ✭ 15 (-31.82%)
Mutual labels:  cpp20
xtd
Free open-source modern C++17 / C++20 framework to create console, forms (GUI like WinForms) and unit test applications on Microsoft Windows, Apple macOS and Linux.
Stars: ✭ 321 (+1359.09%)
Mutual labels:  raii
sdsl-lite
Succinct Data Structure Library 3.0
Stars: ✭ 55 (+150%)
Mutual labels:  cpp20
scop vulkan
A 3D model viewer written C++20 and Vulkan
Stars: ✭ 133 (+504.55%)
Mutual labels:  cpp20
cpp-coroutine-job-system
Example Code for Cpp Coroutine Job System talk at CppCon 2020
Stars: ✭ 37 (+68.18%)
Mutual labels:  cpp20
thread-pool
A modern thread pool implementation based on C++20
Stars: ✭ 104 (+372.73%)
Mutual labels:  cpp20
agrpc
Async GRPC with C++20 coroutine support
Stars: ✭ 53 (+140.91%)
Mutual labels:  cpp20
uninttp
A universal type for non-type template parameters for C++20 or later.
Stars: ✭ 16 (-27.27%)
Mutual labels:  cpp20
cefal
(Concepts-enabled) Functional Abstraction Layer for C++
Stars: ✭ 52 (+136.36%)
Mutual labels:  cpp20
harmony
C++ Monadologie
Stars: ✭ 26 (+18.18%)
Mutual labels:  cpp20

Scope Guard

CI GitHub release License C++

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

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).

Standardisation progress

P0052 has been adopted (2019-03) and is in the Library Fundamentals v3 now.

Documentation

License

MIT License

Copyright (c) 2017-2022 offa

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].