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

Emacs 29.3 (Org mode 9.6.15)