ores.cpp

Table of Contents

This page is the node for the ores.cpp technical space in the codegen physical-space address graph. Its title is its MASD address; it gathers the facets generated for this technical space. Each facet is its own document, linked from the table below. Codegen traverses this graph (root → technical space → facet → archetype) to resolve which archetypes an entity generates.

1. Summary

The C++ projection: the value type and its companions, tabular presentation, the persistence triplet, an entity's NATS surface, the component-service scaffold, the new-component skeleton, and standalone model formats (enums, field-groups). Entity-shaped facets are driven by the entity org-models; component-shaped facets by the component manifest.

2. Shared conventions

  • {{{cpp_license}}} triple-stache injects the licence header.
  • Headers guard with full_name_upper-derived macros and export via the component's export macro header.
  • Column loops dispatch on per-field type flags (is_string, is_boolean, is_timestamp, …); {{^last}} places commas.

3. Facets

Facets in this technical space — each links to its own node doc. Generated; do not edit by hand.

Facet Archetypes Description
ores.cpp.component 2 Per-component C++ presence: export macros and the Catch2 test main.
ores.cpp.domain 7 Domain types: class, JSON I/O, table I/O.
ores.cpp.enum 1 C++ enum types.
ores.cpp.eventing-integration-test 1 Per-entity Catch2 test proving the DB-write -> pg_notify -> postgres_event_source -> event_bus -> NATS-publish pipeline end to end.
ores.cpp.field-group 1 C++ field-group headers.
ores.cpp.generator 2 Fake-data generators for testing.
ores.cpp.history-provider-registrar 2 Per-entity history-provider registrar pair registering an entity's history provider into the ores.history dispatch registry.
ores.cpp.nats-event-cache 2 Consumer-side in-process cache mirroring a producer entity, kept fresh via eventing.
ores.cpp.nats-event-registrar 2 Per-entity NATS event-mapping registrar pair wiring an entity's Postgres LISTEN/NOTIFY channel to its changed-event pipeline.
ores.cpp.nats-eventing 1 NATS changed-event publishers.
ores.cpp.nats-handler 1 NATS subscription handlers.
ores.cpp.nats-sub-registrar 2 Per-entity NATS sub-registrar pair wiring an entity's subjects to its handler.
ores.cpp.oresmd 8 oresmd quote-type codegen: enums, identifier/requirement structs, parser, projections, resolver, and tests.
ores.cpp.presentation 2 Server-side rendering of a domain type for display: history field mapper.
ores.cpp.protocol 1 Protocol (de)serialisation.
ores.cpp.repository 6 Repository layer: entity, mapper, CRUD.
ores.cpp.scaffold 5 First-generation component scaffolding: the umbrella header, the placeholder domain type and its test. Emitted only where a component opts in.
ores.cpp.service 2 C++ service application classes.
ores.cpp.service-app 11 Service-application C++ scaffold: application, host, config options/parser, main.
ores.cpp.shell-command 6 Shell REPL command units: one submenu per entity or junction, one command per derived verb, and the per-menu registrar.

4. See also

  • Parent: the ores physical-space root.

Emacs 29.3 (Org mode 9.6.15)