The Intrusive Doubly Linked Lists Reference
The µOS++ intrusive doubly linked lists classes. More...
Classes
class | |
A class template for a list of nodes which store the links inside themselves as intrusive nodes. More... | |
class | |
A class template for the intrusive list iterator. More... | |
Description
Intrusive lists are doubly linked lists that keep the two pointers inside each linked object.
The intrusive lists can be defined by instantiating the micro_os_plus::utils::intrusive_list
class template.
- Example
#include <micro-os-plus/utils/lists.h>
namespace os = micro_os_plus;
class child
{
public:
child (const char* name);
// ...
protected:
const char* name_;
public:
// Intrusive node used to link this child to the registry list.
// Must be public.
os::utils::double_list_links registry_links_;
};
using static_children_list = os::utils::intrusive_list<
child, // type of nodes in the list
decltype (child::registry_links_), // type of the
registry_links_
member &child::registry_links_, // name of member
static_double_list_links>; // type of the head links node
// The list head is statically allocated.
static_children_list kids_registry;
Generated via docusaurus-plugin-doxygen by Doxygen 1.13.2