69    using ShareType = 
unsigned char;
 
   75      LockedHandle(std::mutex& mutex, std::weak_ptr<ShareType> share);
 
   77      operator bool() 
const;
 
   81      std::unique_lock<std::mutex> lock;
 
   82      std::shared_ptr<ShareType> share;
 
   90      WeakHandle(std::shared_ptr<std::mutex> mutex, std::weak_ptr<ShareType> share);
 
   92      LockedHandle lock() 
const;
 
   96      std::shared_ptr<std::mutex> mutex;
 
   97      std::weak_ptr<ShareType> share;
 
  112    std::shared_ptr<std::mutex> mutex;
 
  113    std::shared_ptr<ShareType> share;