]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/seekable.h
Add move semantics to Variant
[libs/core.git] / source / io / seekable.h
index 1fc3f89ed58576fd73c1b68527b51f80133c1f1d..e549d24c5dd7b8a0527b4cb9fc4e039ce887ad91 100644 (file)
@@ -1,7 +1,9 @@
 #ifndef MSP_IO_SEEKABLE_H_
 #define MSP_IO_SEEKABLE_H_
 
-#include <msp/core/inttypes.h>
+#include <cstdint>
+#include <stdexcept>
+#include <msp/core/mspcore_api.h>
 #include "base.h"
 
 namespace Msp {
@@ -9,7 +11,7 @@ namespace IO {
 
 class Handle;
 
-typedef Int64 SeekOffset;
+typedef std::int64_t SeekOffset;
 
 enum SeekType
 {
@@ -19,10 +21,18 @@ enum SeekType
 };
 
 
-class Seekable: public Base
+class MSPCORE_API bad_seek: public std::runtime_error
+{
+public:
+       bad_seek(SeekOffset, SeekType);
+       ~bad_seek() throw() override = default;
+};
+
+
+class MSPCORE_API Seekable: public Base
 {
 protected:
-       Seekable() { }
+       Seekable() = default;
 
 public:
        /** Changes the read/write offset.  Returns the new offset. */