7 #ifndef NAZARA_STREAM_HPP 8 #define NAZARA_STREAM_HPP 10 #include <Nazara/Prerequesites.hpp> 11 #include <Nazara/Core/Endianness.hpp> 12 #include <Nazara/Core/Enums.hpp> 26 virtual bool EndOfStream()
const = 0;
28 inline void EnableTextMode(
bool textMode);
32 virtual UInt64 GetCursorPos()
const = 0;
33 virtual String GetDirectory()
const;
34 virtual String GetPath()
const;
38 virtual UInt64 GetSize()
const = 0;
40 inline std::size_t Read(
void* buffer, std::size_t size);
41 virtual String ReadLine(
unsigned int lineSize = 0);
43 inline bool IsReadable()
const;
44 inline bool IsSequential()
const;
45 inline bool IsTextModeEnabled()
const;
46 inline bool IsWritable()
const;
48 virtual bool SetCursorPos(UInt64 offset) = 0;
51 bool Write(
const String&
string);
52 inline std::size_t Write(
const void* buffer, std::size_t size);
60 virtual void FlushStream() = 0;
61 virtual std::size_t ReadBlock(
void* buffer, std::size_t size) = 0;
62 virtual std::size_t WriteBlock(
const void* buffer, std::size_t size) = 0;
69 #include <Nazara/Core/Stream.inl> 71 #endif // NAZARA_STREAM_HPP TODO: Inherit SoundEmitter from Node.
Definition: Algorithm.hpp:12
Core class that represents a string.
Definition: String.hpp:22
Core class that represents an array of bytes.
Definition: ByteArray.hpp:18
Core class that represents a stream.
Definition: Stream.hpp:19