PANOC-ALM  quadratic-penalty
Nonconvex constrained optimization
atomic_stop_signal.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <atomic>
4 
5 namespace pa {
6 
8  public:
9  AtomicStopSignal() = default;
14 
15  void stop() { stop_flag.store(true, std::memory_order_relaxed); }
16  bool stop_requested() const {
17  return stop_flag.load(std::memory_order_relaxed);
18  }
19 
20  private:
21  std::atomic<bool> stop_flag{false};
22 };
23 
24 } // namespace pa
pa::AtomicStopSignal
Definition: atomic_stop_signal.hpp:7
pa::AtomicStopSignal::stop_requested
bool stop_requested() const
Definition: atomic_stop_signal.hpp:16
pa::AtomicStopSignal::operator=
AtomicStopSignal & operator=(const AtomicStopSignal &)=delete
pa::AtomicStopSignal::stop_flag
std::atomic< bool > stop_flag
Definition: atomic_stop_signal.hpp:21
pa::AtomicStopSignal::AtomicStopSignal
AtomicStopSignal()=default
pa
Definition: alm.hpp:10
pa::AtomicStopSignal::operator=
AtomicStopSignal & operator=(AtomicStopSignal &&)
Definition: atomic_stop_signal.hpp:13
pa::AtomicStopSignal::AtomicStopSignal
AtomicStopSignal(AtomicStopSignal &&)
Definition: atomic_stop_signal.hpp:12
pa::AtomicStopSignal::stop
void stop()
Definition: atomic_stop_signal.hpp:15
pa::AtomicStopSignal::AtomicStopSignal
AtomicStopSignal(const AtomicStopSignal &)
Definition: atomic_stop_signal.hpp:10