How objectbox/objectbox-c works
This repository provides the public C and C++ interfaces for ObjectBox’s embedded, offline-first object and vector database; the core runtime implementation is supplied as a prebuilt library rather than appearing in this tree. The principal workflow is to define a model, open a store, then put, query, and read FlatBuffers-backed objects. The headers also expose relations, asynchronous operations, tree data, and optional Sync capabilities. The graph represents documented API responsibilities and the README’s major capabilities; it does not infer internal core wiring beyond the documented interface boundary.
Main entry points: objectbox.h C API · objectbox.hpp C++ API · flatbuffers.h FlatBuffers Support · flatcc_builder.h C Buffer Builder
Components 18
Persistence
- Model Definition
include/objectbox.h - Store and Transactions
include/objectbox.h - Object CRUD
include/objectbox.hpp - Queries and Indexes
include/objectbox.h - Object Relations
include/objectbox.h - Vector Search
include/objectbox.h - Schema Migration
include/objectbox.h - Async Operations
include/objectbox.h - Tree Data
include/objectbox.h - ObjectBox Runtime
- Embedded Database
Data Formats
- FlatBuffers Support
external/flatbuffers/flatbuffers.h - C Buffer Builder
external/flatcc/flatcc_builder.h
Synchronization
- Sync API
include/objectbox-sync.h - Sync Backend
Other components
- C/C++ Application
Connections 20
- C/C++ Application → C++ API: uses
- C/C++ Application → C API: uses
- C++ API → C API: wraps
- C API → Model Definition: defines schema
- C API → Store and Transactions: opens store
- C++ API → Object CRUD: operates on
- Object CRUD → C API: calls
- C API → Queries and Indexes: executes
- C API → Object Relations: accesses
- C API → Vector Search: searches
- C API → Schema Migration: supports
- C API → Async Operations: dispatches
- C API → Tree Data: accesses
- C Buffer Builder → FlatBuffers Support: builds buffers
- C API → FlatBuffers Support: accepts bytes
- C++ API → ObjectBox Runtime: invokes
- C API → ObjectBox Runtime: invokes
- ObjectBox Runtime → Embedded Database: reads and writes
- Sync API → ObjectBox Runtime: extends runtime
- ObjectBox Runtime → Sync Backend: synchronizes