summaryrefslogtreecommitdiff
path: root/src/define.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/define.h')
-rw-r--r--src/define.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/src/define.h b/src/define.h
new file mode 100644
index 0000000..b8bbc60
--- /dev/null
+++ b/src/define.h
@@ -0,0 +1,98 @@
+/******************************************************************************
+ *
+ * $Id: define.h,v 1.21 2001/03/19 19:27:40 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 DEFINE_H
+#define DEFINE_H
+
+#include "qtbc.h"
+#include <qdict.h>
+#include <qlist.h>
+
+class FileDef;
+
+/** A class representing a macro definition. */
+class Define
+{
+ public:
+ Define();
+ Define(const Define &d);
+ ~Define();
+ bool hasDocumentation();
+ QCString name;
+ QCString definition;
+ QCString fileName;
+ QCString doc;
+ QCString brief;
+ QCString args;
+ QCString anchor;
+ FileDef *fileDef;
+ int lineNr;
+ int nargs;
+ bool undef;
+ bool varArgs;
+ bool isPredefined;
+ bool nonRecursive;
+};
+
+/** A list of Define objects. */
+class DefineList : public QList<Define>
+{
+ public:
+ DefineList() : QList<Define>() {}
+ ~DefineList() {}
+ int compareItems(GCI i1,GCI i2)
+ {
+ return stricmp(((Define *)i1)->name,((Define *)i2)->name);
+ }
+};
+
+/** A list of Define objects associated with a specific name. */
+class DefineName : public QList<Define>
+{
+ public:
+ DefineName(const char *n) : QList<Define>() { name=n; }
+ ~DefineName() {}
+ const char *nameString() const { return name; }
+ int compareItems(GCI i1,GCI i2)
+ {
+ return stricmp(((Define *)i1)->name,((Define *)i2)->name);
+ }
+
+ private:
+ QCString name;
+};
+
+/** A list of DefineName objects. */
+class DefineNameList : public QList<DefineName>
+{
+ public:
+ DefineNameList() : QList<DefineName>() {}
+ ~DefineNameList() {}
+ int compareItems(GCI i1,GCI i2)
+ {
+ return stricmp(((DefineName *)i1)->nameString(),
+ ((DefineName *)i2)->nameString());
+ }
+};
+
+/** An unsorted dictionary of Define objects. */
+typedef QDict<Define> DefineDict;
+
+/** A sorted dictionary of DefineName object. */
+typedef QDict<DefineName> DefineNameDict;
+
+#endif