uma::bson is a DOM-style C++ API for reading/writing BSON data. Unlike the MongoDB C++ API, which exposes a read-only interface with a separate interface for creating a BSON representation, this API allows reading/writing on the existing data. The API is designed primarily for serialising/deserialising BSON data to/from streams (files, socket connections, etc.).