`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>
4.3 KiB
SystemElementContainer
class SystemElementContainer — inherits SystemElement
Defined in syselmts.hpp:32
A container for managing system elements of type T.
Public Types
using SystemElementContainer< T >::MapType = unordered_map<string, T *>
using SystemElementContainer< T >::iterator = typename MapType::iterator
using SystemElementContainer< T >::const_iterator = typename MapType::const_iterator
Protected Attributes
unsigned int iter_count
MapType content
Protected Functions
void add(MapType el_content)
Adds elements from a map to the container.
Parameters
el_content— Map of elements to add.
Public Functions
SystemElementContainer(string name)
Constructor for an empty container.
Parameters
- `` — Name of the container.
SystemElementContainer(string name, vector< T * > elements)
Constructor with initial elements.
Parameters
- `` — Name of the container.
elements— Vector of elements to add.
void add(string name, T *element)
Adds a single element to the container with a given name.
Parameters
- `` — Name of the element to add.
element— Pointer to the element to add.
Throws
runtime_error— If the element's name is empty or already exists.
void add(T *element)
Adds a single element to the container.
Parameters
element— Pointer to the element to add.
Throws
runtime_error— If the element's name is empty or already exists.
bool exists(string name)
Checks if an element exists in the container.
Parameters
- `` — Name of the element to check.
Returns True if the element exists, false otherwise.
void add(SystemElementContainer< T > *elements)
Adds elements from another container.
Parameters
elements— Pointer to another container.
void add(vector< T * > elements)
Adds multiple elements from a vector.
Parameters
elements— Vector of elements to add.
T * get(string name)
Retrieves an element by its name.
Parameters
- `` — Name of the element to retrieve.
Returns Pointer to the element.
Throws
runtime_error— If the element is not found.
T * merge(string name)
Merges an element by retrieving it or creating a new one if it doesn't exist.
Parameters
- `` — Name of the element.
Returns Pointer to the merged or newly created element.
size_t size() const
iterator begin()
Returns an iterator to the beginning of the container.
Returns Iterator to the beginning.
iterator end()
Returns an iterator to the end of the container.
Returns Iterator to the end.
const_iterator begin() const
Returns a constant iterator to the beginning of the container.
Returns Constant iterator to the beginning.
const_iterator end() const
Returns a constant iterator to the end of the container.
Returns Constant iterator to the end.
← Back to classes · Top