GitWatcherBot
1.0.0
A Telegram Bot that notifies you when a new change is made in your repositories (issues, pull requests, stars, forks, and watches)
Loading...
Searching...
No Matches
FinalAction.hpp
Go to the documentation of this file.
1
#pragma once
2
#include <utility>
3
6
template
<
class
F>
7
class
FinalAction
8
{
9
public
:
10
explicit
FinalAction
(
const
F& ff) noexcept : f{ff} { }
11
explicit
FinalAction
(F&& ff) noexcept : f{std::move(ff)} { }
12
13
~FinalAction
() noexcept {
if
(invoke) f(); }
14
15
FinalAction
(
FinalAction
&& other) noexcept
16
: f(std::move(other.f)), invoke(std::exchange(other.invoke,
false
))
17
{ }
18
19
FinalAction
(
const
FinalAction
&) =
delete
;
20
void
operator=
(
const
FinalAction
&) =
delete
;
21
void
operator=
(
FinalAction
&&) =
delete
;
22
23
private
:
24
F f;
25
bool
invoke =
true
;
26
};
FinalAction
Executes a function at the end of the scope (deferred) using RAII gsl libs.
Definition
FinalAction.hpp:8
FinalAction::operator=
void operator=(const FinalAction &)=delete
FinalAction::FinalAction
FinalAction(const F &ff) noexcept
Definition
FinalAction.hpp:10
FinalAction::FinalAction
FinalAction(F &&ff) noexcept
Definition
FinalAction.hpp:11
FinalAction::FinalAction
FinalAction(const FinalAction &)=delete
FinalAction::~FinalAction
~FinalAction() noexcept
Definition
FinalAction.hpp:13
FinalAction::operator=
void operator=(FinalAction &&)=delete
FinalAction::FinalAction
FinalAction(FinalAction &&other) noexcept
Definition
FinalAction.hpp:15
src
utils
FinalAction.hpp
Generated on Sat Oct 25 2025 10:12:18 for GitWatcherBot by
1.9.8