UPnPsdk 0.1
Universal Plug and Play +, Software Development Kit
 
Loading...
Searching...
No Matches
list.hpp
Go to the documentation of this file.
1#ifndef COMPA_LIST_HPP
2#define COMPA_LIST_HPP
3/*******************************************************************************
4 *
5 * Copyright (c) 2000-2003 Intel Corporation
6 * All rights reserved.
7 * Copyright (C) 2011-2012 France Telecom All rights reserved.
8 * Copyright (C) 2021+ GPL 3 and higher by Ingo Höft, <Ingo@Hoeft-online.de>
9 * Redistribution only with this Copyright remark. Last modified: 2025-06-12
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions are met:
13 *
14 * * Redistributions of source code must retain the above copyright notice,
15 * this list of conditions and the following disclaimer.
16 * * Redistributions in binary form must reproduce the above copyright notice,
17 * this list of conditions and the following disclaimer in the documentation
18 * and/or other materials provided with the distribution.
19 * * Neither name of Intel Corporation nor the names of its contributors
20 * may be used to endorse or promote products derived from this software
21 * without specific prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR
27 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
31 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 *
35 ******************************************************************************/
36// Last compare with ./Pupnp source file on 2025-05-22, ver 1.14.20
46
47#ifdef __cplusplus
48extern "C" {
49#endif /* __cplusplus */
50
60
63
65PUPNP_Api void UpnpListInit(UpnpListHead* list);
66
70
73
76
80 UpnpListHead* elt);
81
84
85#ifdef __cplusplus
86}
87#endif /* __cplusplus */
88
89#endif // COMPA_LIST_HPP
PUPNP_Api UpnpListIter UpnpListInsert(UpnpListHead *list, UpnpListIter pos, UpnpListHead *elt)
Insert element before pos, returns iterator pointing to inserted element.
Definition list.cpp:68
struct UpnpListHead * prev
Points to previous entry in the list.
Definition list.hpp:58
PUPNP_Api UpnpListIter UpnpListEnd(UpnpListHead *list)
Return end of list sentinel iterator (not an element)
Definition list.cpp:58
PUPNP_Api UpnpListIter UpnpListErase(UpnpListHead *list, UpnpListIter pos)
Erase element at pos, return next one, or end()
Definition list.cpp:80
PUPNP_Api UpnpListIter UpnpListBegin(UpnpListHead *list)
Return iterator pointing to the first list element, or UpnpListEnd(list) if the list is empty.
Definition list.cpp:51
PUPNP_Api void UpnpListInit(UpnpListHead *list)
Initialize empty list.
Definition list.cpp:44
PUPNP_Api UpnpListIter UpnpListNext(UpnpListHead *list, UpnpListIter pos)
Return iterator pointing to element after pos, or end()
Definition list.cpp:60
struct UpnpListHead * next
Points to next entry in the list.
Definition list.hpp:57
UpnpListHead * UpnpListIter
List iterator. Not strictly necessary, but clarifies the interface.
Definition list.hpp:62
List anchor structure.
Definition list.hpp:56
Macros to support visibility of external symbols.