diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-03-29 18:19:37 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-03-29 18:19:37 (GMT) |
commit | 29f29c2eb1a75ff02624fdb2badd47dd55427841 (patch) | |
tree | 1498070bbf93de34323682036524c69c43cb34b7 /src/define.h | |
parent | e688cb8dd84f2e2b078271c62053a494ec3ae226 (diff) | |
download | Doxygen-29f29c2eb1a75ff02624fdb2badd47dd55427841.zip Doxygen-29f29c2eb1a75ff02624fdb2badd47dd55427841.tar.gz Doxygen-29f29c2eb1a75ff02624fdb2badd47dd55427841.tar.bz2 |
Migrated some code in pre.l to use STL containers (part 2)
Diffstat (limited to 'src/define.h')
-rw-r--r-- | src/define.h | 63 |
1 files changed, 11 insertions, 52 deletions
diff --git a/src/define.h b/src/define.h index cc1e390..3627140 100644 --- a/src/define.h +++ b/src/define.h @@ -1,12 +1,10 @@ /****************************************************************************** * - * - * * Copyright (C) 1997-2015 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,11 @@ #ifndef DEFINE_H #define DEFINE_H -#include <qdict.h> -#include <qlist.h> +#include <map> +#include <string> +#include <memory> + +#include <qcstring.h> class FileDef; @@ -48,52 +49,10 @@ class Define bool nonRecursive; }; -/** 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 dictionary of references to Define objects. */ +typedef std::map< std::string,Define* > DefineMapRef; -/** A sorted dictionary of DefineName object. */ -typedef QDict<DefineName> DefineNameDict; +/** A dictionary of managed Define objects. */ +typedef std::map< std::string,std::unique_ptr<Define> > DefineMapOwning; #endif |