Deserialization

With respect to desrialization the almost same applies as for serialization. Each message generated has a deserialize() function which takes an object derived from ReadBufferInterface as input.

ReadBufferInterface
The user of this library is to write an implementation for the ReadBufferInterface.

Again the user of this library is to write an implementation for the ReadBufferInterface, tailored to their needs. The class should hold the whole serialized message as received over your specific communications method. For instance it could be all the packages combined after you received the data over TCP. If you need more documentation on the ReadBufferInterface class you can find it here.