+/**
+ * Data members for ConditionalWait::ScopedLock
+ */
+struct ConditionalWait::ScopedLock::ScopedLockImpl
+{
+ ScopedLockImpl( ConditionalWait& wait )
+ : wait( wait ),
+ lock( wait.mImpl->mutex ) // locks for the lifecycle of this object
+ { }
+ ConditionalWait& wait;
+ std::unique_lock<std::mutex> lock;
+};