Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Fast and simple C++ byte stream abstraction

Name: Anonymous 2011-07-04 6:04

I wanted a simple stream like class that was very light-weight and easy to use for binary serialization of variable-length structures. I didn't want it to be much more expensive than just dereferencing values with a pointer, but I wanted it to provide somewhat better type safety and endian byte-order independence for working with different file formats in a portable manner.

Furthermore, I wanted it to be usable on top of asynchronous file and network I/O, so you just serialize your stuff into a big block of memory that you specify, and then when you're done you asynchronously stream it to a file or socket. Same process in reverse for deserialization.

This is what I came up with:

byte_stream.hpp - http://codepad.org/4IaQJwpi
byte_stream.cpp - http://codepad.org/8iJiYraM

I've added it to my libprog++ library, so it has some header dependencies, namely the stuff in byte_swap.hpp which maps to compiler intrinsics or inline assembly using the CPU's byte swapping instructions. I've also removed some ugly preprocessor macros for proper shared library/dll symbol exporting for sake of brevity.

So, what do you think /prog/?

Name: Anonymous 2011-07-04 8:38

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:38

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:39

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:39

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:39

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:39

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:39

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:39

>>1

I don't need such class, but the code looks pretty nice. Only thing I don't like is that prog/* dependency, wtf are those...

Name: Anonymous 2011-07-04 8:39

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:39

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:39

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:39

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:40

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:40

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:40

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:40

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:40

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:40

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:40

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:40

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:41

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:41

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:41

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:41

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:41

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:41

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:41

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:41

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:41

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:42

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:42

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:42

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:42

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:42

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:42

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:42

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:42

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:42

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:43

OP here.
Stopped reading right there.

Name: Anonymous 2011-07-04 8:43

OP here.
Stopped reading right there.

Newer Posts