Auto-generated API doc: doxygen → custom Python emitter → doc/api/.

`cmake --build build --target doc` runs Doxygen to produce XML, then
`doc/gen_api_md.py` (~330 lines, stdlib-only) emits a Markdown tree
under `doc/api/` that gitea renders directly in its file browser.

- 24 class/struct pages + 51 source-file pages + indices, with source
  links of the form `../../../../src/...#L42` that gitea turns into
  clickable line-anchored links.
- Doxyfile.in templated by CMake (XML-only output to build/doc/xml/).
- Pure Python emitter, zero external deps — no doxybook2 (not packaged
  on Arch) and no moxygen (avoids Node).
- Target gracefully disabled if Doxygen or Python 3 is missing at
  configure time; regular build target unaffected.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-12 08:13:15 +02:00
parent fe2dc13c89
commit 66460262af
83 changed files with 2845 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
# ImportBase
`class ImportBase`
Defined in [import_base.hpp:16](../../../../src/imports/import_base.hpp#L16)
Base class for importing data from a file.
This class provides a foundation for parsing files and managing system parts and signals. Derived classes must implement the ``parse`` method. method.
## Protected Attributes
### `Parts * prts`
📍 [import_base.hpp:19](../../../../src/imports/import_base.hpp#L19)
Pointer to the [Parts](../classes/Parts.md) object. object.
### `std::fstream file_lines`
📍 [import_base.hpp:20](../../../../src/imports/import_base.hpp#L20)
File stream for reading the input file.
## Public Functions
### `ImportBase(std::string file_name)`
📍 [import_base.hpp:30](../../../../src/imports/import_base.hpp#L30)
Constructor for [ImportBase](../classes/ImportBase.md)..
Initializes the file stream and creates new [Parts](../classes/Parts.md) and and [Signals](../classes/Signals.md) objects. objects.
**Parameters**
- `file_name` — Name of the file to be imported.
### `void parse(Signals *signals)=0`
📍 [import_base.hpp:42](../../../../src/imports/import_base.hpp#L42)
Pure virtual method for parsing the file.
Derived classes must implement this method to define how the file is parsed.
**Parameters**
- `signals` — Pointer to the signals object to be completed.
### `Parts * parts()`
📍 [import_base.hpp:48](../../../../src/imports/import_base.hpp#L48)
Retrieves the [Parts](../classes/Parts.md) object. object.
**Returns** Pointer to the [Parts](../classes/Parts.md) object.
### `~ImportBase()=default`
📍 [import_base.hpp:58](../../../../src/imports/import_base.hpp#L58)
Virtual destructor for [ImportBase](../classes/ImportBase.md)..
Ensures proper cleanup of derived classes.
---
← [Back to classes](index.md) · [Top](../index.md)