C++ Technical Space
Table of Contents
C++ is a general-purpose, statically-typed, compiled programming language, an extension of C with classes and (in modern revisions) templates, RAII, and a large standard library. ORE Studio's C++ code is built with CMake and vcpkg, targets Qt 6 for its desktop UI, and compiles against Boost and other vcpkg-managed dependencies.
The C++ technical space is ORE Studio's primary codegen TS: it generates
the majority of the boilerplate across the domain, repository,
messaging, service, and UI layers. Every entity that traverses the
full stack (currency, country, etc.) produces projections in
this TS across multiple components.
This page's role is to capture the domain concepts of the C++ technical space — what it is, its Parts, its SRPPs, and how its facets map onto components — in prose, for a human reader coming to this TS for the first time. It does not enumerate facets or archetypes: for that inventory — every facet, its archetype count, and a link to its literate source — see ores.cpp, the generated TS inventory page.
For the MASD concepts (TS, Part, Facet, Archetype, SRPP) see MASD, Physical Space, and Facet. For the component topology see System Model.
Parts
The C++ TS has two parts, following the canonical C++ include/src split:
| Part | Directory | Contains |
|---|---|---|
include/ |
include/<namespace>/ |
Public API, forward declarations, inline templates |
src/ |
src/<namespace>/ |
Definitions, non-inline implementations |
Each facet projects into one or both parts: declarations under
include/<namespace>/, definitions under src/<namespace>/.
Component mapping
The C++ TS's projections distribute across components according to the component architecture:
| Facet | Typical target component |
|---|---|
| Domain | ores.<group>.api |
| Repository | ores.<group>.core |
| Protocol | ores.<group>.api (message struct definitions) |
| NATS (handler, sub-registrar, eventing, event-registrar) | ores.<group>.core |
| Service | ores.<group>.core |
| Service-app | ores.<group>.service |
| Qt | ores.qt.<group> |
| Component | Every component |
| Enum | ores.<group>.api |
| Field-group | ores.<group>.api |
| Generator | ores.<group>.api |
See also
- ores.cpp — the generated facet/archetype catalogue for this technical space.
- ORE Studio Technical Spaces — index of all TSs.
- SQL Technical Space — companion TS for database artefacts.
- Facet — the MASD facet concept and full catalogue.
- Physical Space — the TS→Part→Facet→Archetype hierarchy.
- Component architecture — API/core/service split and dependency rules.
- Type definition facet — modeling reference for the C++ domain projection.
- Entity lifecycle — layer ordering and type mappings for a full-stack entity.