ores.cpp.domain
Table of Contents
This page is the node for the ores.cpp.domain facet of the codegen
template library, part of the ores.cpp technical space. Each archetype
below is documented, and holds its mustache source, in its own
linked page — this page is the facet-level summary and the routing
table to them.
Summary
Seven archetypes around the entity's value type: the domain class
(domain profile), reflect-cpp JSON IO, and the libfort table adapter
with its stream IO — the tabular presentation of entity collections
(convert_to_table, {{operator<<}}). Fake-data generation for the
value type is a sibling facet, ores.cpp.generator.
The ores.cpp.domain facet
The top of the entity's C++ projection: the value type every other
layer converts to and from, its serialised form, and its console/log
tabular rendering. Column loops dispatch on per-field type flags
(is_string, is_boolean, is_timestamp, …) to choose C++ types,
defaults, and table-cell formatting — the shared Mustache conventions
this facet relies on are documented once at the ores.cpp group level,
not repeated here.
Archetypes
| Archetype | Description |
|---|---|
| ores.cpp.domain.class_header | The entity's value type: members from the model's columns plus valid_from / valid_to. domain profile. |
| ores.cpp.domain.json_io_header | JSON IO declarations. domain profile. |
| ores.cpp.domain.json_io_impl | reflect-cpp JSON round-trip implementation. domain profile. |
| ores.cpp.domain.table_header | Table adapter declarations. domain profile. |
| ores.cpp.domain.table_impl | libfort tabular rendering of entity collections. domain profile. |
| ores.cpp.domain.table_io_header | Table IO declarations. domain profile. |
| ores.cpp.domain.table_io_impl | Stream operators for the table adapter. domain profile. |
See also
- ores.cpp — the parent technical space's generated facet/archetype catalogue and shared Mustache conventions.
- C++ Technical Space — the domain-concept overview of this technical space.
- Codegen template library — the groups overview.