he UpgradeGuard is used to gain writer access for the thread that already has
a reading access. Hence, the constructor of the UpgradeGuard is
ReaderGuard<X,Mutex>& guard );
The UpgradeGuard is similar to the WriterGuard in other parts of the
interface. See the section (
for remarks on possibility of a deadlock.