PLCnext API Documentation 25.0.2.69
LockGuard.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8
9namespace Arp { namespace System { namespace Commons { namespace Threading
10{
11
12// forwards
13class Mutex;
14
17{
18public: // construction/destruction
19 LockGuard(Mutex& mutex);
21 LockGuard(const LockGuard& arg) = delete;
23 LockGuard& operator=(const LockGuard& arg) = delete;
24 ~LockGuard(void);
25
26private: // fields
27 Mutex& mutex;
28};
29
30}}}} // end of namespace Arp::System::Commons::Threading
Simple lock guard, acquiring lock on construction and release it on destruction.
Definition: LockGuard.hpp:17
~LockGuard(void)
Destructs this instance and releases the lock.
Definition: LockGuard.cpp:22
LockGuard & operator=(const LockGuard &arg)=delete
Assignment operator.
LockGuard(Mutex &mutex)
Constructs an LockGuard instance and acquires the assgned lock.
Definition: LockGuard.cpp:15
LockGuard(const LockGuard &arg)=delete
Copy constructor.
Mutual exclusion object to prevent data from concurrent modifications.
Definition: Mutex.hpp:27
Root namespace for the PLCnext API