template<CIntrusiveMutexParams ParamsType>
class UE::TExternalMutex< ParamsType >
A 2-bit mutex, with its state stored externally, that is not fair and does not support recursive locking.
The 2 bits referenced by IsLockedFlag and MayHaveWaitingLockFlag must be initialized to 0 by the owner of the state prior to using it as an external mutex.
It is valid to construct more than one TExternalMutex for a given state and to use them concurrently. It is valid to use TExternalMutex exclusively as a temporary, e.g., TExternalMutex(State).Lock();