Convert an io pipe into a range of elements of the pipe. This effectively
converts an iopipe range of T into a range of T. Note that auto-decoding
does NOT happen still, so converting a string into an input range produces a
range of char. The range is extended when no more data is in the window.
Swap the bytes of every element before handing to next processor. The
littleEndian compile-time parameter indicates what endianness the data is
in. If it matches the platform's endianness, then nothing is done (no byte
swap occurs). Otherwise, a byte swap processor is returned wrapping the io
pipe.
Write data from a random access range or character array into the given
iopipe. If relOnWrite is set to true (ReleaseOnWrite.yes), then all data
before the provided offset, and any new data written to the pipe is always
released. This is mainly useful for output buffers where you do not wish to
allocate extra space in the buffer, and wish to flush the buffer when it's
full.