summaryrefslogtreecommitdiff
path: root/src/classlist.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/classlist.h')
-rw-r--r--src/classlist.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/classlist.h b/src/classlist.h
new file mode 100644
index 0000000..d704f9a
--- /dev/null
+++ b/src/classlist.h
@@ -0,0 +1,85 @@
+/******************************************************************************
+ *
+ * $Id: classlist.h,v 1.8 2001/03/19 19:27:39 root Exp $
+ *
+ * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * Documents produced by Doxygen are derivative works derived from the
+ * input used in their production; they are not affected by this license.
+ *
+ */
+
+#ifndef CLASSLIST_H
+#define CLASSLIST_H
+
+#include <qlist.h>
+#include <qdict.h>
+
+#include "classdef.h"
+#include "sortdict.h"
+
+class Definition;
+
+/** A list of ClassDef objects. */
+class ClassList : public QList<ClassDef>
+{
+ public:
+ ClassList();
+ ~ClassList();
+
+ int compareItems(GCI item1,GCI item2);
+};
+
+/** An iterator for ClassDef objects in a ClassList. */
+class ClassListIterator : public QListIterator<ClassDef>
+{
+ public:
+ ClassListIterator(const ClassList &list);
+};
+
+/** An unsorted dictionary of ClassDef objects. */
+class ClassDict : public QDict<ClassDef>
+{
+ public:
+ ClassDict(int size) : QDict<ClassDef>(size) {}
+ ~ClassDict() {}
+};
+
+/** A sorted dictionary of ClassDef objects. */
+class ClassSDict : public SDict<ClassDef>
+{
+ public:
+ ClassSDict(int size=17) : SDict<ClassDef>(size) {}
+ ~ClassSDict() {}
+ int compareItems(GCI item1,GCI item2);
+ void writeDeclaration(OutputList &ol,const ClassDef::CompoundType *filter=0,
+ const char *header=0,bool localNames=FALSE);
+ void writeDocumentation(OutputList &ol,Definition *container=0);
+ bool declVisible(const ClassDef::CompoundType *filter=0) const;
+};
+
+class GenericsCollection : public QIntDict<ClassDef>
+{
+ public:
+ GenericsCollection() : QIntDict<ClassDef>(17) {}
+ ~GenericsCollection() {}
+};
+
+class GenericsSDict
+{
+ public:
+ GenericsSDict() : m_dict(17) { m_dict.setAutoDelete(TRUE); }
+ ~GenericsSDict() {}
+ void insert(const QCString &key,ClassDef *cd);
+ ClassDef *find(const QCString &key);
+ private:
+ SDict<GenericsCollection> m_dict;
+};
+
+#endif