49 template<
typename function_t>
50 struct __xtd_scope_exit_object__ {
51 ~__xtd_scope_exit_object__() { function(); }
55 template<
typename function_t>
56 auto operator +(scope_exit, function_t&& function) {
57 return __xtd_scope_exit_object__<function_t>{std::forward<function_t>(function)};
63#define __xtd_scope_exit_cat__(name, line) name##line
64#define __xtd_scope_exit_id__(name, line) __xtd_scope_exit_cat__(name, line)
103#define scope_exit_ [[maybe_unused]] auto __xtd_scope_exit_id__(__xtd__scope_exit__, __LINE__) = xtd::scope_exit {} + [&]
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10
Nowadays, every C++ developer is familiar with the Resource Acquisition Is Initialization (RAII) tech...
Definition scope_exit.hpp:45