The µOS++ Intrusive Lists API Reference
The µOS++ Intrusive Lists topics with brief descriptions are:
µOS++ Topics | Topics related to the µOS++ framework |
µOS++ Intrusive Lists | Topics related to the µOS++ Intrusive Lists |
C++ API | Topics related to the µOS++ Intrusive Lists C++ API |
Intrusive Doubly Linked Lists | Intrusive doubly linked lists classes |
Doubly Linked Lists | Doubly linked lists classes |
C API | Topics related to the µOS++ Intrusive Lists C API |
Description
This library implements several doubly linked lists, utilised by various µOS++ components to manage internal objects. 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 the support for statically initialised lists, which can be created in the global scope without modifying their members in constructors. These lists 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 the execution order of static constructors 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, the original Doxygen html 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