RAII-style scope unlocking of a synchronisation primitiveMutexType_ is required to implementLock_ and `Unlock_ methods Example: { TScopeLockScopeLock(CriticalSection); for (FElementType& Element : ThreadUnsafeContainer) { TScopeUnlockScopeUnlock(CriticalSection); Process(Element); } }