How qicosmos/ormpp works
ormpp is a header-only C++ ORM that presents a common API for mapping C++ entities to SQLite, MySQL, or PostgreSQL and performing database operations. The principal workflow is to register an entity, connect through the ORM facade, build or invoke an operation, and receive mapped results. Its documented capabilities also include connection pools, async MySQL, AOP, and SQLite encryption. The tree includes Iguana serialization formats; their runtime wiring to ormpp is not established by the sampled excerpts, so they are shown as a separate capability. Some internal implementation links are omitted where excerpts do not establish callers.
Main entry points: dbng.hpp ORM facade · iguana.hpp Iguana serialization · sqlite.hpp SQLite adapter · mysql_async.hpp Async MySQL
Components 20
ORM API
- ORM facade
ormpp/dbng.hpp - Entity mapping
ormpp/entity.hpp - Typed query builder
ormpp/query.hpp
Database adapters
- MySQL adapter
ormpp/mysql.hpp - PostgreSQL adapter
ormpp/postgresql.hpp - SQLite adapter
ormpp/sqlite.hpp
Connection management
- Connection pools
ormpp/connection_pool.hpp - Async connections
ormpp/async_connection_pool.hpp - Async MySQL
ormpp/mysql_async.hpp - AOP hooks
ormpp/dbng.hpp - SQLite encryption
ormpp/sqlite.hpp
Serialization
- Iguana serialization
iguana/iguana.hpp - JSON reader/writer
iguana/json_reader.hpp - XML reader/writer
iguana/xml_reader.hpp - YAML reader/writer
iguana/yaml_reader.hpp - Protobuf reader/writer
iguana/pb_reader.hpp
Other components
- C++ application
- MySQL database
- PostgreSQL database
- SQLite database
Connections 18
- C++ application → ORM facade: calls API
- ORM facade → Entity mapping: maps entities
- ORM facade → Typed query builder: builds queries
- ORM facade → MySQL adapter: dispatches operations
- ORM facade → PostgreSQL adapter: dispatches operations
- ORM facade → SQLite adapter: dispatches operations
- MySQL adapter → MySQL database: executes SQL
- PostgreSQL adapter → PostgreSQL database: executes SQL
- SQLite adapter → SQLite database: executes SQL
- ORM facade → Connection pools: uses connections
- Async MySQL → Async connections: uses connections
- Async MySQL → MySQL database: queries asynchronously
- ORM facade → AOP hooks: accepts hooks
- SQLite adapter → SQLite encryption: supports encryption
- Iguana serialization → JSON reader/writer: provides format
- Iguana serialization → XML reader/writer: provides format
- Iguana serialization → YAML reader/writer: provides format
- Iguana serialization → Protobuf reader/writer: provides format