Added correct copy constructor. Surprisingly, the incorrect default copy constructor...
authorBen Hutchings <ben@decadent.org.uk>
Thu, 12 Apr 2007 08:08:25 +0000 (08:08 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 2 Nov 2008 23:58:13 +0000 (23:58 +0000)
auto_handle.hpp

index b9d0b6b..64ccd97 100644 (file)
@@ -1,5 +1,8 @@
-#ifndef INC_AUTO_HANDLE_H
-#define INC_AUTO_HANDLE_H
+// Copyright 2005 Ben Hutchings <ben@decadent.org.uk>.
+// See the file "COPYING" for licence details.
+
+#ifndef INC_AUTO_HANDLE_HPP
+#define INC_AUTO_HANDLE_HPP
 
 // Like auto_ptr, but for arbitrary "handle" types.
 // The parameters are:
@@ -25,6 +28,9 @@ public:
     explicit auto_handle(handle_type handle)
            : handle_(handle)
        {}
+    auto_handle(auto_handle & other)
+           : handle_(other.release())
+       {}
     auto_handle(ref_type other)
            : handle_(other.release())
        {}
@@ -80,4 +86,4 @@ private:
     target_type & target_;
 };
 
-#endif // !INC_AUTO_HANDLE_H
+#endif // !defined(INC_AUTO_HANDLE_HPP)