]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/handle.h
Add move semantics to Variant
[libs/core.git] / source / io / handle.h
index be2097e7f248d042c95312185ec40a25e3dca55b..06c2034c5271995995fd2929027cc1951fcf9d7d 100644 (file)
@@ -2,17 +2,18 @@
 #define MSP_IO_HANDLE_H_
 
 #include <cstddef>
+#include <msp/core/mspcore_api.h>
 
 namespace Msp {
 namespace IO {
 
-class Handle
+class MSPCORE_API Handle
 {
 public:
        struct Private;
 
 private:
-       Private *priv;
+       Private *priv = nullptr;
 
 public:
        Handle();
@@ -23,10 +24,7 @@ public:
        Private &operator*() { return *priv; }
        const Private &operator*() const { return *priv; }
 
-       /** This is effectively a boolean conversion, but avoids accidental
-       conversion to OS native handles.  Unix-based systems use int and win32 uses
-       void *; const void * is not implicitly convertible to either. */
-       operator const void *() const;
+       explicit operator bool() const;
 };