PLASMA  2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
icl_list.h
Go to the documentation of this file.
1 
7 /* $Id: icl_list.h 1532 2010-09-07 15:38:18Z yarkhan $ */
8 /* $UTK_Copyright: $ */
9 
10 #ifndef ICL_LIST_H
11 #define ICL_LIST_H
12 
13 #if defined(c_plusplus) || defined(__cplusplus)
14 extern "C" {
15 #endif
16 
17 struct icl_list_s {
18  void *data;
19  struct icl_list_s *flink;
20  struct icl_list_s *blink;
21 };
22 
23 typedef struct icl_list_s icl_list_t;
24 
26  * icl_list_new(),
27  * icl_list_insert(icl_list_t *, icl_list_t *, void *),
28  * icl_list_search(icl_list_t *, void *, int (*)(void*, void*)),
34  * icl_list_prepend(icl_list_t *, void *),
35  * icl_list_append(icl_list_t *, void *);
36 
37 int
38  icl_list_delete(icl_list_t *, icl_list_t *, void (*)(void *)) ,
39  icl_list_destroy(icl_list_t *, void (*)(void*)),
41 
42 #define icl_list_foreach( list, ptr) \
43  for (ptr = icl_list_first(list); ptr != NULL; ptr = icl_list_next(list, ptr))
44 
45 #if defined(c_plusplus) || defined(__cplusplus)
46 }
47 #endif
48 
49 
50 #endif /* ICL_LIST_H */