33class SingleUseEvent 
final {
 
   35  constexpr SingleUseEvent() 
noexcept : state_(0) {}
 
   38  SingleUseEvent(
const SingleUseEvent&) = 
delete;
 
   39  SingleUseEvent(SingleUseEvent&&) = 
delete;
 
   40  SingleUseEvent& operator=(
const SingleUseEvent&) = 
delete;
 
   41  SingleUseEvent& operator=(SingleUseEvent&&) = 
delete;
 
   64  std::atomic<std::uintptr_t> state_;