ores.cpp.service-app

Table of Contents

This page is the node for the ores.cpp.service-app 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

Twelve templates scaffolding a service component: application, host, config options/parser with their exceptions, main.cpp and the stub test. All component-service profile, generated once per service component. (The per-entity NATS service pair lives in the messaging facets, not here.)

The ores.cpp.service-app facet

The service projection of the component: a generated service binary is main.cpp → host (lifecycle, signals) → application (wiring) → config parser/options (CLI + file), each with its exception type.

Mustache incantations

Component-level templates render inside {{#component}} with full_name=/=full_name_upper for include guards and namespaces. Standard constructs otherwise.

Archetypes

Archetype Description
ores.cpp.service-app.application_exception Exception type for application failures. component-service profile.
ores.cpp.service-app.application_header Application class declarations. component-service profile.
ores.cpp.service-app.application_impl Service wiring: config → dependencies → run loop. component-service profile.
ores.cpp.service-app.config_options_header Option declarations. component-service profile.
ores.cpp.service-app.config_options_impl Typed option set for the service. component-service profile.
ores.cpp.service-app.config_parser_exception Exception type for parse failures. component-service profile.
ores.cpp.service-app.config_parser_header Parser declarations. component-service profile.
ores.cpp.service-app.config_parser_impl CLI/file parsing into options. component-service profile.
ores.cpp.service-app.host_header Host class declarations. component-service profile.
ores.cpp.service-app.host_impl Process lifecycle: signals, shutdown, telemetry. component-service profile.
ores.cpp.service-app.main Entry point: construct host, run, map exceptions to exit codes. component-service profile.
ores.cpp.service-app.stub_test Placeholder Catch2 test keeping the tests target linking. component-service profile.

See also

Emacs 29.3 (Org mode 9.6.15)