Top   Types   Functions   Classes   Options   Index   Sources 

list_u.hd


  1  #REM /* *** Option macros for List *** */
  2  #REM /* Automatically generated by options.lsp.  Do not edit! */
  3  #REM /* This file is a template input file for untemplatize. */
  4  #OUTPUT_PERHAPS(Global_list_u.ErwinHExt)
  5  #DATE
  6  
  7  /* Global user defined macros for the list implementation */
  8  
  9  #ifdef ERWIN_DEBUG_INCLUDE
 10  #warning "Including Global_list_u.h"
 11  #endif
 12  
 13  #ifndef Global_ERWIN_LIST_U_ErwinHExt
 14  #define Global_ERWIN_LIST_U_ErwinHExt
 15  
 16  #ifdef ERWIN_DEBUG_INCLUDE
 17  #warning "First inclusion of Global_list_u.h"
 18  #endif
 19  
 20  
 21  
 22  #endif /* !defined(Global_ERWIN_LIST_U_ErwinHExt) */
 23  #REM /* ************************************************************** */
 24  #OUTPUT_PERHAPS(List_u.ErwinHExt)
 25  /* -*- Mode: C -*- */
 26  #DATE
 27  /* User defined macros for the list implementation. */
 28  
 29  #ifdef ERWIN_DEBUG_INCLUDE
 30  #warning "First inclusion of List_u.ErwinHExt"
 31  #endif
 32  
 33  #ifndef ERWIN_List_U_ErwinHExt
 34  #define ERWIN_List_U_ErwinHExt
 35  
 36  #ifdef ERWIN_DEBUG_INCLUDE
 37  #warning "First inclusion of List_u.ErwinHExt"
 38  #endif
 39  
 40  #include "#Global_list_u.ErwinHExt"
 41  
 42  
 43  
 44  #endif /* !defined(ERWIN_List_U_ErwinHExt) */
 45  #REM /* ************************************************************** */
 46  #OUTPUT(List_d.ErwinHExt)
 47  /* -*- Mode: C -*- */
 48  #DATE
 49  
 50  #ifdef ERWIN_DEBUG_INCLUDE
 51  #warning "Including List_d.h"
 52  #endif
 53  
 54  #ifndef ERWIN_List_D_ErwinHExt
 55  #define ERWIN_List_D_ErwinHExt
 56  
 57  #ifdef ERWIN_DEBUG_INCLUDE
 58  #warning "First inclusion of List_d.ErwinHExt"
 59  #endif
 60  
 61  #include "#Global_list_u.ErwinHExt"
 62  #include "#List_u.ErwinHExt"
 63  
 64  ErwinUserInclude
 65  
 66  /* Preface */
 67  #IF(oType == void)
 68  #  define List_INDEX_IS_VOID 1
 69  #ELSE
 70  #  define List_INDEX_IS_VOID 0
 71  #ENDIF
 72  #IF(oType == int)
 73  #  define List_INDEX_IS_INT 1
 74  #ELSE
 75  #  define List_INDEX_IS_INT 0
 76  #ENDIF
 77  #IF(isChar == 1)
 78  #  define List_INDEX_IS_CHAR 1
 79  #ELSE
 80  #  define List_INDEX_IS_CHAR 0
 81  #ENDIF
 82  
 83  /* CONSTANT_ZERO */
 84  #if List_INDEX_IS_VOID
 85  #  undef List_CONSTANT_ZERO
 86  #  define List_CONSTANT_ZERO 1
 87  #  undef List_DYN_ZERO
 88  #elif defined(List_CONSTANT_ZERO)
 89  #  if ERWIN_BOOL_VALUE(List_CONSTANT_ZERO)
 90  #    undef List_CONSTANT_ZERO
 91  #    define List_CONSTANT_ZERO 1
 92  #  else
 93  #    undef List_CONSTANT_ZERO
 94  #    define List_CONSTANT_ZERO 0
 95  #  endif
 96  #elif defined(List_DYN_ZERO)
 97  #  if !ERWIN_BOOL_VALUE(List_DYN_ZERO)
 98  #    define List_CONSTANT_ZERO 1
 99  #  else
100  #    define List_CONSTANT_ZERO 0
101  #  endif
102  #elif defined(Global_oType_HAS_CONSTANT_ZERO)
103  #  if ERWIN_BOOL_VALUE(Global_oType_HAS_CONSTANT_ZERO)
104  #    define List_CONSTANT_ZERO 1
105  #  else
106  #    define List_CONSTANT_ZERO 0
107  #  endif
108  #elif defined(Global_LIST_CONSTANT_ZERO)
109  #  if ERWIN_BOOL_VALUE(Global_LIST_CONSTANT_ZERO)
110  #    define List_CONSTANT_ZERO 1
111  #  else
112  #    define List_CONSTANT_ZERO 0
113  #  endif
114  #elif defined(Global_LIST_DYN_ZERO)
115  #  if !ERWIN_BOOL_VALUE(Global_LIST_DYN_ZERO)
116  #    define List_CONSTANT_ZERO 1
117  #  else
118  #    define List_CONSTANT_ZERO 0
119  #  endif
120  #elif defined(Global_ERWIN_CONSTANT_ZERO)
121  #  if ERWIN_BOOL_VALUE(Global_ERWIN_CONSTANT_ZERO)
122  #    define List_CONSTANT_ZERO 1
123  #  else
124  #    define List_CONSTANT_ZERO 0
125  #  endif
126  #elif defined(Global_ERWIN_DYN_ZERO)
127  #  if !ERWIN_BOOL_VALUE(Global_ERWIN_DYN_ZERO)
128  #    define List_CONSTANT_ZERO 1
129  #  else
130  #    define List_CONSTANT_ZERO 0
131  #  endif
132  #elif defined(ALL_ERWIN_CONSTANT_ZERO)
133  #  if ERWIN_BOOL_VALUE(ALL_ERWIN_CONSTANT_ZERO)
134  #    define List_CONSTANT_ZERO 1
135  #  else
136  #    define List_CONSTANT_ZERO 0
137  #  endif
138  #elif !defined(ALL_ERWIN_DYN_ZERO)
139  #  define List_CONSTANT_ZERO 0
140  #elif !ERWIN_BOOL_VALUE(ALL_ERWIN_DYN_ZERO)
141  #  define List_CONSTANT_ZERO 1
142  #else
143  #  define List_CONSTANT_ZERO 0
144  #endif
145  #if !defined(List_DYN_ZERO)
146  #elif List_CONSTANT_ZERO == ERWIN_BOOL_VALUE(List_DYN_ZERO)
147  #  error "Inconsistency: List_CONSTANT_ZERO == List_DYN_ZERO"
148  #endif
149  #if ERWIN_BOOL_VALUE(List_CONSTANT_ZERO)
150  #  define List_DYN_ZERO 0
151  #else
152  #  define List_DYN_ZERO 1
153  #endif
154  
155  /* USE_DEFAULT_ARGS */
156  #if !defined(__cplusplus)
157  #  undef List_USE_DEFAULT_ARGS
158  #  define List_USE_DEFAULT_ARGS 0
159  #  undef List_NO_DEFAULT_ARGS
160  #elif defined(List_USE_DEFAULT_ARGS)
161  #  if ERWIN_BOOL_VALUE(List_USE_DEFAULT_ARGS)
162  #    undef List_USE_DEFAULT_ARGS
163  #    define List_USE_DEFAULT_ARGS 1
164  #  else
165  #    undef List_USE_DEFAULT_ARGS
166  #    define List_USE_DEFAULT_ARGS 0
167  #  endif
168  #elif defined(List_NO_DEFAULT_ARGS)
169  #  if !ERWIN_BOOL_VALUE(List_NO_DEFAULT_ARGS)
170  #    define List_USE_DEFAULT_ARGS 1
171  #  else
172  #    define List_USE_DEFAULT_ARGS 0
173  #  endif
174  #elif defined(Global_LIST_USE_DEFAULT_ARGS)
175  #  if ERWIN_BOOL_VALUE(Global_LIST_USE_DEFAULT_ARGS)
176  #    define List_USE_DEFAULT_ARGS 1
177  #  else
178  #    define List_USE_DEFAULT_ARGS 0
179  #  endif
180  #elif defined(Global_LIST_NO_DEFAULT_ARGS)
181  #  if !ERWIN_BOOL_VALUE(Global_LIST_NO_DEFAULT_ARGS)
182  #    define List_USE_DEFAULT_ARGS 1
183  #  else
184  #    define List_USE_DEFAULT_ARGS 0
185  #  endif
186  #elif defined(Global_ERWIN_USE_DEFAULT_ARGS)
187  #  if ERWIN_BOOL_VALUE(Global_ERWIN_USE_DEFAULT_ARGS)
188  #    define List_USE_DEFAULT_ARGS 1
189  #  else
190  #    define List_USE_DEFAULT_ARGS 0
191  #  endif
192  #elif defined(Global_ERWIN_NO_DEFAULT_ARGS)
193  #  if !ERWIN_BOOL_VALUE(Global_ERWIN_NO_DEFAULT_ARGS)
194  #    define List_USE_DEFAULT_ARGS 1
195  #  else
196  #    define List_USE_DEFAULT_ARGS 0
197  #  endif
198  #elif defined(ALL_ERWIN_USE_DEFAULT_ARGS)
199  #  if ERWIN_BOOL_VALUE(ALL_ERWIN_USE_DEFAULT_ARGS)
200  #    define List_USE_DEFAULT_ARGS 1
201  #  else
202  #    define List_USE_DEFAULT_ARGS 0
203  #  endif
204  #elif !defined(ALL_ERWIN_NO_DEFAULT_ARGS)
205  #  define List_USE_DEFAULT_ARGS 1
206  #elif !ERWIN_BOOL_VALUE(ALL_ERWIN_NO_DEFAULT_ARGS)
207  #  define List_USE_DEFAULT_ARGS 1
208  #else
209  #  define List_USE_DEFAULT_ARGS 0
210  #endif
211  #if !defined(List_NO_DEFAULT_ARGS)
212  #elif List_USE_DEFAULT_ARGS == ERWIN_BOOL_VALUE(List_NO_DEFAULT_ARGS)
213  #  error "Inconsistency: List_USE_DEFAULT_ARGS == List_NO_DEFAULT_ARGS"
214  #endif
215  #if ERWIN_BOOL_VALUE(List_USE_DEFAULT_ARGS)
216  #  define List_NO_DEFAULT_ARGS 0
217  #else
218  #  define List_NO_DEFAULT_ARGS 1
219  #endif
220  #if defined(List_USE_DEFAULT_ARGS) && List_USE_DEFAULT_ARGS
221  #  define List_DEFAULT_ARG(X) = X
222  #else
223  #  define List_DEFAULT_ARG(X)
224  #endif
225  
226  /* SUPER_CLASS */
227  #if !defined(__cplusplus)
228  #elif defined(List_SUPER_CLASS)
229  #elif defined(Global_LIST_SUPER_CLASS)
230  #  define List_SUPER_CLASS Global_LIST_SUPER_CLASS
231  #elif defined(Global_ERWIN_SUPER_CLASS)
232  #  define List_SUPER_CLASS Global_ERWIN_SUPER_CLASS
233  #elif defined(ALL_ERWIN_SUPER_CLASS)
234  #  define List_SUPER_CLASS ALL_ERWIN_SUPER_CLASS
235  #endif
236  
237  /* SUPER_CLASS_ACCESS */
238  #if !defined(__cplusplus)
239  #elif defined(List_SUPER_CLASS_ACCESS)
240  #elif defined(Global_LIST_SUPER_CLASS_ACCESS)
241  #  define List_SUPER_CLASS_ACCESS Global_LIST_SUPER_CLASS_ACCESS
242  #elif defined(Global_ERWIN_SUPER_CLASS_ACCESS)
243  #  define List_SUPER_CLASS_ACCESS Global_ERWIN_SUPER_CLASS_ACCESS
244  #elif defined(ALL_ERWIN_SUPER_CLASS_ACCESS)
245  #  define List_SUPER_CLASS_ACCESS ALL_ERWIN_SUPER_CLASS_ACCESS
246  #else
247  #  define List_SUPER_CLASS_ACCESS private
248  #endif
249  
250  /* STD_MEMBERS */
251  #if defined(List_TYPE_INFO_STD_MEMBERS)
252  #elif defined(List_t_TYPE_INFO_STD_MEMBERS)
253  #  define List_TYPE_INFO_STD_MEMBERS List_t_TYPE_INFO_STD_MEMBERS
254  #endif
255  #if defined(List_STD_MEMBERS)
256  #elif defined(Global_LIST_STD_MEMBERS)
257  #  define List_STD_MEMBERS(CLASS_NAME) Global_LIST_STD_MEMBERS(CLASS_NAME)
258  #  define List_TYPE_INFO_STD_MEMBERS Global_LIST_TYPE_INFO_STD_MEMBERS
259  #elif defined(Global_ERWIN_STD_MEMBERS)
260  #  define List_STD_MEMBERS(CLASS_NAME) Global_ERWIN_STD_MEMBERS(CLASS_NAME)
261  #  define List_TYPE_INFO_STD_MEMBERS Global_ERWIN_TYPE_INFO_STD_MEMBERS
262  #elif defined(ALL_ERWIN_STD_MEMBERS)
263  #  define List_STD_MEMBERS(CLASS_NAME) ALL_ERWIN_STD_MEMBERS(CLASS_NAME)
264  #  define List_TYPE_INFO_STD_MEMBERS ALL_ERWIN_TYPE_INFO_STD_MEMBERS
265  #else
266  #  define List_STD_MEMBERS(CLASS_NAME)
267  #  define List_TYPE_INFO_STD_MEMBERS
268  #endif
269  
270  /* HAVE_SIG */
271  #if defined(List_HAVE_SIG)
272  #  if ERWIN_BOOL_VALUE(List_HAVE_SIG)
273  #    undef List_HAVE_SIG
274  #    define List_HAVE_SIG 1
275  #  else
276  #    undef List_HAVE_SIG
277  #    define List_HAVE_SIG 0
278  #  endif
279  #elif defined(List_NO_SIG)
280  #  if !ERWIN_BOOL_VALUE(List_NO_SIG)
281  #    define List_HAVE_SIG 1
282  #  else
283  #    define List_HAVE_SIG 0
284  #  endif
285  #elif defined(List_FORCE_SIG)
286  #  if ERWIN_BOOL_VALUE(List_FORCE_SIG)
287  #    define List_HAVE_SIG 1
288  #  else
289  #    define List_HAVE_SIG 0
290  #  endif
291  #elif defined(Global_LIST_HAVE_SIG)
292  #  if ERWIN_BOOL_VALUE(Global_LIST_HAVE_SIG)
293  #    define List_HAVE_SIG 1
294  #  else
295  #    define List_HAVE_SIG 0
296  #  endif
297  #elif defined(Global_LIST_NO_SIG)
298  #  if !ERWIN_BOOL_VALUE(Global_LIST_NO_SIG)
299  #    define List_HAVE_SIG 1
300  #  else
301  #    define List_HAVE_SIG 0
302  #  endif
303  #elif defined(Global_LIST_FORCE_SIG)
304  #  if ERWIN_BOOL_VALUE(Global_LIST_FORCE_SIG)
305  #    define List_HAVE_SIG 1
306  #  else
307  #    define List_HAVE_SIG 0
308  #  endif
309  #elif defined(Global_ERWIN_HAVE_SIG)
310  #  if ERWIN_BOOL_VALUE(Global_ERWIN_HAVE_SIG)
311  #    define List_HAVE_SIG 1
312  #  else
313  #    define List_HAVE_SIG 0
314  #  endif
315  #elif defined(Global_ERWIN_NO_SIG)
316  #  if !ERWIN_BOOL_VALUE(Global_ERWIN_NO_SIG)
317  #    define List_HAVE_SIG 1
318  #  else
319  #    define List_HAVE_SIG 0
320  #  endif
321  #elif defined(Global_ERWIN_FORCE_SIG)
322  #  if ERWIN_BOOL_VALUE(Global_ERWIN_FORCE_SIG)
323  #    define List_HAVE_SIG 1
324  #  else
325  #    define List_HAVE_SIG 0
326  #  endif
327  #elif defined(ALL_ERWIN_HAVE_SIG)
328  #  if ERWIN_BOOL_VALUE(ALL_ERWIN_HAVE_SIG)
329  #    define List_HAVE_SIG 1
330  #  else
331  #    define List_HAVE_SIG 0
332  #  endif
333  #elif defined(ALL_ERWIN_NO_SIG)
334  #  if !ERWIN_BOOL_VALUE(ALL_ERWIN_NO_SIG)
335  #    define List_HAVE_SIG 1
336  #  else
337  #    define List_HAVE_SIG 0
338  #  endif
339  #elif defined(ALL_ERWIN_FORCE_SIG)
340  #  if ERWIN_BOOL_VALUE(ALL_ERWIN_FORCE_SIG)
341  #    define List_HAVE_SIG 1
342  #  else
343  #    define List_HAVE_SIG 0
344  #  endif
345  #elif defined(DEVEL)
346  #  define List_HAVE_SIG 1
347  #else
348  #  define List_HAVE_SIG 0
349  #endif
350  #if !defined(List_NO_SIG)
351  #elif List_HAVE_SIG == ERWIN_BOOL_VALUE(List_NO_SIG)
352  #  error "Inconsistency: List_HAVE_SIG == List_NO_SIG"
353  #endif
354  #if !defined(List_FORCE_SIG)
355  #elif List_HAVE_SIG != ERWIN_BOOL_VALUE(List_FORCE_SIG)
356  #  error "Inconsistency: List_HAVE_SIG != List_FORCE_SIG"
357  #endif
358  #if ERWIN_BOOL_VALUE(List_HAVE_SIG)
359  #  define List_NO_SIG 0
360  #else
361  #  define List_NO_SIG 1
362  #endif
363  
364  /* ALLOW_NULL */
365  #if defined(List_ALLOW_NULL)
366  #  if ERWIN_BOOL_VALUE(List_ALLOW_NULL)
367  #    undef List_ALLOW_NULL
368  #    define List_ALLOW_NULL 1
369  #  else
370  #    undef List_ALLOW_NULL
371  #    define List_ALLOW_NULL 0
372  #  endif
373  #elif defined(Global_LIST_ALLOW_NULL)
374  #  if ERWIN_BOOL_VALUE(Global_LIST_ALLOW_NULL)
375  #    define List_ALLOW_NULL 1
376  #  else
377  #    define List_ALLOW_NULL 0
378  #  endif
379  #elif defined(Global_ERWIN_ALLOW_NULL)
380  #  if ERWIN_BOOL_VALUE(Global_ERWIN_ALLOW_NULL)
381  #    define List_ALLOW_NULL 1
382  #  else
383  #    define List_ALLOW_NULL 0
384  #  endif
385  #elif !defined(ALL_ERWIN_ALLOW_NULL)
386  #  define List_ALLOW_NULL 0
387  #elif ERWIN_BOOL_VALUE(ALL_ERWIN_ALLOW_NULL)
388  #  define List_ALLOW_NULL 1
389  #else
390  #  define List_ALLOW_NULL 0
391  #endif
392  
393  /* FAST_NENTRIES */
394  #if defined(List_FAST_NENTRIES)
395  #  if ERWIN_BOOL_VALUE(List_FAST_NENTRIES)
396  #    undef List_FAST_NENTRIES
397  #    define List_FAST_NENTRIES 1
398  #  else
399  #    undef List_FAST_NENTRIES
400  #    define List_FAST_NENTRIES 0
401  #  endif
402  #elif defined(List_SLOW_NENTRIES)
403  #  if !ERWIN_BOOL_VALUE(List_SLOW_NENTRIES)
404  #    define List_FAST_NENTRIES 1
405  #  else
406  #    define List_FAST_NENTRIES 0
407  #  endif
408  #elif defined(Global_LIST_FAST_NENTRIES)
409  #  if ERWIN_BOOL_VALUE(Global_LIST_FAST_NENTRIES)
410  #    define List_FAST_NENTRIES 1
411  #  else
412  #    define List_FAST_NENTRIES 0
413  #  endif
414  #elif defined(Global_LIST_SLOW_NENTRIES)
415  #  if !ERWIN_BOOL_VALUE(Global_LIST_SLOW_NENTRIES)
416  #    define List_FAST_NENTRIES 1
417  #  else
418  #    define List_FAST_NENTRIES 0
419  #  endif
420  #elif defined(Global_ERWIN_FAST_NENTRIES)
421  #  if ERWIN_BOOL_VALUE(Global_ERWIN_FAST_NENTRIES)
422  #    define List_FAST_NENTRIES 1
423  #  else
424  #    define List_FAST_NENTRIES 0
425  #  endif
426  #elif defined(Global_ERWIN_SLOW_NENTRIES)
427  #  if !ERWIN_BOOL_VALUE(Global_ERWIN_SLOW_NENTRIES)
428  #    define List_FAST_NENTRIES 1
429  #  else
430  #    define List_FAST_NENTRIES 0
431  #  endif
432  #elif defined(ALL_ERWIN_FAST_NENTRIES)
433  #  if ERWIN_BOOL_VALUE(ALL_ERWIN_FAST_NENTRIES)
434  #    define List_FAST_NENTRIES 1
435  #  else
436  #    define List_FAST_NENTRIES 0
437  #  endif
438  #elif !defined(ALL_ERWIN_SLOW_NENTRIES)
439  #  define List_FAST_NENTRIES 1
440  #elif !ERWIN_BOOL_VALUE(ALL_ERWIN_SLOW_NENTRIES)
441  #  define List_FAST_NENTRIES 1
442  #else
443  #  define List_FAST_NENTRIES 0
444  #endif
445  #if !defined(List_SLOW_NENTRIES)
446  #elif List_FAST_NENTRIES == ERWIN_BOOL_VALUE(List_SLOW_NENTRIES)
447  #  error "Inconsistency: List_FAST_NENTRIES == List_SLOW_NENTRIES"
448  #endif
449  #if ERWIN_BOOL_VALUE(List_FAST_NENTRIES)
450  #  define List_SLOW_NENTRIES 0
451  #else
452  #  define List_SLOW_NENTRIES 1
453  #endif
454  
455  /* DOUBLY_LINKED */
456  #if defined(List_DOUBLY_LINKED)
457  #  if ERWIN_BOOL_VALUE(List_DOUBLY_LINKED)
458  #    undef List_DOUBLY_LINKED
459  #    define List_DOUBLY_LINKED 1
460  #  else
461  #    undef List_DOUBLY_LINKED
462  #    define List_DOUBLY_LINKED 0
463  #  endif
464  #elif defined(List_SINGLY_LINKED)
465  #  if !ERWIN_BOOL_VALUE(List_SINGLY_LINKED)
466  #    define List_DOUBLY_LINKED 1
467  #  else
468  #    define List_DOUBLY_LINKED 0
469  #  endif
470  #elif defined(Global_LIST_DOUBLY_LINKED)
471  #  if ERWIN_BOOL_VALUE(Global_LIST_DOUBLY_LINKED)
472  #    define List_DOUBLY_LINKED 1
473  #  else
474  #    define List_DOUBLY_LINKED 0
475  #  endif
476  #elif defined(Global_LIST_SINGLY_LINKED)
477  #  if !ERWIN_BOOL_VALUE(Global_LIST_SINGLY_LINKED)
478  #    define List_DOUBLY_LINKED 1
479  #  else
480  #    define List_DOUBLY_LINKED 0
481  #  endif
482  #elif defined(Global_ERWIN_DOUBLY_LINKED)
483  #  if ERWIN_BOOL_VALUE(Global_ERWIN_DOUBLY_LINKED)
484  #    define List_DOUBLY_LINKED 1
485  #  else
486  #    define List_DOUBLY_LINKED 0
487  #  endif
488  #elif defined(Global_ERWIN_SINGLY_LINKED)
489  #  if !ERWIN_BOOL_VALUE(Global_ERWIN_SINGLY_LINKED)
490  #    define List_DOUBLY_LINKED 1
491  #  else
492  #    define List_DOUBLY_LINKED 0
493  #  endif
494  #elif defined(ALL_ERWIN_DOUBLY_LINKED)
495  #  if ERWIN_BOOL_VALUE(ALL_ERWIN_DOUBLY_LINKED)
496  #    define List_DOUBLY_LINKED 1
497  #  else
498  #    define List_DOUBLY_LINKED 0
499  #  endif
500  #elif !defined(ALL_ERWIN_SINGLY_LINKED)
501  #  define List_DOUBLY_LINKED 1
502  #elif !ERWIN_BOOL_VALUE(ALL_ERWIN_SINGLY_LINKED)
503  #  define List_DOUBLY_LINKED 1
504  #else
505  #  define List_DOUBLY_LINKED 0
506  #endif
507  #if !defined(List_SINGLY_LINKED)
508  #elif List_DOUBLY_LINKED == ERWIN_BOOL_VALUE(List_SINGLY_LINKED)
509  #  error "Inconsistency: List_DOUBLY_LINKED == List_SINGLY_LINKED"
510  #endif
511  #if ERWIN_BOOL_VALUE(List_DOUBLY_LINKED)
512  #  define List_SINGLY_LINKED 0
513  #else
514  #  define List_SINGLY_LINKED 1
515  #endif
516  
517  /* MANY_CASTS */
518  #if !defined(__cplusplus)
519  #  undef List_MANY_CASTS
520  #  define List_MANY_CASTS 0
521  #elif defined(List_MANY_CASTS)
522  #  if ERWIN_BOOL_VALUE(List_MANY_CASTS)
523  #    undef List_MANY_CASTS
524  #    define List_MANY_CASTS 1
525  #  else
526  #    undef List_MANY_CASTS
527  #    define List_MANY_CASTS 0
528  #  endif
529  #elif defined(Global_LIST_MANY_CASTS)
530  #  if ERWIN_BOOL_VALUE(Global_LIST_MANY_CASTS)
531  #    define List_MANY_CASTS 1
532  #  else
533  #    define List_MANY_CASTS 0
534  #  endif
535  #elif defined(Global_ERWIN_MANY_CASTS)
536  #  if ERWIN_BOOL_VALUE(Global_ERWIN_MANY_CASTS)
537  #    define List_MANY_CASTS 1
538  #  else
539  #    define List_MANY_CASTS 0
540  #  endif
541  #elif !defined(ALL_ERWIN_MANY_CASTS)
542  #  define List_MANY_CASTS 0
543  #elif ERWIN_BOOL_VALUE(ALL_ERWIN_MANY_CASTS)
544  #  define List_MANY_CASTS 1
545  #else
546  #  define List_MANY_CASTS 0
547  #endif
548  #if defined(List_MANY_CASTS) && List_MANY_CASTS
549  #  define Vector_DEFAULT_ARG_MANY(X) Vector_DEFAULT_ARG(X)
550  #else
551  #  define Vector_DEFAULT_ARG_MANY(X)
552  #endif
553  
554  /* DIRECT_RECURSION */
555  #if !defined(__cplusplus)
556  #elif defined(List_DIRECT_RECURSION)
557  #  if ERWIN_BOOL_VALUE(List_DIRECT_RECURSION)
558  #    undef List_DIRECT_RECURSION
559  #    define List_DIRECT_RECURSION 1
560  #  else
561  #    undef List_DIRECT_RECURSION
562  #    define List_DIRECT_RECURSION 0
563  #  endif
564  #elif defined(Global_LIST_DIRECT_RECURSION)
565  #  if ERWIN_BOOL_VALUE(Global_LIST_DIRECT_RECURSION)
566  #    define List_DIRECT_RECURSION 1
567  #  else
568  #    define List_DIRECT_RECURSION 0
569  #  endif
570  #elif defined(Global_ERWIN_DIRECT_RECURSION)
571  #  if ERWIN_BOOL_VALUE(Global_ERWIN_DIRECT_RECURSION)
572  #    define List_DIRECT_RECURSION 1
573  #  else
574  #    define List_DIRECT_RECURSION 0
575  #  endif
576  #elif !defined(ALL_ERWIN_DIRECT_RECURSION)
577  #  define List_DIRECT_RECURSION 0
578  #elif ERWIN_BOOL_VALUE(ALL_ERWIN_DIRECT_RECURSION)
579  #  define List_DIRECT_RECURSION 1
580  #else
581  #  define List_DIRECT_RECURSION 0
582  #endif
583  
584  /* HAVE_INT_CONSTRUCTOR */
585  #if defined(__cplusplus)
586  #  if List_DYN_ZERO && List_INDEX_IS_INT
587  #    undef List_HAVE_INT_CONSTRUCTOR
588  #    define List_HAVE_INT_CONSTRUCTOR 0
589  #    undef List_NO_INT_CONSTRUCTOR
590  #  elif defined(List_HAVE_INT_CONSTRUCTOR)
591  #    if ERWIN_BOOL_VALUE(List_HAVE_INT_CONSTRUCTOR)
592  #      undef List_HAVE_INT_CONSTRUCTOR
593  #      define List_HAVE_INT_CONSTRUCTOR 1
594  #    else
595  #      undef List_HAVE_INT_CONSTRUCTOR
596  #      define List_HAVE_INT_CONSTRUCTOR 0
597  #    endif
598  #  elif defined(List_NO_INT_CONSTRUCTOR)
599  #    if !ERWIN_BOOL_VALUE(List_NO_INT_CONSTRUCTOR)
600  #      define List_HAVE_INT_CONSTRUCTOR 1
601  #    else
602  #      define List_HAVE_INT_CONSTRUCTOR 0
603  #    endif
604  #  elif defined(Global_LIST_HAVE_INT_CONSTRUCTOR)
605  #    if ERWIN_BOOL_VALUE(Global_LIST_HAVE_INT_CONSTRUCTOR)
606  #      define List_HAVE_INT_CONSTRUCTOR 1
607  #    else
608  #      define List_HAVE_INT_CONSTRUCTOR 0
609  #    endif
610  #  elif defined(Global_LIST_NO_INT_CONSTRUCTOR)
611  #    if !ERWIN_BOOL_VALUE(Global_LIST_NO_INT_CONSTRUCTOR)
612  #      define List_HAVE_INT_CONSTRUCTOR 1
613  #    else
614  #      define List_HAVE_INT_CONSTRUCTOR 0
615  #    endif
616  #  elif defined(Global_ERWIN_HAVE_INT_CONSTRUCTOR)
617  #    if ERWIN_BOOL_VALUE(Global_ERWIN_HAVE_INT_CONSTRUCTOR)
618  #      define List_HAVE_INT_CONSTRUCTOR 1
619  #    else
620  #      define List_HAVE_INT_CONSTRUCTOR 0
621  #    endif
622  #  elif defined(Global_ERWIN_NO_INT_CONSTRUCTOR)
623  #    if !ERWIN_BOOL_VALUE(Global_ERWIN_NO_INT_CONSTRUCTOR)
624  #      define List_HAVE_INT_CONSTRUCTOR 1
625  #    else
626  #      define List_HAVE_INT_CONSTRUCTOR 0
627  #    endif
628  #  elif defined(ALL_ERWIN_HAVE_INT_CONSTRUCTOR)
629  #    if ERWIN_BOOL_VALUE(ALL_ERWIN_HAVE_INT_CONSTRUCTOR)
630  #      define List_HAVE_INT_CONSTRUCTOR 1
631  #    else
632  #      define List_HAVE_INT_CONSTRUCTOR 0
633  #    endif
634  #  elif !defined(ALL_ERWIN_NO_INT_CONSTRUCTOR)
635  #    define List_HAVE_INT_CONSTRUCTOR 1
636  #  elif !ERWIN_BOOL_VALUE(ALL_ERWIN_NO_INT_CONSTRUCTOR)
637  #    define List_HAVE_INT_CONSTRUCTOR 1
638  #  else
639  #    define List_HAVE_INT_CONSTRUCTOR 0
640  #  endif
641  #  if !defined(List_NO_INT_CONSTRUCTOR)
642  #  elif List_HAVE_INT_CONSTRUCTOR == ERWIN_BOOL_VALUE(List_NO_INT_CONSTRUCTOR)
643  #    error "Inconsistency: List_HAVE_INT_CONSTRUCTOR == List_NO_INT_CONSTRUCTOR"
644  #  endif
645  #  if ERWIN_BOOL_VALUE(List_HAVE_INT_CONSTRUCTOR)
646  #    define List_NO_INT_CONSTRUCTOR 0
647  #  else
648  #    define List_NO_INT_CONSTRUCTOR 1
649  #  endif
650  #endif
651  
652  /* ###################################################################### */
653  #ifdef List_IMPLEMENTATION
654  
655  ErwinImplementationInclude
656  
657  #ifdef Global_ERWIN_COMPILING
658  #  include "erwin/defaults.h"
659  #  include "erwin/forwards.h"
660  #else
661  #  include <erwin/defaults.h>
662  #  include <erwin/forwards.h>
663  #endif
664  
665  /* NOMEM_IS_FATAL */
666  #if defined(List_NOMEM_IS_FATAL)
667  #  if ERWIN_BOOL_VALUE(List_NOMEM_IS_FATAL)
668  #    undef List_NOMEM_IS_FATAL
669  #    define List_NOMEM_IS_FATAL 1
670  #  else
671  #    undef List_NOMEM_IS_FATAL
672  #    define List_NOMEM_IS_FATAL 0
673  #  endif
674  #elif defined(Global_LIST_NOMEM_IS_FATAL)
675  #  if ERWIN_BOOL_VALUE(Global_LIST_NOMEM_IS_FATAL)
676  #    define List_NOMEM_IS_FATAL 1
677  #  else
678  #    define List_NOMEM_IS_FATAL 0
679  #  endif
680  #elif defined(Global_ERWIN_NOMEM_IS_FATAL)
681  #  if ERWIN_BOOL_VALUE(Global_ERWIN_NOMEM_IS_FATAL)
682  #    define List_NOMEM_IS_FATAL 1
683  #  else
684  #    define List_NOMEM_IS_FATAL 0
685  #  endif
686  #elif !defined(ALL_ERWIN_NOMEM_IS_FATAL)
687  #  define List_NOMEM_IS_FATAL 0
688  #elif ERWIN_BOOL_VALUE(ALL_ERWIN_NOMEM_IS_FATAL)
689  #  define List_NOMEM_IS_FATAL 1
690  #else
691  #  define List_NOMEM_IS_FATAL 0
692  #endif
693  
694  /* ASSERTION_FAILED_HANDLER */
695  #if defined(List_ASSERTION_FAILED_HANDLER)
696  #elif defined(Global_LIST_ASSERTION_FAILED_HANDLER)
697  #  define List_ASSERTION_FAILED_HANDLER(FILE,LINE,FUNC,CHECK) Global_LIST_ASSERTION_FAILED_HANDLER(FILE,LINE,FUNC,CHECK)
698  #elif defined(Global_ERWIN_ASSERTION_FAILED_HANDLER)
699  #  define List_ASSERTION_FAILED_HANDLER(FILE,LINE,FUNC,CHECK) Global_ERWIN_ASSERTION_FAILED_HANDLER(FILE,LINE,FUNC,CHECK)
700  #elif defined(ALL_ERWIN_ASSERTION_FAILED_HANDLER)
701  #  define List_ASSERTION_FAILED_HANDLER(FILE,LINE,FUNC,CHECK) ALL_ERWIN_ASSERTION_FAILED_HANDLER(FILE,LINE,FUNC,CHECK)
702  #else
703  #  define List_ASSERTION_FAILED_HANDLER(FILE,LINE,FUNC,CHECK) Global_ERWIN_DEFAULT_ASSERTION_FAILED_HANDLER(FILE,LINE,FUNC,CHECK)
704  #endif
705  
706  /* OPTIMISE_SIZE */
707  #if defined(List_OPTIMISE_SIZE)
708  #  if ERWIN_BOOL_VALUE(List_OPTIMISE_SIZE)
709  #    undef List_OPTIMISE_SIZE
710  #    define List_OPTIMISE_SIZE 1
711  #  else
712  #    undef List_OPTIMISE_SIZE
713  #    define List_OPTIMISE_SIZE 0
714  #  endif
715  #elif defined(Global_LIST_OPTIMISE_SIZE)
716  #  if ERWIN_BOOL_VALUE(Global_LIST_OPTIMISE_SIZE)
717  #    define List_OPTIMISE_SIZE 1
718  #  else
719  #    define List_OPTIMISE_SIZE 0
720  #  endif
721  #elif defined(Global_ERWIN_OPTIMISE_SIZE)
722  #  if ERWIN_BOOL_VALUE(Global_ERWIN_OPTIMISE_SIZE)
723  #    define List_OPTIMISE_SIZE 1
724  #  else
725  #    define List_OPTIMISE_SIZE 0
726  #  endif
727  #elif !defined(ALL_ERWIN_OPTIMISE_SIZE)
728  #elif ERWIN_BOOL_VALUE(ALL_ERWIN_OPTIMISE_SIZE)
729  #  define List_OPTIMISE_SIZE 1
730  #else
731  #  define List_OPTIMISE_SIZE 0
732  #endif
733  
734  /* SPLIT */
735  #if defined(List_SPLIT)
736  #  if ERWIN_BOOL_VALUE(List_SPLIT)
737  #    undef List_SPLIT
738  #    define List_SPLIT 1
739  #  else
740  #    undef List_SPLIT
741  #    define List_SPLIT 0
742  #  endif
743  #elif defined(Global_LIST_SPLIT)
744  #  if ERWIN_BOOL_VALUE(Global_LIST_SPLIT)
745  #    define List_SPLIT 1
746  #  else
747  #    define List_SPLIT 0
748  #  endif
749  #elif defined(Global_ERWIN_SPLIT)
750  #  if ERWIN_BOOL_VALUE(Global_ERWIN_SPLIT)
751  #    define List_SPLIT 1
752  #  else
753  #    define List_SPLIT 0
754  #  endif
755  #elif !defined(ALL_ERWIN_SPLIT)
756  #elif ERWIN_BOOL_VALUE(ALL_ERWIN_SPLIT)
757  #  define List_SPLIT 1
758  #else
759  #  define List_SPLIT 0
760  #endif
761  
762  /* ALLOW_OUTOFRANGE */
763  #if defined(List_ALLOW_OUTOFRANGE)
764  #  if ERWIN_BOOL_VALUE(List_ALLOW_OUTOFRANGE)
765  #    undef List_ALLOW_OUTOFRANGE
766  #    define List_ALLOW_OUTOFRANGE 1
767  #  else
768  #    undef List_ALLOW_OUTOFRANGE
769  #    define List_ALLOW_OUTOFRANGE 0
770  #  endif
771  #elif defined(Global_LIST_ALLOW_OUTOFRANGE)
772  #  if ERWIN_BOOL_VALUE(Global_LIST_ALLOW_OUTOFRANGE)
773  #    define List_ALLOW_OUTOFRANGE 1
774  #  else
775  #    define List_ALLOW_OUTOFRANGE 0
776  #  endif
777  #elif defined(Global_ERWIN_ALLOW_OUTOFRANGE)
778  #  if ERWIN_BOOL_VALUE(Global_ERWIN_ALLOW_OUTOFRANGE)
779  #    define List_ALLOW_OUTOFRANGE 1
780  #  else
781  #    define List_ALLOW_OUTOFRANGE 0
782  #  endif
783  #elif !defined(ALL_ERWIN_ALLOW_OUTOFRANGE)
784  #  define List_ALLOW_OUTOFRANGE 0
785  #elif ERWIN_BOOL_VALUE(ALL_ERWIN_ALLOW_OUTOFRANGE)
786  #  define List_ALLOW_OUTOFRANGE 1
787  #else
788  #  define List_ALLOW_OUTOFRANGE 0
789  #endif
790  
791  /* RANGE_CHECK */
792  #if defined(List_RANGE_CHECK)
793  #  if ERWIN_BOOL_VALUE(List_RANGE_CHECK)
794  #    undef List_RANGE_CHECK
795  #    define List_RANGE_CHECK 1
796  #  else
797  #    undef List_RANGE_CHECK
798  #    define List_RANGE_CHECK 0
799  #  endif
800  #elif defined(List_NO_RANGE_CHECK)
801  #  if !ERWIN_BOOL_VALUE(List_NO_RANGE_CHECK)
802  #    define List_RANGE_CHECK 1
803  #  else
804  #    define List_RANGE_CHECK 0
805  #  endif
806  #elif defined(Global_LIST_RANGE_CHECK)
807  #  if ERWIN_BOOL_VALUE(Global_LIST_RANGE_CHECK)
808  #    define List_RANGE_CHECK 1
809  #  else
810  #    define List_RANGE_CHECK 0
811  #  endif
812  #elif defined(Global_LIST_NO_RANGE_CHECK)
813  #  if !ERWIN_BOOL_VALUE(Global_LIST_NO_RANGE_CHECK)
814  #    define List_RANGE_CHECK 1
815  #  else
816  #    define List_RANGE_CHECK 0
817  #  endif
818  #elif defined(Global_ERWIN_RANGE_CHECK)
819  #  if ERWIN_BOOL_VALUE(Global_ERWIN_RANGE_CHECK)
820  #    define List_RANGE_CHECK 1
821  #  else
822  #    define List_RANGE_CHECK 0
823  #  endif
824  #elif defined(Global_ERWIN_NO_RANGE_CHECK)
825  #  if !ERWIN_BOOL_VALUE(Global_ERWIN_NO_RANGE_CHECK)
826  #    define List_RANGE_CHECK 1
827  #  else
828  #    define List_RANGE_CHECK 0
829  #  endif
830  #elif defined(ALL_ERWIN_RANGE_CHECK)
831  #  if ERWIN_BOOL_VALUE(ALL_ERWIN_RANGE_CHECK)
832  #    define List_RANGE_CHECK 1
833  #  else
834  #    define List_RANGE_CHECK 0
835  #  endif
836  #elif !defined(ALL_ERWIN_NO_RANGE_CHECK)
837  #  define List_RANGE_CHECK 1
838  #elif !ERWIN_BOOL_VALUE(ALL_ERWIN_NO_RANGE_CHECK)
839  #  define List_RANGE_CHECK 1
840  #else
841  #  define List_RANGE_CHECK 0
842  #endif
843  #if !defined(List_NO_RANGE_CHECK)
844  #elif List_RANGE_CHECK == ERWIN_BOOL_VALUE(List_NO_RANGE_CHECK)
845  #  error "Inconsistency: List_RANGE_CHECK == List_NO_RANGE_CHECK"
846  #endif
847  #if ERWIN_BOOL_VALUE(List_RANGE_CHECK)
848  #  define List_NO_RANGE_CHECK 0
849  #else
850  #  define List_NO_RANGE_CHECK 1
851  #endif
852  
853  /* OUTOFRANGE_IS_FATAL */
854  #if defined(List_OUTOFRANGE_IS_FATAL)
855  #  if ERWIN_BOOL_VALUE(List_OUTOFRANGE_IS_FATAL)
856  #    undef List_OUTOFRANGE_IS_FATAL
857  #    define List_OUTOFRANGE_IS_FATAL 1
858  #  else
859  #    undef List_OUTOFRANGE_IS_FATAL
860  #    define List_OUTOFRANGE_IS_FATAL 0
861  #  endif
862  #elif defined(Global_LIST_OUTOFRANGE_IS_FATAL)
863  #  if ERWIN_BOOL_VALUE(Global_LIST_OUTOFRANGE_IS_FATAL)
864  #    define List_OUTOFRANGE_IS_FATAL 1
865  #  else
866  #    define List_OUTOFRANGE_IS_FATAL 0
867  #  endif
868  #elif defined(Global_ERWIN_OUTOFRANGE_IS_FATAL)
869  #  if ERWIN_BOOL_VALUE(Global_ERWIN_OUTOFRANGE_IS_FATAL)
870  #    define List_OUTOFRANGE_IS_FATAL 1
871  #  else
872  #    define List_OUTOFRANGE_IS_FATAL 0
873  #  endif
874  #elif !defined(ALL_ERWIN_OUTOFRANGE_IS_FATAL)
875  #  define List_OUTOFRANGE_IS_FATAL 0
876  #elif ERWIN_BOOL_VALUE(ALL_ERWIN_OUTOFRANGE_IS_FATAL)
877  #  define List_OUTOFRANGE_IS_FATAL 1
878  #else
879  #  define List_OUTOFRANGE_IS_FATAL 0
880  #endif
881  
882  /* OCOPY */
883  #if defined(Global_oType_OCOPY_PROVIDED)
884  #elif defined(Global_oType_OCOPY)
885  #  define Global_oType_OCOPY_PROVIDED 1
886  #elif defined(Global_oType_COPY)
887  #  define Global_oType_OCOPY_PROVIDED 1
888  #  define Global_oType_OCOPY(TO_BE_COPIED,ERR_P) Global_oType_COPY(TO_BE_COPIED,ERR_P)
889  #else
890  #  define Global_oType_OCOPY(TO_BE_COPIED,ERR_P) TO_BE_COPIED
891  #  define Global_oType_OCOPY_PROVIDED 0
892  #endif
893  #if defined(Global_oType_OCOPY)
894  #elif Global_oType_OCOPY_PROVIDED
895  #  error "Inconsistency: Global_oType_OCOPY_PROVIDED is true but Global_oType_OCOPY is undefined."
896  #endif
897  
898  /* OFREE */
899  #if defined(Global_oType_OFREE_PROVIDED)
900  #elif defined(Global_oType_OFREE)
901  #  define Global_oType_OFREE_PROVIDED 1
902  #elif defined(Global_oType_FREE)
903  #  define Global_oType_OFREE_PROVIDED 1
904  #  define Global_oType_OFREE(TO_BE_DESTROYED) Global_oType_FREE(TO_BE_DESTROYED)
905  #else
906  #  define Global_oType_OFREE(TO_BE_DESTROYED)
907  #  define Global_oType_OFREE_PROVIDED 0
908  #endif
909  #if defined(Global_oType_OFREE)
910  #elif Global_oType_OFREE_PROVIDED
911  #  error "Inconsistency: Global_oType_OFREE_PROVIDED is true but Global_oType_OFREE is undefined."
912  #endif
913  
914  /* ZERO */
915  #if !defined(Global_oType_ZERO)
916  #  define Global_oType_ZERO (oTypeTouched)0
917  #endif
918  
919  /* HASH_RAW */
920  #if defined(Global_oType_HASH_RAW)
921  #elif defined(Global_oType_HASHVAL)
922  #  define Global_oType_HASH_RAW(X) Global_oType_HASHVAL(X)
923  #endif
924  
925  /* HASH */
926  #if defined(Global_oType_HASH)
927  #elif defined(Global_oType_HASH_RAW)
928  #  define Global_oType_HASH(X) Global_hashval_t_hash((Global_oType_HASH_RAW(X)))
929  #endif
930  
931  /* CMP */
932  #if defined(Global_oType_CMP_PROVIDED)
933  #elif defined(Global_oType_CMP)
934  #  define Global_oType_CMP_PROVIDED 1
935  #else
936  #  define Global_oType_CMP_PROVIDED 0
937  #endif
938  #if defined(Global_oType_CMP)
939  #elif Global_oType_CMP_PROVIDED
940  #  error "Inconsistency: Global_oType_CMP_PROVIDED is true but Global_oType_CMP is undefined."
941  #endif
942  
943  /* EQUAL */
944  #if defined(Global_oType_EQUAL)
945  #elif !Global_oType_CMP_PROVIDED
946  #  define Global_oType_EQUAL(A,B) (A) == (B)
947  #elif defined(Global_oType_CMP)
948  #  define Global_oType_EQUAL(A,B) (Global_oType_CMP(A,B)) == 0
949  #endif
950  
951  #endif /* List_IMPLEMENTATION */
952  #endif /* !defined(ERWIN_List_D_ErwinHExt) */

Index

Stoppt die Vorratsdatenspeicherung
November 26th, 2007
Comments? Suggestions? Corrections? You can drop me a line.
zpentrabvagiktu@theiling.de
Schwerpunktpraxis