libquentier
0.8.0
The library for rich desktop clients of Evernote service
Loading...
Searching...
No Matches
headers
quentier
utility
cancelers
ManualCanceler.h
1
/*
2
* Copyright 2022 Dmitry Ivanov
3
*
4
* This file is part of libquentier
5
*
6
* libquentier is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU Lesser General Public License as published by
8
* the Free Software Foundation, version 3 of the License.
9
*
10
* libquentier is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* along with libquentier. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#pragma once
20
21
#include <quentier/utility/cancelers/ICanceler.h>
22
23
#include <atomic>
24
#include <memory>
25
26
namespace
quentier::utility::cancelers {
27
32
class
QUENTIER_EXPORT
ManualCanceler
:
public
ICanceler
33
{
34
public
:
35
ManualCanceler
();
36
ManualCanceler
(
ManualCanceler
&&
other
)
noexcept
;
37
ManualCanceler
& operator=(
ManualCanceler
&&
other
)
noexcept
;
38
~ManualCanceler
()
noexcept
override
;
39
43
void
cancel
()
noexcept
;
44
45
[[
nodiscard
]]
bool
isCanceled()
const
noexcept
override
;
46
47
private
:
48
class
Impl
;
49
std
::
unique_ptr
<
Impl
> m_impl;
50
};
51
52
}
// namespace quentier::utility::cancelers
quentier::Result
The Result template class represents the bare bones result monad implementation which either contains...
Definition
Result.h:38
quentier::utility::cancelers::ICanceler
The ICanceler interface provides isCanceled method which can be used to check whether some processing...
Definition
ICanceler.h:30
quentier::utility::cancelers::ManualCanceler
Definition
ManualCanceler.h:33
quentier::utility::cancelers::ManualCanceler::cancel
void cancel() noexcept
Generated on Sun Jan 26 2025 16:05:44 for libquentier by
1.9.8