CAEN Utility  2.0.2
Utilities for CAEN projects
CAENLinkedList.h
Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * CAEN SpA - Software Division
4 * Via Vetraia, 11 - 55049 - Viareggio ITALY
5 * +39 0594 388 398 - www.caen.it
6 *
7 *******************************************************************************
8 *
9 * Copyright (C) 2019-2022 CAEN SpA
10 *
11 * This file is part of the CAEN Utility.
12 *
13 * The CAEN Utility is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU Lesser General Public
15 * License as published by the Free Software Foundation; either
16 * version 3 of the License, or (at your option) any later version.
17 *
18 * The CAEN Utility is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * Lesser General Public License for more details.
22 *
23 * You should have received a copy of the GNU Lesser General Public
24 * License along with the CAEN Utility; if not, see
25 * https://www.gnu.org/licenses/.
26 *
27 * SPDX-License-Identifier: LGPL-3.0-or-later
28 *
29 ******************************************************************************
30 *
31 * \file CAENLinkedList.h
32 * \brief Utilities to implement linked lists
33 * \author Francesco Pepe
34 *
35 ******************************************************************************/
36 
37 #ifndef CAEN_INCLUDE_CAENLINKEDLIST_H_
38 #define CAEN_INCLUDE_CAENLINKEDLIST_H_
39 
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
52 #include <stdint.h>
53 
55 #include <CAENUtility.h>
56 
63 
72 
81 
90 
99 
110 
125 
137 
146 
155 
158 #ifdef __cplusplus
159 }
160 #endif
161 
162 #endif // CAEN_INCLUDE_CAENURL_H_
c_Utility_ErrorCode_t c_linkedlist_insert_first(c_linkedlist_t *list, void *newElement)
#define CAEN_UTILITY_API
Definition: CAENUtility.h:104
c_linkedlist_t c_linkedlist_create()
c_listnode_t * c_linkedlist_insert_before(c_listnode_t *node, void *newElement)
void * c_linkedlist_delete_data_compare(c_linkedlist_t *list, void *data, c_listdata_comparator_t cmp)
Main header and generic tools.
#define CAEN_UTILITY_DLLAPI
Definition: CAENUtility.h:105
void * c_linkedlist_delete(c_linkedlist_t *list, c_listnode_t *node)
#define c_nodiscard
Definition: CAENUtility.h:245
c_Utility_ErrorCode_t c_linkedlist_insert_last(c_linkedlist_t *list, void *newElement)
void * c_linkedlist_delete_first(c_linkedlist_t *list)
int(* c_listdata_comparator_t)(const void *, const void *)
c_Utility_ErrorCode_t
Library return codes.
Definition: CAENUtility.h:319
void * c_linkedlist_delete_last(c_linkedlist_t *list)
void * c_linkedlist_delete_data(c_linkedlist_t *list, void *data)
c_listnode_t * c_linkedlist_insert_after(c_listnode_t *node, void *newElement)