Skip to main content

µOS++ Intrusive Lists API Reference

µ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.

[Note: For comparison, the original Doxygen html pages, continue to be available via the doxygen/* URLs.]


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.14.0.