1 /******************************************************************************
3 * $Id: define.h,v 1.21 2001/03/19 19:27:40 root Exp $
5 * Copyright (C) 1997-2012 by Dimitri van Heesch.
7 * Permission to use, copy, modify, and distribute this software and its
8 * documentation under the terms of the GNU General Public License is hereby
9 * granted. No representations are made about the suitability of this software
10 * for any purpose. It is provided "as is" without express or implied warranty.
11 * See the GNU General Public License for more details.
13 * Documents produced by Doxygen are derivative works derived from the
14 * input used in their production; they are not affected by this license.
27 /** A class representing a macro definition. */
32 Define(const Define &d);
34 bool hasDocumentation();
51 /** A list of Define objects. */
52 class DefineList : public QList<Define>
55 DefineList() : QList<Define>() {}
57 int compareItems(GCI i1,GCI i2)
59 return stricmp(((Define *)i1)->name,((Define *)i2)->name);
63 /** A list of Define objects associated with a specific name. */
64 class DefineName : public QList<Define>
67 DefineName(const char *n) : QList<Define>() { name=n; }
69 const char *nameString() const { return name; }
70 int compareItems(GCI i1,GCI i2)
72 return stricmp(((Define *)i1)->name,((Define *)i2)->name);
79 /** A list of DefineName objects. */
80 class DefineNameList : public QList<DefineName>
83 DefineNameList() : QList<DefineName>() {}
85 int compareItems(GCI i1,GCI i2)
87 return stricmp(((DefineName *)i1)->nameString(),
88 ((DefineName *)i2)->nameString());
92 /** An unsorted dictionary of Define objects. */
93 typedef QDict<Define> DefineDict;
95 /** A sorted dictionary of DefineName object. */
96 typedef QDict<DefineName> DefineNameDict;