From 8898ad9b25fca6afe2374d293a981db02a83d7e9 Mon Sep 17 00:00:00 2001 From: "FWoltermann@gmail.com" Date: Thu, 31 May 2012 14:46:27 +0000 Subject: Committing the documentation to svn to have it accessible online --- Doc/doxygen/html/_list_8h_source.html | 224 ++++++++++++++++++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 Doc/doxygen/html/_list_8h_source.html (limited to 'Doc/doxygen/html/_list_8h_source.html') diff --git a/Doc/doxygen/html/_list_8h_source.html b/Doc/doxygen/html/_list_8h_source.html new file mode 100644 index 0000000..28b65df --- /dev/null +++ b/Doc/doxygen/html/_list_8h_source.html @@ -0,0 +1,224 @@ + + + + + +Starshatter_Open: D:/SRC/StarshatterSVN/FoundationEx/List.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Starshatter_Open +
+
Open source Starshatter engine
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
List.h
+
+
+Go to the documentation of this file.
1 /* Project FoundationEx
+
2  Destroyer Studios LLC
+
3  Copyright © 1997-2004. All Rights Reserved.
+
4 
+
5  SUBSYSTEM: FoundationEx
+
6  FILE: List.h
+
7  AUTHOR: John DiCamillo
+
8 
+
9 
+
10  OVERVIEW
+
11  ========
+
12  Declaration of the List class template
+
13 */
+
14 
+
15 #ifndef List_h
+
16 #define List_h
+
17 
+
18 // +-------------------------------------------------------------------+
+
19 
+
20 template <class T> class List;
+
21 template <class T> class ListIter;
+
22 
+
23 // +-------------------------------------------------------------------+
+
24 
+
25 template <class T> class List
+
26 {
+
27 public:
+
28  List() : items(0), extent(0), array(0) { }
+
29  List(const List<T>& l);
+
30  ~List() { delete [] array; }
+
31 
+
32  T*& operator[](int i);
+
33  T* operator[](int i) const;
+
34  T*& at(int i);
+
35  T* at(int i) const;
+
36 
+
37  void append(List<T>& list);
+
38  void append(const T* val);
+
39  void insert(const T* val, int index=0);
+
40  void insertSort(const T* val);
+
41 
+
42  T* first() const { return operator[](0); }
+
43  T* last() const { return operator[](items-1); }
+
44  T* remove(const T* val);
+
45  T* removeIndex(int index);
+
46 
+
47  void clear();
+
48  void destroy();
+
49 
+
50  int size() const { return items; }
+
51  bool isEmpty() const { return !items; }
+
52 
+
53  bool contains(const T* val) const;
+
54  int count(const T* val) const;
+
55  int index(const T* val) const;
+
56  T* find(const T* val) const;
+
57 
+
58  void sort();
+
59  void shuffle();
+
60 
+
61 private:
+
62  typedef T* PTR;
+
63  void qsort(T** a, int lo, int hi);
+
64  void resize(int newsize);
+
65  bool check(int& index) const;
+
66  void swap(T** a, int i, int j);
+
67 
+
68  int items;
+
69  int extent;
+
70  PTR* array;
+
71 
+
72  friend class ListIter<T>;
+
73 };
+
74 
+
75 // +-------------------------------------------------------------------+
+
76 
+
77 template <class T> class ListIter
+
78 {
+
79 public:
+
80  ListIter() : list(0), step(-1) { }
+
81  ListIter(const ListIter<T>& i) : list(i.list), step(i.step) { }
+
82  ListIter(List<T>& l) : list(&l), step(-1) { }
+
83 
+
84  int operator++() { return next() != 0; }
+
85  int operator--() { return prev() != 0; }
+
86  T* operator->() { return value(); }
+
87  T& operator* () { return *value(); }
+
88 
+
89  void reset() { step = -1; }
+
90  T* next();
+
91  T* prev();
+
92  T* value();
+
93  T* removeItem();
+
94 
+
95  void attach(List<T>& l);
+
96  List<T>& container();
+
97  int size();
+
98  int index() { return step; }
+
99 
+
100 private:
+
101  List<T>* list;
+
102  int step;
+
103 };
+
104 
+
105 #include "List.inl"
+
106 #endif List_h
+
107 
+
+
+ + + + -- cgit v1.1