add more utilities

This commit is contained in:
DH 2024-09-03 10:10:27 +03:00
parent 86e2d8b129
commit d7f486fdc9
4 changed files with 47 additions and 0 deletions

View file

@ -0,0 +1,13 @@
#pragma once
#include <utility>
namespace rx {
template <typename T> class atScopeExit {
T _object;
public:
atScopeExit(T &&object) : _object(std::forward<T>(object)) {}
~atScopeExit() { _object(); }
};
} // namespace rx

7
rx/include/rx/die.hpp Normal file
View file

@ -0,0 +1,7 @@
#pragma once
namespace rx {
[[noreturn, gnu::format(printf, 1, 2)]] void die(const char *message, ...);
[[gnu::format(printf, 2, 3)]] void dieIf(bool condition, const char *message,
...);
} // namespace rx