diff --git a/io/nativefilestream.cpp b/io/nativefilestream.cpp index 51913d5..584dca8 100644 --- a/io/nativefilestream.cpp +++ b/io/nativefilestream.cpp @@ -132,19 +132,19 @@ struct NativeFileParams { * \brief Constructs a new NativeFileStream which is initially closed. */ NativeFileStream::NativeFileStream() - : m_filebuf(make_unique()) + : iostream(new StreamBuffer) + , m_filebuf(rdbuf()) { - init(m_filebuf.get()); } /*! * \brief Moves the NativeFileStream. */ NativeFileStream::NativeFileStream(NativeFileStream &&other) - : m_filebuf(std::move(other.m_filebuf)) + : iostream(other.m_filebuf.release()) + , m_filebuf(rdbuf()) , m_fileHandle(other.m_fileHandle) { - init(m_filebuf.get()); } /*! diff --git a/io/nativefilestream.h b/io/nativefilestream.h index 35c25e8..2322a21 100644 --- a/io/nativefilestream.h +++ b/io/nativefilestream.h @@ -44,11 +44,13 @@ private: }; inline NativeFileStream::NativeFileStream(const std::string &path, ios_base::openmode openMode) + : NativeFileStream() { open(path, openMode); } inline NativeFileStream::NativeFileStream(int fileDescriptor, ios_base::openmode openMode) + : NativeFileStream() { openFromFileDescriptor(fileDescriptor, openMode); }