Templated base class to facilitate making Virtual{LockType} from a LockType class that provides lock() and unlock() methods. The resulting classes will derive from VirtualBasicLockable.
Protected Member Functions | |
| LockType & | impl () |
Private Member Functions | |
| void | DoLockOperation (Operation operation) override |
Additional Inherited Members | |
Public Member Functions inherited from pw::sync::VirtualBasicLockable | |
| void | lock () |
| void | unlock () |
Protected Types inherited from pw::sync::VirtualBasicLockable | |
| enum class | Operation { kLock , kUnlock } |
|
inlineoverrideprivatevirtual |
Uses a single virtual method with an enum to minimize the vtable cost per implementation of VirtualBasicLockable.
Implements pw::sync::VirtualBasicLockable.