PRCYCoin  2.0.0.7rc1
P2P Digital Currency
reverselock.h
Go to the documentation of this file.
1 // Copyright (c) 2015 The Bitcoin Core developers
2 // Copyright (c) 2015-2018 The PIVX developers
3 // Copyright (c) 2018-2020 The DAPS Project developers
4 // Distributed under the MIT software license, see the accompanying
5 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
6 
7 #ifndef BITCOIN_REVERSELOCK_H
8 #define BITCOIN_REVERSELOCK_H
9 
12 template<typename Lock>
14 {
15 public:
16  explicit reverse_lock(Lock& lock) : lock(lock) {
17  lock.unlock();
18  lock.swap(templock);
19  }
21  templock.lock();
22  templock.swap(lock);
23  }
24 private:
25  reverse_lock(reverse_lock const&);
27  Lock& lock;
28  Lock templock;
29 };
30 #endif // BITCOIN_REVERSELOCK_H
reverse_lock::~reverse_lock
~reverse_lock()
Definition: reverselock.h:20
reverse_lock::reverse_lock
reverse_lock(Lock &lock)
Definition: reverselock.h:16
reverse_lock
An RAII-style reverse lock.
Definition: reverselock.h:13
reverse_lock::operator=
reverse_lock & operator=(reverse_lock const &)
reverse_lock::lock
Lock & lock
Definition: reverselock.h:27
reverse_lock::templock
Lock templock
Definition: reverselock.h:28