text: #pragma once
  
  namespace wd
  {
  
  class Noncopyable
  {
  protected:
      Noncopyable() {}
      ~Noncopyable() {}
      Noncopyable(const Noncopyable &) = delete;
      Noncopyable operator=(const Noncopyable &) = delete;
  };
  
  } // end of namespace wd