Common subclass of DataStream for handling data from chunks of memory. More...
#include <OgreDataStream.h>
Public Types | |
enum | AccessMode { READ = 1, WRITE = 2 } |
Public Member Functions | |
MemoryDataStream (void *pMem, size_t size, bool freeOnClose=false, bool readOnly=false) | |
Wrap an existing memory chunk in a stream. | |
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 (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, const DataStreamPtr &sourceStream, bool freeOnClose=true, bool readOnly=false) | |
Create a named 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 (const String &name, size_t size, bool freeOnClose=true, bool readOnly=false) | |
Create a named stream with a brand new empty memory chunk. | |
~MemoryDataStream () | |
uchar * | getPtr (void) |
Get a pointer to the start of the memory block this stream holds. | |
uchar * | getCurrentPtr (void) |
Get a pointer to the current position in the memory block this stream holds. | |
size_t | read (void *buf, size_t count) |
size_t | write (const void *buf, size_t count) |
size_t | readLine (char *buf, size_t maxCount, const String &delim="\n") |
size_t | skipLine (const String &delim="\n") |
void | skip (long count) |
void | seek (size_t pos) |
size_t | tell (void) const |
bool | eof (void) const |
void | close (void) |
void | setFreeOnClose (bool free) |
Sets whether or not to free the encapsulated memory on close. | |
const String & | getName (void) |
Returns the name of the stream, if it has one. | |
uint16 | getAccessMode () const |
Gets the access mode of the stream. | |
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) |
virtual String | getLine (bool trimAfter=true) |
Returns a String containing the next line of data, optionally trimmed for whitespace. | |
virtual String | getAsString (void) |
Returns a String containing the entire stream. | |
size_t | size (void) const |
Returns the total size of the data to be read from the stream, or 0 if this is indeterminate for this stream. | |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info | |
void * | operator new[] (size_t sz) |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
Protected Attributes | |
uchar * | mData |
Pointer to the start of the data area. | |
uchar * | mPos |
Pointer to the current position in the memory. | |
uchar * | mEnd |
Pointer to the end of the memory. | |
bool | mFreeOnClose |
Do we delete the memory on close. | |
String | mName |
The name (e.g. resource name) that can be used to identify the source fot his data (optional). | |
size_t | mSize |
Size of the data in the stream (may be 0 if size cannot be determined). | |
uint16 | mAccess |
What type of access is allowed (AccessMode). |
Common subclass of DataStream for handling data from chunks of memory.
Definition at line 316 of file OgreDataStream.h.
enum Ogre::DataStream::AccessMode [inherited] |
Definition at line 178 of file OgreDataStream.h.
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 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 | ( | 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 | Weak reference to 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 |
Ogre::MemoryDataStream::~MemoryDataStream | ( | ) |
void Ogre::MemoryDataStream::close | ( | void | ) | [virtual] |
Close the stream; this makes further operations invalid.
Implements Ogre::DataStream.
bool Ogre::MemoryDataStream::eof | ( | void | ) | const [virtual] |
Returns true if the stream has reached the end.
Implements Ogre::DataStream.
uint16 Ogre::DataStream::getAccessMode | ( | ) | const [inherited] |
Gets the access mode of the stream.
Definition at line 201 of file OgreDataStream.h.
virtual String Ogre::DataStream::getAsString | ( | void | ) | [virtual, inherited] |
Returns a String containing the entire stream.
uchar* Ogre::MemoryDataStream::getCurrentPtr | ( | void | ) |
Get a pointer to the current position in the memory block this stream holds.
Definition at line 438 of file OgreDataStream.h.
virtual String Ogre::DataStream::getLine | ( | bool | trimAfter = true |
) | [virtual, inherited] |
Returns a String containing the next line of data, optionally trimmed for whitespace.
trimAfter | If true, the line is trimmed for whitespace (as in String.trim(true,true)) |
const String& Ogre::DataStream::getName | ( | void | ) | [inherited] |
Returns the name of the stream, if it has one.
Definition at line 199 of file OgreDataStream.h.
uchar* Ogre::MemoryDataStream::getPtr | ( | void | ) |
Get a pointer to the start of the memory block this stream holds.
Definition at line 435 of file OgreDataStream.h.
virtual bool Ogre::DataStream::isReadable | ( | ) | const [virtual, inherited] |
Reports whether this stream is readable.
Definition at line 203 of file OgreDataStream.h.
virtual bool Ogre::DataStream::isWriteable | ( | ) | const [virtual, inherited] |
Reports whether this stream is writeable.
Definition at line 205 of file OgreDataStream.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
void * | ||||
) | [inherited] |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 118 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
void * | ptr | |||
) | [inherited] |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 72 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
operator new, with debug line info
Definition at line 67 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 90 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
array operator new, with debug line info
Definition at line 85 of file OgreMemoryAllocatedObject.h.
DataStream& Ogre::DataStream::operator>> | ( | T & | val | ) | [inherited] |
size_t Ogre::MemoryDataStream::read | ( | void * | buf, | |
size_t | count | |||
) | [virtual] |
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.
size_t Ogre::MemoryDataStream::readLine | ( | char * | buf, | |
size_t | maxCount, | |||
const String & | delim = "\n" | |||
) | [virtual] |
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.
void Ogre::MemoryDataStream::seek | ( | size_t | pos | ) | [virtual] |
Repositions the read point to a specified byte.
Implements Ogre::DataStream.
void Ogre::MemoryDataStream::setFreeOnClose | ( | bool | free | ) |
Sets whether or not to free the encapsulated memory on close.
Definition at line 477 of file OgreDataStream.h.
size_t Ogre::DataStream::size | ( | void | ) | const [inherited] |
Returns the total size of the data to be read from the stream, or 0 if this is indeterminate for this stream.
Definition at line 296 of file OgreDataStream.h.
void Ogre::MemoryDataStream::skip | ( | long | count | ) | [virtual] |
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.
size_t Ogre::MemoryDataStream::skipLine | ( | const String & | delim = "\n" |
) | [virtual] |
Skip a single line from the stream.
delim | The delimiter(s) to stop at |
Reimplemented from Ogre::DataStream.
size_t Ogre::MemoryDataStream::tell | ( | void | ) | const [virtual] |
Returns the current byte offset from beginning.
Implements Ogre::DataStream.
size_t Ogre::MemoryDataStream::write | ( | const void * | buf, | |
size_t | count | |||
) | [virtual] |
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.
uint16 Ogre::DataStream::mAccess [protected, inherited] |
What type of access is allowed (AccessMode).
Definition at line 189 of file OgreDataStream.h.
uchar* Ogre::MemoryDataStream::mData [protected] |
Pointer to the start of the data area.
Definition at line 320 of file OgreDataStream.h.
uchar* Ogre::MemoryDataStream::mEnd [protected] |
Pointer to the end of the memory.
Definition at line 324 of file OgreDataStream.h.
bool Ogre::MemoryDataStream::mFreeOnClose [protected] |
Do we delete the memory on close.
Definition at line 326 of file OgreDataStream.h.
String Ogre::DataStream::mName [protected, inherited] |
The name (e.g. resource name) that can be used to identify the source fot his data (optional).
Definition at line 185 of file OgreDataStream.h.
uchar* Ogre::MemoryDataStream::mPos [protected] |
Pointer to the current position in the memory.
Definition at line 322 of file OgreDataStream.h.
size_t Ogre::DataStream::mSize [protected, inherited] |
Size of the data in the stream (may be 0 if size cannot be determined).
Definition at line 187 of file OgreDataStream.h.
Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:37:18 2012