|
|
|
@ -40,6 +40,9 @@ public:
|
|
|
|
|
Epoch() = default;
|
|
|
|
|
Epoch(const Epoch&) = delete;
|
|
|
|
|
Epoch& operator=(const Epoch&) = delete;
|
|
|
|
|
Epoch(Epoch&&) = delete;
|
|
|
|
|
Epoch& operator=(Epoch&&) = delete;
|
|
|
|
|
~Epoch() = default;
|
|
|
|
|
|
|
|
|
|
bool guarded() const { return m_guarded; }
|
|
|
|
|
|
|
|
|
@ -51,6 +54,13 @@ public:
|
|
|
|
|
// only allow modification via Epoch member functions
|
|
|
|
|
friend class Epoch;
|
|
|
|
|
Marker& operator=(const Marker&) = delete;
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
Marker() = default;
|
|
|
|
|
Marker(const Marker&) = default;
|
|
|
|
|
Marker(Marker&&) = delete;
|
|
|
|
|
Marker& operator=(Marker&&) = delete;
|
|
|
|
|
~Marker() = default;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class SCOPED_LOCKABLE Guard
|
|
|
|
|