Skip to main content

lists.h File

Aggregate C++ header file for the µOS++ lists classes. More...

Included Headers

Macro Definitions Index

#defineMICRO_OS_PLUS_UTILS_LISTS_ENABLED

Enable the µOS++ C++ Intrusive Lists library. More...

#defineMICRO_OS_PLUS_UTILS_LISTS_TRACE_CONSTRUCTORS_ENABLED

Enable the trace calls for the µOS++ C++ Intrusive Lists constructors. More...

#defineMICRO_OS_PLUS_UTILS_LISTS_TRACE_ENABLED

Enable the trace calls for the µOS++ C++ Intrusive Lists methods. More...

Description

Aggregate C++ header file for the µOS++ lists classes.

The lists.h header file is the single entry-point for the µOS++ Intrusive Lists library. It includes, in order:

The class implementations are in doubly-list-links.cpp, doubly-list-links-inlines.h, doubly-list-inlines.h, and intrusive-list-inlines.h.

File Listing

The file content with the documentation metadata removed is:

1/*
2 * This file is part of the µOS++ project (https://micro-os-plus.github.io/).
3 * Copyright (c) 2016-2026 Liviu Ionescu. All rights reserved.
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose is hereby granted, under the terms of the MIT license.
7 *
8 * If a copy of the license was not distributed with this file, it can be
9 * obtained from https://opensource.org/licenses/mit.
10 */
11
12// ----------------------------------------------------------------------------
13
31
32#ifndef MICRO_OS_PLUS_UTILS_LISTS_H_
33#define MICRO_OS_PLUS_UTILS_LISTS_H_
34
35// ----------------------------------------------------------------------------
36
37#if defined(__cplusplus)
38#if !(__cplusplus >= 202002L || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L))
39#error "C++20 or higher is required"
40#endif // C++20 or higher
41#endif // defined(__cplusplus)
42
43#if __has_include("micro-os-plus/project-config.h")
44#include "micro-os-plus/project-config.h"
45#endif // __has_include("micro-os-plus/project-config.h")
46
47#if __has_include("micro-os-plus/utils/lists-defines.h")
48#include "micro-os-plus/utils/lists-defines.h"
49#endif // __has_include("micro-os-plus/utils/lists-defines.h")
50
51// ----------------------------------------------------------------------------
52
53#if defined(__DOXYGEN__)
54// Present here solely for Doxygen, to document the macros.
55#define MICRO_OS_PLUS_UTILS_LISTS_ENABLED
56#define MICRO_OS_PLUS_UTILS_LISTS_TRACE_ENABLED
57#define MICRO_OS_PLUS_UTILS_LISTS_TRACE_CONSTRUCTORS_ENABLED
58#endif // defined(__DOXYGEN__)
59
60// ----------------------------------------------------------------------------
61
62#if defined(MICRO_OS_PLUS_UTILS_LISTS_ENABLED)
63
64// ----------------------------------------------------------------------------
65
67#include "lists/doubly-list.h"
69
70// ----------------------------------------------------------------------------
71
72#endif // defined(MICRO_OS_PLUS_UTILS_LISTS_ENABLED)
73
74// ----------------------------------------------------------------------------
75
76#endif // MICRO_OS_PLUS_UTILS_LISTS_H_
77
78// ----------------------------------------------------------------------------

Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.17.0.