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

Emacs 29.3 (Org mode 9.6.15)