OGRE-Next
3.0.0
Object-Oriented Graphics Rendering Engine
|
Common subclass of DataStream for handling data from chunks of memory. More...
#include <OgreDataStream.h>
Public Member Functions | |
MemoryDataStream (const String &name, const DataStreamPtr &sourceStream, bool freeOnClose=true, bool readOnly=false) | |
Create a named stream which pre-buffers the contents of another stream. More... | |
MemoryDataStream (const String &name, DataStream &sourceStream, bool freeOnClose=true, bool readOnly=false) | |
Create a named stream which pre-buffers the contents of another stream. More... | |
MemoryDataStream (const String &name, size_t size, bool freeOnClose=true, bool readOnly=false) | |
Create a named stream with a brand new empty memory chunk. More... | |
MemoryDataStream (const String &name, void *pMem, size_t size, bool freeOnClose=false, bool readOnly=false) | |
Wrap an existing memory chunk in a named stream. More... | |
MemoryDataStream (DataStream &sourceStream, bool freeOnClose=true, bool readOnly=false) | |
Create a stream which pre-buffers the contents of another stream. More... | |
MemoryDataStream (DataStreamPtr &sourceStream, bool freeOnClose=true, bool readOnly=false) | |
Create a stream which pre-buffers the contents of another stream. More... | |
MemoryDataStream (size_t size, bool freeOnClose=true, bool readOnly=false) | |
Create a stream with a brand new empty memory chunk. More... | |
MemoryDataStream (void *pMem, size_t size, bool freeOnClose=false, bool readOnly=false) | |
Wrap an existing memory chunk in a stream. More... | |
~MemoryDataStream () override | |
void | close () override |
Close the stream; this makes further operations invalid. More... | |
bool | eof () const override |
Returns true if the stream has reached the end. More... | |
uchar * | getCurrentPtr () |
Get a pointer to the current position in the memory block this stream holds. More... | |
uchar * | getPtr () |
Get a pointer to the start of the memory block this stream holds. More... | |
size_t | read (void *buf, size_t count) override |
Read the requisite number of bytes from the stream, stopping at the end of the file. More... | |
size_t | readLine (char *buf, size_t maxCount, const String &delim="\n") override |
Get a single line from the stream. More... | |
void | seek (size_t pos) override |
Repositions the read point to a specified byte. More... | |
void | setFreeOnClose (bool free) |
Sets whether or not to free the encapsulated memory on close. More... | |
void | skip (long count) override |
Skip a defined number of bytes. More... | |
size_t | skipLine (const String &delim="\n") override |
Skip a single line from the stream. More... | |
size_t | tell () const override |
Returns the current byte offset from beginning. More... | |
size_t | write (const void *buf, size_t count) override |
Write the requisite number of bytes from the stream (only applicable to streams that are not read-only) More... | |
Public Member Functions inherited from Ogre::DataStream | |
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 () |
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) |
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... | |
Additional Inherited Members | |
Public Types inherited from Ogre::DataStream | |
enum | AccessMode { READ = 1 , WRITE = 2 } |
Common subclass of DataStream for handling data from chunks of memory.
Ogre::MemoryDataStream::MemoryDataStream | ( | void * | pMem, |
size_t | size, | ||
bool | freeOnClose = false , |
||
bool | readOnly = false |
||
) |
Wrap an existing memory chunk in a stream.
pMem | Pointer to the existing memory |
size | The size of the memory chunk in bytes |
freeOnClose | If true, the memory associated will be destroyed when the stream is closed. Note: it's important that if you set this option to true, that you allocated the memory using OGRE_ALLOC_T with a category of MEMCATEGORY_GENERAL to ensure the freeing of memory matches up. |
readOnly | Whether to make the stream on this memory read-only once created |
Ogre::MemoryDataStream::MemoryDataStream | ( | const String & | name, |
void * | pMem, | ||
size_t | size, | ||
bool | freeOnClose = false , |
||
bool | readOnly = false |
||
) |
Wrap an existing memory chunk in a named stream.
name | The name to give the stream |
pMem | Pointer to the existing memory |
size | The size of the memory chunk in bytes |
freeOnClose | If true, the memory associated will be destroyed when the stream is destroyed. Note: it's important that if you set this option to true, that you allocated the memory using OGRE_ALLOC_T with a category of MEMCATEGORY_GENERAL ensure the freeing of memory matches up. |
readOnly | Whether to make the stream on this memory read-only once created |
Ogre::MemoryDataStream::MemoryDataStream | ( | DataStream & | sourceStream, |
bool | freeOnClose = true , |
||
bool | readOnly = false |
||
) |
Create a stream which pre-buffers the contents of another stream.
sourceStream | Another DataStream which will provide the source of data |
freeOnClose | If true, the memory associated will be destroyed when the stream is destroyed. |
readOnly | Whether to make the stream on this memory read-only once created |
Ogre::MemoryDataStream::MemoryDataStream | ( | DataStreamPtr & | sourceStream, |
bool | freeOnClose = true , |
||
bool | readOnly = false |
||
) |
Create a stream which pre-buffers the contents of another stream.
sourceStream | Another DataStream which will provide the source of data |
freeOnClose | If true, the memory associated will be destroyed when the stream is destroyed. |
readOnly | Whether to make the stream on this memory read-only once created |
Ogre::MemoryDataStream::MemoryDataStream | ( | const String & | name, |
DataStream & | sourceStream, | ||
bool | freeOnClose = true , |
||
bool | readOnly = false |
||
) |
Create a named stream which pre-buffers the contents of another stream.
name | The name to give the stream |
sourceStream | Another DataStream which will provide the source of data |
freeOnClose | If true, the memory associated will be destroyed when the stream is destroyed. |
readOnly | Whether to make the stream on this memory read-only once created |
Ogre::MemoryDataStream::MemoryDataStream | ( | const String & | name, |
const DataStreamPtr & | sourceStream, | ||
bool | freeOnClose = true , |
||
bool | readOnly = false |
||
) |
Create a named stream which pre-buffers the contents of another stream.
name | The name to give the stream |
sourceStream | Another DataStream which will provide the source of data |
freeOnClose | If true, the memory associated will be destroyed when the stream is destroyed. |
readOnly | Whether to make the stream on this memory read-only once created |
Ogre::MemoryDataStream::MemoryDataStream | ( | size_t | size, |
bool | freeOnClose = true , |
||
bool | readOnly = false |
||
) |
Create a stream with a brand new empty memory chunk.
size | The size of the memory chunk to create in bytes |
freeOnClose | If true, the memory associated will be destroyed when the stream is destroyed. |
readOnly | Whether to make the stream on this memory read-only once created |
Ogre::MemoryDataStream::MemoryDataStream | ( | const String & | name, |
size_t | size, | ||
bool | freeOnClose = true , |
||
bool | readOnly = false |
||
) |
Create a named stream with a brand new empty memory chunk.
name | The name to give the stream |
size | The size of the memory chunk to create in bytes |
freeOnClose | If true, the memory associated will be destroyed when the stream is destroyed. |
readOnly | Whether to make the stream on this memory read-only once created |
|
override |
|
overridevirtual |
Close the stream; this makes further operations invalid.
Implements Ogre::DataStream.
|
overridevirtual |
Returns true if the stream has reached the end.
Implements Ogre::DataStream.
|
inline |
Get a pointer to the current position in the memory block this stream holds.
|
inline |
Get a pointer to the start of the memory block this stream holds.
|
overridevirtual |
Read the requisite number of bytes from the stream, stopping at the end of the file.
buf | Reference to a buffer pointer |
count | Number of bytes to read |
Implements Ogre::DataStream.
|
overridevirtual |
Get a single line from the stream.
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 |
Reimplemented from Ogre::DataStream.
|
overridevirtual |
Repositions the read point to a specified byte.
Implements Ogre::DataStream.
|
inline |
Sets whether or not to free the encapsulated memory on close.
|
overridevirtual |
Skip a defined number of bytes.
This can also be a negative value, in which case the file pointer rewinds a defined number of bytes.
Implements Ogre::DataStream.
|
overridevirtual |
Skip a single line from the stream.
delim | The delimiter(s) to stop at |
Reimplemented from Ogre::DataStream.
|
overridevirtual |
Returns the current byte offset from beginning.
Implements Ogre::DataStream.
|
overridevirtual |
Write the requisite number of bytes from the stream (only applicable to streams that are not read-only)
buf | Pointer to a buffer containing the bytes to write |
count | Number of bytes to write |
Reimplemented from Ogre::DataStream.