Skip to main content

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