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

C++ - data serialization

Name: Anonymous 2011-07-06 7:44

I needed to serialize some simple data structures in C++ code and remembered how to do it in C#. It was like 9001 lines of code of boilerplate crap in .NET environment.

Well, in C++ it was of course hard because C++ is such crappy language, rite?


template<typename T>
bool serializeData(const T &data, std::ostream &os)
{
    os.write(reinterpret_cast<const char*>(&data), sizeof(data));
    return os.good();
}

template<typename T>
bool deserializeData(T &data, std::istream &is)
{
    is.read(reinterpret_cast<char*>(&data), sizeof(data));
    return is.good();
}

Name: Anonymous 2011-07-07 6:12

>>27
Are you saying you can't fuck up the call stack in C++? Are you dumb? Of course you can!
Manually optimize a tail call by dropping one return address from the return stack. The code must be portable. You can't do assumptions on the calling convention, the stack arrangement and direction. (unless you can prove that it can be detected portably)

Basically, do a RDROP.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List