FDR  4.2.7(6ecbe5a21b71ab020e8fcaeccfe5ebaad0599f4f)
canceller.h
1 #pragma once
2 
3 #include <memory>
4 
5 #include <fdr/error.h>
6 
7 namespace FDR
8 {
13 class CancelledError : public Error
14 {
15 public:
17 };
18 
52 class Canceller
53 {
54 public:
57  ~Canceller();
58 
59  Canceller(const Canceller&) = delete;
60  Canceller& operator=(const Canceller&) = delete;
61 
63  bool cancelled() const;
64 
68  void cancel();
69 
70 private:
71  struct Data;
72  std::unique_ptr<Data> data;
73 
74  friend struct CancellerHelper;
75 };
76 
77 } // end FDR
FDR::CancelledError
Thrown whenever a cancellation is detected.
Definition: canceller.h:14
FDR::Canceller::cancelled
bool cancelled() const
Returns true if this canceller has been cancelled.
FDR::Canceller::Canceller
Canceller()
Creates a new canceller.
FDR::Canceller::cancel
void cancel()
Mark this canceller as cancelled.
FDR::Error
An error thrown by libfdr.
Definition: error.h:11
FDR::Canceller
Allows cancellation of a running task to be requested.
Definition: canceller.h:53