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
- 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.