PANOC-ALM
quadratic-penalty
Nonconvex constrained optimization
src
include
panoc-alm
util
atomic_stop_signal.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <atomic>
4
5
namespace
pa
{
6
7
class
AtomicStopSignal
{
8
public
:
9
AtomicStopSignal
() =
default
;
10
AtomicStopSignal
(
const
AtomicStopSignal
&) :
AtomicStopSignal
() {}
11
AtomicStopSignal
&
operator=
(
const
AtomicStopSignal
&) =
delete
;
12
AtomicStopSignal
(
AtomicStopSignal
&&) :
AtomicStopSignal
() {}
13
AtomicStopSignal
&
operator=
(
AtomicStopSignal
&&) {
return
*
this
; }
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
Generated by
1.8.20