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 | |
![]() | |
void | lock () |
void | unlock () |
![]() | |
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.