xtd
1.0.0
Toggle main menu visibility
Loading...
Searching...
No Matches
xtd.core
include
xtd
scope_exit.hpp
Go to the documentation of this file.
1
4
#pragma once
5
#include "
unused.hpp
"
6
#include <exception>
7
#include <utility>
8
10
namespace
xtd
{
64
struct
scope_exit
{};
65
67
template
<
typename
function_t>
68
struct
__xtd_scope_exit_object__ {
69
__xtd_scope_exit_object__(function_t&& f) : function(std::forward<function_t>(
f
)) {}
70
~__xtd_scope_exit_object__() { function(); }
71
function_t
function
;
72
};
73
74
template
<
typename
function_t>
75
auto
operator +(
scope_exit
, function_t&& function) {
76
return
__xtd_scope_exit_object__<function_t> {std::forward<function_t>(function)};
77
}
79
}
80
134
#define scope_exit_ \
135
[[maybe_unused]] auto __ = xtd::scope_exit {} + [&]
xtd::console_key::f
@ f
The F key.
Definition
console_key.hpp:98
xtd::forms::keys::function
@ function
The FUNCTION modifier key.
Definition
keys.hpp:480
xtd
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition
abstract_object.hpp:8
xtd::scope_exit
Nowadays, every C++ developer is familiar with the Resource Acquisition Is Initialization (RAII) tech...
Definition
scope_exit.hpp:64
unused.hpp
Contains __ and unused_ keywords.
Generated on
for xtd by
Gammasoft
. All rights reserved.