OFFIS DCMTK  Version 3.6.0
lst.h
1 /*
2  *
3  * Copyright (C) 1994-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: dcmnet
15  *
16  * Author: Marco Eichelberg
17  *
18  * Purpose: List class with procedural API compatible to MIR CTN
19  *
20  * Last Update: $Author: joergr $
21  * Update Date: $Date: 2010-10-14 13:17:22 $
22  * CVS/RCS Revision: $Revision: 1.6 $
23  * Status: $State: Exp $
24  *
25  * CVS/RCS Log at end of file
26  *
27  */
28 
29 #ifndef LST_H
30 #define LST_H
31 
32 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
33 #include "dcmtk/ofstd/ofcond.h"
34 #include "dcmtk/ofstd/oflist.h"
35 
36 
39 class LST_HEAD
40 {
41 public:
43  LST_HEAD();
44 
46  ~LST_HEAD();
47 
51  void push_back(void *node);
52 
56  void *dequeue();
57 
61  size_t size() const;
62 
66  void *front();
67 
72  void *position(void *node);
73 
79  void *next();
80 
85  void *current() const;
86 
87 
88 private:
91 
93  OFListIterator(void *) theIterator;
94 };
95 
96 
97 // --------------------------------------------------------------------
98 // THE FOLLOWING PROCEDURAL API IS COMPATIBLE TO THE MIR CTN LST MODULE
99 // --------------------------------------------------------------------
100 
102 typedef void LST_NODE;
103 
106 LST_HEAD *LST_Create();
107 
111 OFCondition LST_Destroy(LST_HEAD **lst);
112 
115 OFCondition LST_Enqueue(LST_HEAD **lst, void *node);
116 
120 void *LST_Dequeue(LST_HEAD **lst);
121 
124 void *LST_Pop(LST_HEAD **lst);
125 
128 unsigned long LST_Count(LST_HEAD **lst);
129 
133 void *LST_Head(LST_HEAD **lst);
134 
137 void *LST_Current(LST_HEAD **lst);
138 
142 void *LST_Next(LST_HEAD **lst);
143 
149 void *LST_Position(LST_HEAD **lst, void *node);
150 
151 #endif
152 
153 /*
154  * CVS Log
155  * $Log: lst.h,v $
156  * Revision 1.6 2010-10-14 13:17:22 joergr
157  * Updated copyright header. Added reference to COPYRIGHT file.
158  *
159  * Revision 1.5 2005/12/08 16:02:25 meichel
160  * Changed include path schema for all DCMTK header files
161  *
162  * Revision 1.4 2003/06/02 16:44:11 meichel
163  * Renamed local variables to avoid name clashes with STL
164  *
165  * Revision 1.3 2001/10/12 10:17:32 meichel
166  * Re-implemented the LST module (double linked list functions)
167  * used in the dcmnet module from scratch based on OFList.
168  *
169  * Revision 1.2 1999/03/29 11:20:00 meichel
170  * Cleaned up dcmnet code for char* to const char* assignments.
171  *
172  * Revision 1.1.1.1 1996/03/26 18:38:45 hewett
173  * Initial Release.
174  *
175  */


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2