Portable Stream implementation, which encapsulates a socket for IPv4/IPv6 network communications.
More...
|
virtual const Class * | getClass () const |
| Retrieve this object's class. More...
|
|
|
| SocketStream (socket_t socket) |
| Create a stream from an existing socket. More...
|
|
| SocketStream (const std::string &host, int port) |
| Connect to the given host/port. More...
|
|
|
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...
|
|
| 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...
|
|
| 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...
|
|
Portable Stream implementation, which encapsulates a socket for IPv4/IPv6 network communications.
By default, this type of stream is configured to use network byte order (= big endian).