X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fseekable.h;h=84a556163e764e40ed837703434a01dfd60fe9a9;hp=9522311f55b32ae2f75bd2f62f9e233a3f28a6fd;hb=HEAD;hpb=d16185720fa344263367dbd50c61bfc8183d99a4 diff --git a/source/io/seekable.h b/source/io/seekable.h index 9522311..e549d24 100644 --- a/source/io/seekable.h +++ b/source/io/seekable.h @@ -1,6 +1,9 @@ #ifndef MSP_IO_SEEKABLE_H_ #define MSP_IO_SEEKABLE_H_ +#include +#include +#include #include "base.h" namespace Msp { @@ -8,11 +11,7 @@ namespace IO { class Handle; -#ifdef MSVC -typedef __int64 SeekOffset; -#else -typedef long long SeekOffset; -#endif +typedef std::int64_t SeekOffset; enum SeekType { @@ -22,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. */