![]() |
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>
Inheritance diagram for Ogre::MemoryDataStream: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. | |
| MemoryDataStream (const String &name, DataStream &sourceStream, bool freeOnClose=true, bool readOnly=false) | |
| Create a named stream which pre-buffers the contents of another stream. | |
| MemoryDataStream (const String &name, size_t size, bool freeOnClose=true, bool readOnly=false) | |
| Create a named stream with a brand new empty memory chunk. | |
| MemoryDataStream (const String &name, void *pMem, size_t size, bool freeOnClose=false, bool readOnly=false) | |
| Wrap an existing memory chunk in a named stream. | |
| MemoryDataStream (DataStream &sourceStream, bool freeOnClose=true, bool readOnly=false) | |
| Create a stream which pre-buffers the contents of another stream. | |
| MemoryDataStream (DataStreamPtr &sourceStream, bool freeOnClose=true, bool readOnly=false) | |
| Create a stream which pre-buffers the contents of another stream. | |
| MemoryDataStream (size_t size, bool freeOnClose=true, bool readOnly=false) | |
| Create a stream with a brand new empty memory chunk. | |
| MemoryDataStream (void *pMem, size_t size, bool freeOnClose=false, bool readOnly=false) | |
| Wrap an existing memory chunk in a stream. | |
| ~MemoryDataStream () override | |
| void | close () override |
| Close the stream; this makes further operations invalid. | |
| bool | eof () const override |
| Returns true if the stream has reached the end. | |
| uchar * | getCurrentPtr () |
| Get a pointer to the current position in the memory block this stream holds. | |
| uchar * | getPtr () |
| Get a pointer to the start of the memory block this stream holds. | |
| 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. | |
| size_t | readLine (char *buf, size_t maxCount, const String &delim="\n") override |
| Get a single line from the stream. | |
| void | seek (size_t pos) override |
| Repositions the read point to a specified byte. | |
| void | setFreeOnClose (bool free) |
| Sets whether or not to free the encapsulated memory on close. | |
| void | skip (long count) override |
| Skip a defined number of bytes. | |
| size_t | skipLine (const String &delim="\n") override |
| Skip a single line from the stream. | |
| size_t | tell () const override |
| Returns the current byte offset from beginning. | |
| 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) | |
Public Member Functions inherited from Ogre::DataStream | |
| DataStream (const String &name, uint16 accessMode=READ) | |
| Constructor for creating named streams. | |
| DataStream (uint16 accessMode=READ) | |
| Constructor for creating unnamed streams. | |
| virtual | ~DataStream () |
| uint16 | getAccessMode () const |
| Gets the access mode of the stream. | |
| virtual String | getAsString () |
| Returns a String containing the entire stream. | |
| virtual String | getLine (bool trimAfter=true) |
| Returns a String containing the next line of data, optionally trimmed for whitespace. | |
| const String & | getName () |
| Returns the name of the stream, if it has one. | |
| virtual bool | isReadable () const |
| Reports whether this stream is readable. | |
| virtual bool | isWriteable () const |
| Reports whether this stream is writeable. | |
| 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. | |
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 |
References Ogre::DataStream::size().
| 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 |
References Ogre::DataStream::size().
| 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 |
References Ogre::DataStream::DataStream().
| 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 |
References Ogre::DataStream::DataStream().
| 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 |
References Ogre::DataStream::size().
| 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 |
References Ogre::DataStream::size().
|
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.