Skip to content
This repository was archived by the owner on Apr 24, 2022. It is now read-only.

Commit 58a3676

Browse files
committedNov 30, 2018
Remove unused class Notified
1 parent 8f94f47 commit 58a3676

File tree

1 file changed

+0
-83
lines changed

1 file changed

+0
-83
lines changed
 

‎libdevcore/Guards.h

-83
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
#pragma once
2323

2424
#include <atomic>
25-
#include <condition_variable>
2625
#include <mutex>
2726

2827
namespace dev
@@ -38,88 +37,6 @@ struct GenericGuardBool : GuardType
3837
bool b = true;
3938
};
4039

41-
template <class N>
42-
class Notified
43-
{
44-
public:
45-
Notified() = default;
46-
Notified(N const& _v) : m_value(_v) {}
47-
Notified(Notified const&) = delete;
48-
Notified& operator=(N const& _v)
49-
{
50-
UniqueGuard l(m_mutex);
51-
m_value = _v;
52-
m_cv.notify_all();
53-
return *this;
54-
}
55-
56-
operator N() const
57-
{
58-
UniqueGuard l(m_mutex);
59-
return m_value;
60-
}
61-
62-
void wait() const
63-
{
64-
N old;
65-
{
66-
UniqueGuard l(m_mutex);
67-
old = m_value;
68-
}
69-
waitNot(old);
70-
}
71-
void wait(N const& _v) const
72-
{
73-
UniqueGuard l(m_mutex);
74-
m_cv.wait(l, [&]() { return m_value == _v; });
75-
}
76-
void waitNot(N const& _v) const
77-
{
78-
UniqueGuard l(m_mutex);
79-
m_cv.wait(l, [&]() { return m_value != _v; });
80-
}
81-
template <class F>
82-
void wait(F const& _f) const
83-
{
84-
UniqueGuard l(m_mutex);
85-
m_cv.wait(l, _f);
86-
}
87-
88-
template <class R, class P>
89-
void wait(std::chrono::duration<R, P> _d) const
90-
{
91-
N old;
92-
{
93-
UniqueGuard l(m_mutex);
94-
old = m_value;
95-
}
96-
waitNot(_d, old);
97-
}
98-
template <class R, class P>
99-
void wait(std::chrono::duration<R, P> _d, N const& _v) const
100-
{
101-
UniqueGuard l(m_mutex);
102-
m_cv.wait_for(l, _d, [&]() { return m_value == _v; });
103-
}
104-
template <class R, class P>
105-
void waitNot(std::chrono::duration<R, P> _d, N const& _v) const
106-
{
107-
UniqueGuard l(m_mutex);
108-
m_cv.wait_for(l, _d, [&]() { return m_value != _v; });
109-
}
110-
template <class R, class P, class F>
111-
void wait(std::chrono::duration<R, P> _d, F const& _f) const
112-
{
113-
UniqueGuard l(m_mutex);
114-
m_cv.wait_for(l, _d, _f);
115-
}
116-
117-
private:
118-
mutable Mutex m_mutex;
119-
mutable std::condition_variable m_cv;
120-
N m_value;
121-
};
122-
12340
/** @brief Simple block guard.
12441
* The expression/block following is guarded though the given mutex.
12542
* Usage:

0 commit comments

Comments
 (0)
This repository has been archived.