mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-11-05 19:03:31 +00:00
2aad517b0b
Sometimes, we want to use CList to track a simple data item. But contrary to GList/GSList, we need to define a structure to hold the data pointer and the CList member. Add a generic NMCListElem type that can be used for such simple uses. Before you ask: why not use GList/GSList? Because even simple operations like g_list_append() is O(n), which kinda defeats the purpose of having a doubly linked list. This code is added to a new header file nm-c-list.h, the reason is that there is no other good place: - "nm-utils/c-list.h" is a clone of upstream, it should not deviate. - "nm-utils/c-list-util.h" contains our utils functions for c-list.h but should be plain C, independent of glib. - "nm-utils/nm-shared-utils.h" contains our glib related utilities, but it should not drag in "c-list.h". So, "nm-c-list.h" is a utility libray that extends "c-list.h" and requires glib. |
||
---|---|---|
.. | ||
nm-utils | ||
meson.build | ||
nm-common-macros.h | ||
nm-dbus-compat.h | ||
nm-default.h | ||
nm-dispatcher-api.h | ||
nm-meta-setting.c | ||
nm-meta-setting.h | ||
nm-test-libnm-utils.h | ||
nm-test-utils-impl.c | ||
nm-version-macros.h.in |