|  | 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:
 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 | 
| 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.