Stream-style interface to the default stdin/stdout console streams. More...
#include <mitsuba/core/cstream.h>
Public Member Functions | |
std::string | toString () const |
Return a string representation. More... | |
virtual const Class * | getClass () const |
Retrieve this object's class. More... | |
Constructors | |
ConsoleStream () | |
Create a new console stream. More... | |
Implementation of the Stream interface | |
void | read (void *ptr, size_t size) |
Read a specified amount of data from the stream. More... | |
void | write (const void *ptr, size_t size) |
Write a specified amount of data into the stream. More... | |
void | seek (size_t pos) |
Seek to a position inside the stream. More... | |
size_t | getPos () const |
Get the current position inside the stream. More... | |
size_t | getSize () const |
Return the size of the stream. More... | |
void | truncate (size_t size) |
Truncate the stream to a given size. More... | |
void | flush () |
Flush the stream's buffers. More... | |
bool | canWrite () const |
Can we write to the stream? More... | |
bool | canRead () const |
Can we read from the stream? More... | |
Public Member Functions inherited from mitsuba::Stream | |
Stream () | |
Create a new stream. More... | |
void | skip (size_t amount) |
Skip the given number of bytes. More... | |
void | writeString (const std::string &value) |
Write a null-terminated string to the stream. More... | |
void | writeLine (const std::string &value) |
Write a string followed by a newline. More... | |
void | writeShort (short value) |
Write a signed short (16 bit) to the stream. More... | |
void | writeShortArray (const short *values, size_t size) |
Write an array of signed shorts (16 bit) to the stream. More... | |
template<size_t N> | |
void | writeShortArray (const short(&values)[N]) |
Write an array of known size of signed shorts (16 bit) to the stream. More... | |
void | writeUShort (unsigned short value) |
Write an unsigned short (16 bit) to the stream. More... | |
void | writeUShortArray (const unsigned short *values, size_t size) |
Write an array of unsigned shorts (16 bit) to the stream. More... | |
template<size_t N> | |
void | writeUShortArray (const unsigned short(&values)[N]) |
Write an array of known size of unsigned shorts (16 bit) to the stream. More... | |
void | writeInt (int value) |
Write a signed int (32 bit) to the stream. More... | |
void | writeIntArray (const int *values, size_t size) |
Write an array of signed ints (32 bit) to the stream. More... | |
template<size_t N> | |
void | writeIntArray (const int(&values)[N]) |
Write an array of known size of signed ints (32 bit) to the stream. More... | |
void | writeUInt (unsigned int value) |
Write an unsigned int (32 bit) to the stream. More... | |
void | writeUIntArray (const unsigned int *values, size_t size) |
Write an array of unsigned ints (32 bit) to the stream. More... | |
template<size_t N> | |
void | writeUIntArray (const unsigned int(&values)[N]) |
Write an array of known size of unsigned ints (32 bit) to the stream. More... | |
void | writeLong (int64_t value) |
Write a signed int (64 bit) to the stream. More... | |
void | writeLongArray (const int64_t *values, size_t size) |
Write an array of signed ints (64 bit) to the stream. More... | |
template<size_t N> | |
void | writeLongArray (const int64_t(&values)[N]) |
Write an array of known size of signed ints (64 bit) to the stream. More... | |
void | writeULong (uint64_t value) |
Write an unsigned int (64 bit) to the stream. More... | |
void | writeSize (size_t value) |
Write a size value to the stream. More... | |
void | writeULongArray (const uint64_t *values, size_t size) |
Write an array of unsigned ints (64 bit) to the stream. More... | |
template<size_t N> | |
void | writeULongArray (const uint64_t(&values)[N]) |
Write an array of known size of unsigned ints (64 bit) to the stream. More... | |
void | writeChar (char value) |
Write a signed character (8 bit) to the stream. More... | |
void | writeUChar (unsigned char value) |
Write an unsigned character (8 bit) to the stream. More... | |
void | writeBool (bool value) |
Write a boolean (8 bit) to the stream. More... | |
void | writeHalf (half value) |
Write a half-precision floating point number (16 bit) to the stream. More... | |
void | writeHalfArray (const half *data, size_t size) |
Write a half-precision floating point array (16 bit) to the stream. More... | |
template<size_t N> | |
void | writeHalfArray (const half(&values)[N]) |
Write a known size half-precision floating point array (16 bit) to the stream. More... | |
void | writeSingle (float value) |
Write a single-precision floating point number (32 bit) to the stream. More... | |
void | writeSingleArray (const float *data, size_t size) |
Write a single-precision floating point array (32 bit) to the stream. More... | |
template<size_t N> | |
void | writeSingleArray (const float(&values)[N]) |
Write a known size single-precision floating point array (32 bit) to the stream. More... | |
void | writeDouble (double value) |
Write a double-precision floating point number (64 bit) to the stream. More... | |
void | writeDoubleArray (const double *data, size_t size) |
Write a double-precision floating point array (64 bit) to the stream. More... | |
template<size_t N> | |
void | writeDoubleArray (const double(&values)[N]) |
Write a known size double-precision floating point array (64 bit) to the stream. More... | |
void | writeFloat (Float value) |
Write a floating point number (configured precision) to the stream. More... | |
void | writeFloatArray (const Float *data, size_t size) |
Write an array of floating point values (configured precision) to the stream. More... | |
template<size_t N> | |
void | writeFloatArray (const Float(&values)[N]) |
Write a known size array of floating point values (configured precision) to the stream. More... | |
bool | isEOF () const |
Return whether we are at the end of the stream. More... | |
std::string | readLine () |
Read a line from the stream and return it as a string. More... | |
std::string | readString () |
Read a null-terminated string from the stream. More... | |
short | readShort () |
Read a signed short (16 bit) from the stream. More... | |
void | readShortArray (short *dest, size_t size) |
Read an array of signed shorts (16 bit) from the stream. More... | |
template<size_t N> | |
void | readShortArray (short(&values)[N]) |
Read an array of known size of signed shorts (16 bit) from the stream. More... | |
unsigned short | readUShort () |
Read an unsigned short (16 bit) from the stream. More... | |
void | readUShortArray (unsigned short *dest, size_t size) |
Read an array of unsigned shorts (16 bit) from the stream. More... | |
template<size_t N> | |
void | readUShortArray (short(&values)[N]) |
Read an array of known size of unsigned shorts (16 bit) from the stream. More... | |
int | readInt () |
Read a signed int (32 bit) from the stream. More... | |
void | readIntArray (int *dst, size_t size) |
Read an array of signed ints (32 bit) from the stream. More... | |
template<size_t N> | |
void | readIntArray (int(&values)[N]) |
Read an array of known size of signed ints (32 bit) from the stream. More... | |
unsigned int | readUInt () |
Read an unsigned int (32 bit) from the stream. More... | |
void | readUIntArray (unsigned int *dest, size_t size) |
Read an array of unsigned ints (32 bit) from the stream. More... | |
template<size_t N> | |
void | readUIntArray (int(&values)[N]) |
Read an array of known size of unsigned ints (32 bit) from the stream. More... | |
int64_t | readLong () |
Read a signed int (64 bit) from the stream. More... | |
void | readLongArray (int64_t *dst, size_t size) |
Read an array of signed ints (64 bit) from the stream. More... | |
template<size_t N> | |
void | readLongArray (int64_t(&values)[N]) |
Read an array of known size of signed ints (64 bit) from the stream. More... | |
uint64_t | readULong () |
Read an unsigned int (64 bit) from the stream. More... | |
size_t | readSize () |
Read a size value from the stream. More... | |
void | readULongArray (uint64_t *dst, size_t size) |
Read an array of unsigned ints (64 bit) from the stream. More... | |
template<size_t N> | |
void | readULongArray (uint64_t(&values)[N]) |
Read an array of known size of unsigned ints (64 bit) from the stream. More... | |
char | readChar () |
Read a signed character (8 bit) from the stream. More... | |
unsigned char | readUChar () |
Read an unsigned character (8 bit) from the stream. More... | |
bool | readBool () |
Read a boolean (8 bit) from the stream. More... | |
half | readHalf () |
Read a half-precision floating point number (16 bit) from the stream. More... | |
void | readHalfArray (half *data, size_t size) |
Read a half-precision floating point array (16 bit) from the stream. More... | |
template<size_t N> | |
void | readHalfArray (half(&values)[N]) |
Read a known-size half-precision floating point array (16 bit) from the stream. More... | |
float | readSingle () |
Read a single-precision floating point number (32 bit) from the stream. More... | |
void | readSingleArray (float *data, size_t size) |
Read a single-precision floating point array (32 bit) from the stream. More... | |
template<size_t N> | |
void | readSingleArray (float(&values)[N]) |
Read a known-size single-precision floating point array (32 bit) from the stream. More... | |
double | readDouble () |
Read a double-precision floating point number (64 bit) from the stream. More... | |
void | readDoubleArray (double *data, size_t size) |
Read a double-precision floating point array (64 bit) from the stream. More... | |
template<size_t N> | |
void | readDoubleArray (double(&values)[N]) |
Read a known-size double-precision floating point array (64 bit) from the stream. More... | |
Float | readFloat () |
Write a floating point number (configured precision) to the stream. More... | |
void | readFloatArray (Float *data, size_t size) |
Write an array of floating point values (configured precision) to the stream. More... | |
template<size_t N> | |
void | readFloatArray (Float(&values)[N]) |
Read a known-size array of floating point values (configured precision) to the stream. More... | |
void | copyTo (Stream *stream, int64_t numBytes=-1) |
Copy content from this stream into another stream. More... | |
template<typename T > | |
T | readElement () |
Read an element from the stream (uses partial template specialization to select a method appropriate to the data type) More... | |
template<typename T > | |
void | writeElement (T value) |
Write an element to the stream (uses partial template specialization to select a method appropriate to the data type) More... | |
template<typename T > | |
void | readArray (T *array, size_t count) |
Read an array from the stream (uses partial template specialization to select a method appropriate to the data type) More... | |
template<typename T , size_t N> | |
void | readArray (T(&arr)[N]) |
Read a known-size array from the stream (uses partial template specialization to select a method appropriate to the data type) More... | |
template<typename T > | |
void | writeArray (const T *array, size_t count) |
Write an array to the stream (uses partial template specialization to select a method appropriate to the data type) More... | |
template<typename T , size_t N> | |
void | writeArray (const T(&arr)[N]) |
Write a known-size array to the stream (uses partial template specialization to select a method appropriate to the data type) More... | |
void | setByteOrder (EByteOrder byteOrder) |
Set the stream byte order. More... | |
EByteOrder | getByteOrder () const |
Return the byte order of this stream. More... | |
Public Member Functions inherited from Object | |
Object () | |
Construct a new object. More... | |
int | getRefCount () const |
Return the current reference count. More... | |
void | incRef () const |
Increase the reference count of the object by one. More... | |
void | decRef (bool autoDeallocate=true) const |
Decrease the reference count of the object and possibly deallocate it. More... | |
Static Public Attributes | |
static Class * | m_theClass |
Static Public Attributes inherited from mitsuba::Stream | |
static Class * | m_theClass |
Static Public Attributes inherited from Object | |
static Class * | m_theClass |
Pointer to the object's class descriptor. More... | |
Protected Member Functions | |
virtual | ~ConsoleStream () |
Virtual destructor. More... | |
Protected Member Functions inherited from mitsuba::Stream | |
virtual | ~Stream () |
Virtual destructor. More... | |
Protected Member Functions inherited from Object | |
virtual | ~Object () |
Virtual private deconstructor. (Will only be called by ref) More... | |
Additional Inherited Members | |
Public Types inherited from mitsuba::Stream | |
enum | EByteOrder { EBigEndian = 0, ELittleEndian = 1, ENetworkByteOrder = EBigEndian } |
Defines the byte order to use in this Stream. More... | |
Static Public Member Functions inherited from mitsuba::Stream | |
static EByteOrder | getHostByteOrder () |
Return the byte order of the underlying machine. More... | |
Static Public Member Functions inherited from Object | |
static void | staticInitialization () |
Initializes the built-in reference count debugger (if enabled) More... | |
static void | staticShutdown () |
Free the memory taken by staticInitialization() More... | |
Stream-style interface to the default stdin/stdout console streams.
mitsuba::ConsoleStream::ConsoleStream | ( | ) |
Create a new console stream.
|
protectedvirtual |
Virtual destructor.
|
virtual |
Can we read from the stream?
Implements mitsuba::Stream.
|
virtual |
Can we write to the stream?
Implements mitsuba::Stream.
|
virtual |
Flush the stream's buffers.
Implements mitsuba::Stream.
|
virtual |
Retrieve this object's class.
Reimplemented from mitsuba::Stream.
|
virtual |
Get the current position inside the stream.
Implements mitsuba::Stream.
|
virtual |
Return the size of the stream.
Implements mitsuba::Stream.
|
virtual |
Read a specified amount of data from the stream.
Throws an exception when the stream ended prematurely
Implements mitsuba::Stream.
|
virtual |
Seek to a position inside the stream.
Implements mitsuba::Stream.
|
virtual |
Return a string representation.
Reimplemented from mitsuba::Stream.
|
virtual |
Truncate the stream to a given size.
Implements mitsuba::Stream.
|
virtual |
Write a specified amount of data into the stream.
Throws an exception when not all data could be written
Implements mitsuba::Stream.
|
static |