summaryrefslogtreecommitdiffstats
path: root/src/define.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/define.h')
-rw-r--r--src/define.h90
1 files changed, 21 insertions, 69 deletions
diff --git a/src/define.h b/src/define.h
index cc1e390..23da59d 100644
--- a/src/define.h
+++ b/src/define.h
@@ -1,12 +1,10 @@
/******************************************************************************
*
- *
- *
- * Copyright (C) 1997-2015 by Dimitri van Heesch.
+ * Copyright (C) 1997-2020 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
+ * 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.
*
@@ -18,8 +16,13 @@
#ifndef DEFINE_H
#define DEFINE_H
-#include <qdict.h>
-#include <qlist.h>
+#include <vector>
+#include <memory>
+#include <string>
+#include <unordered_map>
+
+#include <qcstring.h>
+#include "containers.h"
class FileDef;
@@ -27,73 +30,22 @@ class FileDef;
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 columnNr;
- int nargs;
- bool undef;
- bool varArgs;
- bool isPredefined;
- bool nonRecursive;
+ FileDef *fileDef = 0;
+ int lineNr = 1;
+ int columnNr = 1;
+ int nargs = -1;
+ bool undef = FALSE;
+ bool varArgs = FALSE;
+ bool isPredefined = FALSE;
+ bool nonRecursive = FALSE;
};
-/** A list of Define objects. */
-class DefineList : public QList<Define>
-{
- public:
- DefineList() : QList<Define>() {}
- ~DefineList() {}
- private:
- int compareValues(const Define *d1,const Define *d2) const
- {
- return qstricmp(d1->name,d2->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; }
-
- private:
- int compareValues(const Define *d1,const Define *d2) const
- {
- return qstricmp(d1->name,d2->name);
- }
- QCString name;
-};
-
-/** A list of DefineName objects. */
-class DefineNameList : public QList<DefineName>
-{
- public:
- DefineNameList() : QList<DefineName>() {}
- ~DefineNameList() {}
- private:
- int compareValues(const DefineName *n1,const DefineName *n2) const
- {
- return qstricmp(n1->nameString(),n2->nameString());
- }
-};
-
-/** An unsorted dictionary of Define objects. */
-typedef QDict<Define> DefineDict;
-
-/** A sorted dictionary of DefineName object. */
-typedef QDict<DefineName> DefineNameDict;
+/** List of all macro definitions */
+using DefineList = std::vector<Define>;
+using DefinesPerFileList = std::unordered_map< std::string, DefineList >;
#endif