Wheefun I/O Library
0.0.5
Useful I/O Primitives.
|
Wrap a wfio_binstream_t. More...
#include <bin.h>
Public Types | |
typedef ::wfio_binstream_t | CType |
The C type from which a BinStream is derived. | |
Public Member Functions | |
BinStream () | |
Construct the default BinStream. More... | |
BinStream (::wfio_binstream_t *bin, bool acquire=true) | |
Wrap a wfio_binstream_t. More... | |
BinStream (const BinStream &bin) | |
Copy-construct a BinStream. More... | |
BinStream (Device &dev, int *error=NULL) | |
Construct a BinStream by supplying a Device. More... | |
~BinStream () | |
Release this BinStream. More... | |
endian_t | endian () const throw () |
void | endian (endian_t endian) |
endian_t | floatEndian () const throw () |
void | floatEndian (endian_t endian) |
size_t | read (void *buf, size_t sz, size_t elem) |
Read elements from this BinStream. More... | |
size_t | read (void *buf, size_t len) |
Read bytes from this BinStream. More... | |
int | read () |
Read a byte from the supplied binstream. | |
size_t | write (const void *buf, size_t sz, size_t elem) |
Write elements to this BinStream. More... | |
size_t | write (const void *buf, size_t len) |
Write a byte vector to this BinStream. More... | |
bool | write (char c) |
Write a byte to the this BinStream. More... | |
size_t | readSI16V (sint16_t *buf, size_t len) |
Read a vector of 16-bit signed integers. More... | |
size_t | writeSI16V (const sint16_t *buf, size_t len) |
Write a vector of 16-bit signed integers. More... | |
bool | writeSI16 (wfio_sint16_t si16) |
Write a single 16-bit signed integer. More... | |
size_t | readUI16V (uint16_t *buf, size_t len) |
Read a vector of 16-bit unsigned integers. More... | |
size_t | writeUI16V (const uint16_t *buf, size_t len) |
Write a vector of 16-bit unsigned integers. More... | |
bool | writeUI16 (uint16_t ui16) |
Write a single 16-bit unsigned integer. More... | |
size_t | readSI32V (sint32_t *buf, size_t len) |
Read a vector of 32-bit signed integers. More... | |
size_t | writeSI32V (const sint32_t *buf, size_t len) |
Write a vector of 32-bit signed integers. More... | |
bool | writeSI32 (sint32_t si32) |
Write a single 32-bit signed integer. More... | |
size_t | readUI32V (uint32_t *buf, size_t len) |
Read a vector of 32-bit unsigned integers. More... | |
size_t | writeUI32V (const uint32_t *buf, size_t len) |
Write a vector of 32-bit unsigned integers. More... | |
bool | writeUI32 (uint32_t ui32) |
Write a single 32-bit unsigned integer. More... | |
size_t | readSI64V (sint64_t *buf, size_t len) |
Read a vector of 64-bit signed integers. More... | |
size_t | writeSI64V (const sint64_t *buf, size_t len) |
Write a vector of 64-bit signed integers. More... | |
bool | writeSI64 (sint64_t si64) |
Write a single 64-bit signed integer. More... | |
size_t | readUI64V (uint64_t *buf, size_t len) |
Read a vector of 64-bit unsigned integers. More... | |
size_t | writeUI64V (const uint64_t *buf, size_t len) |
Write a vector of 64-bit unsigned integers. More... | |
bool | writeUI64 (uint64_t ui64) |
Write a single 64-bit unsigned integer. More... | |
size_t | readB32V (wfio_flt32_t *buf, size_t len) |
Read a vector of 32-bit IEEE 754 binary floats. More... | |
size_t | writeB32V (const wfio_flt32_t *buf, size_t len) |
Write a vector of 32-bit IEEE 754 binary floats. More... | |
bool | writeB32 (wfio_flt32_t f32) |
Write a single 32-bit IEEE 754 binary float. More... | |
size_t | readB64V (wfio_flt64_t *buf, size_t len) |
Read a vector of 64-bit IEEE 754 binary floats. More... | |
size_t | writeB64V (const wfio_flt64_t *buf, size_t len) |
Write a vector of 64-bit IEEE 754 binary floats. More... | |
bool | writeB64 (wfio_flt64_t f64) |
Write a single 64-bit IEEE 754 binary float. More... | |
bool | flush () |
Attempt to flush this BinStream. More... | |
size_t | bufSz () const |
Obtain the buffer size for this BinStream. More... | |
size_t | bufSz (size_t sz) |
Set the buffer size for this BinStream. More... | |
int | vdcntl (wfio_dcntl_t cmd, va_list va) |
Perform device-independent I/O control on this binstream using a va_list. More... | |
int | dcntl (wfio_dcntl_t cmd,...) |
Perform device-independent I/O control on this binstream. More... | |
int | vioctl (int cmd, va_list va) |
Perform device-dependent I/O control on this binstream. More... | |
int | ioctl (wfio_binstream_t *bin, int cmd,...) |
Perform device-dependent I/O control on this binstream. More... | |
int | ecode () const throw () |
Obtain the error code associated with this BinStream. | |
void | ecode (int ecode) throw () |
Set the error code associated with this BinStream. More... | |
bool | valid () const throw () |
Determine if this BinStream is valid. More... | |
operator bool () const throw () | |
Synonymous with this->valid(). More... | |
operator::wfio_binstream_t * () throw () | |
Implicitly convert this BinStream into it's C equivalent. | |
Wrap a wfio_binstream_t.
|
inline |
|
inline |
Wrap a wfio_binstream_t.
bin | The binstream to wrap. |
acquire | Whether or not the binstream should be acquired as a consequence of constructing this object. |
bin
from the context in which it is called, then acquire
should be false
.
|
inline |
|
inline |
|
inline |
Release this BinStream.
This method releases the underlying CType if this object is valid.
|
inline |
|
inline |
Set the buffer size for this BinStream.
sz | The requested size to set. |
|
inline |
Perform device-independent I/O control on this binstream.
cmd | The command to send to the binstream. |
... | Additional arguments to the dcntl. |
|
inline |
Set the error code associated with this BinStream.
ecode | the new error code to set. |
|
inline |
Attempt to flush this BinStream.
|
inline |
Perform device-dependent I/O control on this binstream.
cmd | The command to send to the binstream. |
... | Additional arguments to the ioctl. |
|
inline |
Synonymous with this->valid().
|
inline |
Read elements from this BinStream.
buf | The buffer to read into. |
sz | The size of each element to read. |
elem | The number of elements to read. |
|
inline |
Read bytes from this BinStream.
buf | The buffer to read into. |
len | The number of bytes to write. |
ecode
.
|
inline |
Read a vector of 32-bit IEEE 754 binary floats.
buf | The buffer to read into. |
len | The maximum number of elements to read. |
ecode
.
|
inline |
Read a vector of 64-bit IEEE 754 binary floats.
buf | The buffer to read into. |
len | The maximum number of elements to read. |
ecode
.
|
inline |
Read a vector of 16-bit signed integers.
buf | The buffer to read into. |
len | The maximum number of elements to read. |
|
inline |
Read a vector of 32-bit signed integers.
buf | The buffer to read into. |
len | The maximum number of elements to read. |
ecode
.
|
inline |
Read a vector of 64-bit signed integers.
buf | The buffer to read into. |
len | The maximum number of elements to read. |
|
inline |
Read a vector of 16-bit unsigned integers.
buf | The buffer to read into. |
len | The maximum number of elements to read. |
|
inline |
Read a vector of 32-bit unsigned integers.
buf | The buffer to read into. |
len | The maximum number of elements to read. |
|
inline |
Read a vector of 64-bit unsigned integers.
buf | The buffer to read into. |
len | The maximum number of elements to read. |
|
inline |
Determine if this BinStream is valid.
This function determines whether or not this BinSTream can be operated on. It is valid iff its underlying pointer is not null.
|
inline |
Perform device-independent I/O control on this binstream using a va_list.
cmd | The command to send to the binstream. |
va | Additional arguments to the ioctl. |
|
inline |
Perform device-dependent I/O control on this binstream.
cmd | The command to send to the binstream. |
... | Additional arguments to the ioctl. |
|
inline |
Write elements to this BinStream.
buf | The buffer to write from. |
sz | The size of each elements. |
len | The maximum number of elements to write. |
|
inline |
Write a byte vector to this BinStream.
buf | The buffer to write from. |
len | The maximum number of bytes to write. |
|
inline |
Write a byte to the this BinStream.
c | The byte to write. |
|
inline |
Write a single 32-bit IEEE 754 binary float.
ui64 | The float to write. |
ecode
.
|
inline |
Write a vector of 32-bit IEEE 754 binary floats.
buf | The buffer to write from. |
len | The maximum number of elements to read. |
ecode
.
|
inline |
Write a single 64-bit IEEE 754 binary float.
ui64 | The float to write. |
ecode
.
|
inline |
Write a vector of 64-bit IEEE 754 binary floats.
buf | The buffer to write from. |
len | The maximum number of elements to read. |
ecode
.
|
inline |
Write a single 16-bit signed integer.
si16 | The integer to write. |
|
inline |
Write a vector of 16-bit signed integers.
buf | The buffer to write from. |
len | The maximum number of elements to read. |
|
inline |
Write a single 32-bit signed integer.
si32 | The integer to write. |
|
inline |
Write a vector of 32-bit signed integers.
buf | The buffer to write from. |
len | The maximum number of elements to read. |
|
inline |
Write a single 64-bit signed integer.
si64 | The integer to write. |
|
inline |
Write a vector of 64-bit signed integers.
buf | The buffer to write from. |
len | The maximum number of elements to read. |
ecode
.
|
inline |
Write a single 16-bit unsigned integer.
ui16 | The integer to write. |
|
inline |
Write a vector of 16-bit unsigned integers.
buf | The buffer to write from. |
len | The maximum number of elements to read. |
|
inline |
Write a single 32-bit unsigned integer.
ui32 | The integer to write. |
|
inline |
Write a vector of 32-bit unsigned integers.
buf | The buffer to write from. |
len | The maximum number of elements to read. |
|
inline |
Write a single 64-bit unsigned integer.
ui64 | The integer to write. |
|
inline |
Write a vector of 64-bit unsigned integers.
buf | The buffer to write from. |
len | The maximum number of elements to read. |