General purpose class used for encapsulating the reading and writing of data.
More...
#include <OgreDataStream.h>
|
| DataStream (const String &name, uint16 accessMode=READ) |
| Constructor for creating named streams. More...
|
|
| DataStream (uint16 accessMode=READ) |
| Constructor for creating unnamed streams. More...
|
|
virtual | ~DataStream () |
|
virtual void | close ()=0 |
| Close the stream; this makes further operations invalid. More...
|
|
virtual bool | eof () const =0 |
| Returns true if the stream has reached the end. More...
|
|
uint16 | getAccessMode () const |
| Gets the access mode of the stream. More...
|
|
virtual String | getAsString () |
| Returns a String containing the entire stream. More...
|
|
virtual String | getLine (bool trimAfter=true) |
| Returns a String containing the next line of data, optionally trimmed for whitespace. More...
|
|
const String & | getName () |
| Returns the name of the stream, if it has one. More...
|
|
virtual bool | isReadable () const |
| Reports whether this stream is readable. More...
|
|
virtual bool | isWriteable () const |
| Reports whether this stream is writeable. More...
|
|
template<typename T > |
DataStream & | operator>> (T &val) |
|
virtual size_t | read (void *buf, size_t count)=0 |
| Read the requisite number of bytes from the stream, stopping at the end of the file. More...
|
|
virtual size_t | readLine (char *buf, size_t maxCount, const String &delim="\n") |
| Get a single line from the stream. More...
|
|
virtual void | seek (size_t pos)=0 |
| Repositions the read point to a specified byte. More...
|
|
size_t | size () const |
| Returns the total size of the data to be read from the stream, or 0 if this is indeterminate for this stream. More...
|
|
virtual void | skip (long count)=0 |
| Skip a defined number of bytes. More...
|
|
virtual size_t | skipLine (const String &delim="\n") |
| Skip a single line from the stream. More...
|
|
virtual size_t | tell () const =0 |
| Returns the current byte offset from beginning. More...
|
|
virtual size_t | write (const void *buf, size_t count) |
| Write the requisite number of bytes from the stream (only applicable to streams that are not read-only) More...
|
|
General purpose class used for encapsulating the reading and writing of data.
- Generally, if a plugin or application provides an ArchiveFactory, it should also provide a DataStream subclass which will be used to stream data out of that Archive implementation, unless it can use one of the common implementations included.
- Note
- Ogre makes no guarantees about thread safety, for performance reasons. If you wish to access stream data asynchronously then you should organise your own mutexes to avoid race conditions.
◆ AccessMode
◆ DataStream() [1/2]
Ogre::DataStream::DataStream |
( |
uint16 |
accessMode = READ | ) |
|
|
inline |
Constructor for creating unnamed streams.
◆ DataStream() [2/2]
Constructor for creating named streams.
◆ ~DataStream()
virtual Ogre::DataStream::~DataStream |
( |
| ) |
|
|
inlinevirtual |
◆ close()
virtual void Ogre::DataStream::close |
( |
| ) |
|
|
pure virtual |
◆ eof()
virtual bool Ogre::DataStream::eof |
( |
| ) |
const |
|
pure virtual |
◆ getAccessMode()
uint16 Ogre::DataStream::getAccessMode |
( |
| ) |
const |
|
inline |
Gets the access mode of the stream.
◆ getAsString()
virtual String Ogre::DataStream::getAsString |
( |
| ) |
|
|
virtual |
Returns a String containing the entire stream.
◆ getLine()
virtual String Ogre::DataStream::getLine |
( |
bool |
trimAfter = true | ) |
|
|
virtual |
Returns a String containing the next line of data, optionally trimmed for whitespace.
- Note
- If you used this function, you must open the stream in binary mode, otherwise, it'll produce unexpected results.
- Parameters
-
trimAfter | If true, the line is trimmed for whitespace (as in String.trim(true,true)) |
◆ getName()
const String& Ogre::DataStream::getName |
( |
| ) |
|
|
inline |
Returns the name of the stream, if it has one.
◆ isReadable()
virtual bool Ogre::DataStream::isReadable |
( |
| ) |
const |
|
inlinevirtual |
Reports whether this stream is readable.
◆ isWriteable()
virtual bool Ogre::DataStream::isWriteable |
( |
| ) |
const |
|
inlinevirtual |
Reports whether this stream is writeable.
◆ operator>>()
template<typename T >
DataStream& Ogre::DataStream::operator>> |
( |
T & |
val | ) |
|
◆ read()
virtual size_t Ogre::DataStream::read |
( |
void * |
buf, |
|
|
size_t |
count |
|
) |
| |
|
pure virtual |
◆ readLine()
virtual size_t Ogre::DataStream::readLine |
( |
char * |
buf, |
|
|
size_t |
maxCount, |
|
|
const String & |
delim = "\n" |
|
) |
| |
|
virtual |
Get a single line from the stream.
- Note
- If you used this function, you must open the stream in binary mode, otherwise, it'll produce unexpected results.
- Parameters
-
buf | Reference to a buffer pointer |
maxCount | The maximum length of data to be read, excluding the terminating character |
delim | The delimiter to stop at |
- Returns
- The number of bytes read, excluding the terminating character
Reimplemented in Ogre::FileStreamDataStream, and Ogre::MemoryDataStream.
◆ seek()
virtual void Ogre::DataStream::seek |
( |
size_t |
pos | ) |
|
|
pure virtual |
◆ size()
size_t Ogre::DataStream::size |
( |
| ) |
const |
|
inline |
Returns the total size of the data to be read from the stream, or 0 if this is indeterminate for this stream.
◆ skip()
virtual void Ogre::DataStream::skip |
( |
long |
count | ) |
|
|
pure virtual |
◆ skipLine()
virtual size_t Ogre::DataStream::skipLine |
( |
const String & |
delim = "\n" | ) |
|
|
virtual |
Skip a single line from the stream.
- Note
- If you used this function, you must open the stream in binary mode, otherwise, it'll produce unexpected results.
- Parameters
-
delim | The delimiter(s) to stop at |
- Returns
- The number of bytes skipped
Reimplemented in Ogre::MemoryDataStream.
◆ tell()
virtual size_t Ogre::DataStream::tell |
( |
| ) |
const |
|
pure virtual |
◆ write()
virtual size_t Ogre::DataStream::write |
( |
const void * |
buf, |
|
|
size_t |
count |
|
) |
| |
|
inlinevirtual |
The documentation for this class was generated from the following file: