Trivial list management interface, patterned on std::list. More...
#include <UPnPsdk/visibility.hpp>
Go to the source code of this file.
Classes | |
struct | UpnpListHead |
List anchor structure. More... | |
Typedefs | |
typedef struct UpnpListHead | UpnpListHead |
List anchor structure. | |
typedef UpnpListHead * | UpnpListIter |
List iterator. Not strictly necessary, but clarifies the interface. | |
Functions | |
PUPNP_Api void | UpnpListInit (UpnpListHead *list) |
Initialize empty list. | |
PUPNP_Api UpnpListIter | UpnpListBegin (UpnpListHead *list) |
Return iterator pointing to the first list element, or UpnpListEnd(list) if the list is empty. | |
PUPNP_Api UpnpListIter | UpnpListEnd (UpnpListHead *list) |
Return end of list sentinel iterator (not an element) | |
PUPNP_Api UpnpListIter | UpnpListNext (UpnpListHead *list, UpnpListIter pos) |
Return iterator pointing to element after pos, or end() | |
PUPNP_Api UpnpListIter | UpnpListInsert (UpnpListHead *list, UpnpListIter pos, UpnpListHead *elt) |
Insert element before pos, returns iterator pointing to inserted element. | |
PUPNP_Api UpnpListIter | UpnpListErase (UpnpListHead *list, UpnpListIter pos) |
Erase element at pos, return next one, or end() | |
Trivial list management interface, patterned on std::list.
It aims more at being familiar than at being minimal. The implementation does not perform any allocation or deallocation.
Definition in file list.hpp.
struct UpnpListHead |
List anchor structure.
This should be the first entry in list member objects, except if you want to do member offset arithmetic instead of simple casts (look up "containerof"). The list code itself does not care.
Class Members | ||
---|---|---|
struct UpnpListHead * | next | Points to next entry in the list. |
struct UpnpListHead * | prev | Points to previous entry in the list. |
typedef struct UpnpListHead UpnpListHead |
List anchor structure.
This should be the first entry in list member objects, except if you want to do member offset arithmetic instead of simple casts (look up "containerof"). The list code itself does not care.
typedef UpnpListHead* UpnpListIter |
PUPNP_Api void UpnpListInit | ( | UpnpListHead * | list | ) |
PUPNP_Api UpnpListIter UpnpListBegin | ( | UpnpListHead * | list | ) |
PUPNP_Api UpnpListIter UpnpListEnd | ( | UpnpListHead * | list | ) |
PUPNP_Api UpnpListIter UpnpListNext | ( | UpnpListHead * | list, |
UpnpListIter | pos | ||
) |
PUPNP_Api UpnpListIter UpnpListInsert | ( | UpnpListHead * | list, |
UpnpListIter | pos, | ||
UpnpListHead * | elt | ||
) |
PUPNP_Api UpnpListIter UpnpListErase | ( | UpnpListHead * | list, |
UpnpListIter | pos | ||
) |