The µOS++ Intrusive Lists API Reference
The µOS++ Intrusive Lists topics with brief descriptions are:
µOS++ | The µOS++ Framework topics |
µOS++ Intrusive Lists | The µOS++ Intrusive Lists project topics |
C++ API | The µOS++ Intrusive Lists C++ API topics |
Intrusive Doubly Linked Lists | The µOS++ intrusive doubly linked lists classes |
Doubly Linked Lists | The µOS++ doubly linked lists classes |
C API | The µOS++ Intrusive Lists C API topics (hint: none) |
Description
This library implements several doubly linked lists, used by some of the µOS++ components to manage internal objects. However, its design is sufficiently generic to be valuable in other applications, warranting its packaging as a standalone library.
A key differentiator from std::list
is that this implementation does not require dynamic memory allocation for list links, thereby eliminating the need for an allocator. Instead, it employs intrusive lists, where links are stored directly within the list elements.
Another notable feature is statically initialised lists, created in the global scope without modifying their members in constructors. Instead, they are fully initialised by setting their entire content to zero during startup (via BSS initialisation).
This approach enables static objects to auto-register with static registrar instances. As static constructor execution order is undefined, the only reliable way to ensure the registrar is ready before clients attempt to register is to initialise it during startup (via BSS initialisation) prior to the execution of static constructors.
For comparison, Doxygen pages, styled with the doxygen-awesome-css plugin, continue to be available via the /doxygen/* URLs.
Generated via docusaurus-plugin-doxygen by Doxygen 1.13.2