Skip to main content

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.

note

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