Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.46 KB | None | 0 0
  1. class HANDLEX
  2.     {
  3.     private:
  4.         HANDLE hX = INVALID_HANDLE_VALUE;
  5.         shared_ptr<void> sh;
  6.  
  7.     public:
  8.         HANDLE op()
  9.             {
  10.             return hX;
  11.             }
  12.  
  13.         void fin()
  14.             {
  15.             if (sh.unique())
  16.                 {
  17.                 CloseHandle(hX);
  18.                 hX = INVALID_HANDLE_VALUE;
  19.                 }
  20.             }
  21.  
  22.         HANDLEX(HANDLE a)
  23.             {
  24.             hX = a;
  25.             }
  26.         HANDLEX(HANDLEX& h)
  27.             {
  28.             operator=(h);
  29.             }
  30.         ~HANDLEX()
  31.             {
  32.             fin();
  33.             }
  34.         void operator=(HANDLEX& h)
  35.             {
  36.             fin();
  37.             hX = h.hX;
  38.             }
  39.     };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement