Copyright 2008 Google Inc.
https://developers.google.com/protocol-buffers/
Protobuf is an excellent tool for data interchange but Google's implementation for C++ requires very large runtime part even in simple use cases (reading protobuf message).
This project is a fork of Google'c protoc compiler that generates a single header file for each proto-file and has minimal compile-time dependencies (single header file of approximately 7KB plus STL). Generated API is mostly compatible with original API, though only methods related to reading data are generated. Decoding code is based on the MapBox pbf.hpp project, written by Dane Springmeyer.
Only protobuf messages are supported, services are not supported. Only C++11 is supported (though the generated code is also compatible with Visual C++ 2013 or later).
Stream decoding is not supported, message must be fully loaded into memory before decoding.
Only very limited testing is done, but no issues are known.
Compilation instructions for protoc are provided in the original protobuf project. For API usage, see examples folder.