RAII-style scope unlocking of a synchronisation primitive MutexType_ is required to implement Lock_ and `Unlock_ methods Example: { TScopeLock ScopeLock(CriticalSection); for (FElementType& Element : ThreadUnsafeContainer) { TScopeUnlock ScopeUnlock(CriticalSection); Process(Element); } }