mirror of
https://github.com/microsoft/GSL.git
synced 2024-11-03 17:56:43 -05:00
rename no_action and bring it out into detail namespace
This commit is contained in:
parent
52df7c35e6
commit
518cad65a4
@ -73,6 +73,11 @@ using owner = T;
|
|||||||
// GSL.util: utilities
|
// GSL.util: utilities
|
||||||
//
|
//
|
||||||
|
|
||||||
|
namespace detail
|
||||||
|
{
|
||||||
|
void no_action() noexcept {}
|
||||||
|
}
|
||||||
|
|
||||||
// final_act allows you to ensure something gets run at the end of a scope
|
// final_act allows you to ensure something gets run at the end of a scope
|
||||||
template <class F>
|
template <class F>
|
||||||
class final_act
|
class final_act
|
||||||
@ -80,7 +85,7 @@ class final_act
|
|||||||
public:
|
public:
|
||||||
explicit final_act(F f) noexcept : f_(std::move(f)) {}
|
explicit final_act(F f) noexcept : f_(std::move(f)) {}
|
||||||
|
|
||||||
final_act(final_act&& other) noexcept : f_(std::move(other.f_)) { other.f_ = NoAction; }
|
final_act(final_act&& other) noexcept : f_(std::move(other.f_)) { other.f_ = detail::no_action; }
|
||||||
final_act(const final_act&) = delete;
|
final_act(const final_act&) = delete;
|
||||||
final_act& operator=(const final_act&) = delete;
|
final_act& operator=(const final_act&) = delete;
|
||||||
|
|
||||||
@ -88,8 +93,6 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
F f_;
|
F f_;
|
||||||
|
|
||||||
static void NoAction(){}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// finally() - convenience function to generate a final_act
|
// finally() - convenience function to generate a final_act
|
||||||
|
Loading…
Reference in New Issue
Block a user