ores.cpp.component
Table of Contents
This page is the node for the ores.cpp.component 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
Six templates forming a new component's C++ skeleton: the component
header and export macros (all four component profiles), the stub
header/impl/test trio that gives an empty component something to
compile and test (component, component-api, component-core),
and the Catch2 test_main (all four profiles).
The ores.cpp.component facet
The minimal C++ presence of a component: enough generated source that CMake targets build and the test runner passes before any real code exists. Stubs are deleted as real entities arrive; the component header and test main remain.
Archetypes
| Archetype | Description |
|---|---|
| ores.cpp.component.export | Per-component shared-library export/import macros. All component profiles. |
| ores.cpp.component.header | Umbrella header with the component's namespace docs. |
| ores.cpp.component.stub_header | Placeholder declaration so the library target has a header. |
| ores.cpp.component.stub_impl | Placeholder implementation so the library target has a TU. |
| ores.cpp.component.stub_test | Placeholder Catch2 test so the tests target runs. |
| ores.cpp.component.test_main | Catch2 main with the project's logging/test-env setup. |
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.