|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Documents produced by Doxygen are derivative works derived from the
|
|
Packit |
1c1d7e |
* input used in their production; they are not affected by this license.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#ifndef DEFINE_H
|
|
Packit |
1c1d7e |
#define DEFINE_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include <qdict.h>
|
|
Packit |
1c1d7e |
#include <qlist.h>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class FileDef;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** A class representing a macro definition. */
|
|
Packit |
1c1d7e |
class Define
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
Define();
|
|
Packit |
1c1d7e |
Define(const Define &d);
|
|
Packit |
1c1d7e |
~Define();
|
|
Packit |
1c1d7e |
bool hasDocumentation();
|
|
Packit |
1c1d7e |
QCString name;
|
|
Packit |
1c1d7e |
QCString definition;
|
|
Packit |
1c1d7e |
QCString fileName;
|
|
Packit |
1c1d7e |
QCString doc;
|
|
Packit |
1c1d7e |
QCString brief;
|
|
Packit |
1c1d7e |
QCString args;
|
|
Packit |
1c1d7e |
QCString anchor;
|
|
Packit |
1c1d7e |
FileDef *fileDef;
|
|
Packit |
1c1d7e |
int lineNr;
|
|
Packit |
1c1d7e |
int columnNr;
|
|
Packit |
1c1d7e |
int nargs;
|
|
Packit |
1c1d7e |
bool undef;
|
|
Packit |
1c1d7e |
bool varArgs;
|
|
Packit |
1c1d7e |
bool isPredefined;
|
|
Packit |
1c1d7e |
bool nonRecursive;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** A list of Define objects. */
|
|
Packit |
1c1d7e |
class DefineList : public QList<Define>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
DefineList() : QList<Define>() {}
|
|
Packit |
1c1d7e |
~DefineList() {}
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
int compareValues(const Define *d1,const Define *d2) const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return qstricmp(d1->name,d2->name);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** A list of Define objects associated with a specific name. */
|
|
Packit |
1c1d7e |
class DefineName : public QList<Define>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
DefineName(const char *n) : QList<Define>() { name=n; }
|
|
Packit |
1c1d7e |
~DefineName() {}
|
|
Packit |
1c1d7e |
const char *nameString() const { return name; }
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
int compareValues(const Define *d1,const Define *d2) const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return qstricmp(d1->name,d2->name);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
QCString name;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** A list of DefineName objects. */
|
|
Packit |
1c1d7e |
class DefineNameList : public QList<DefineName>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
DefineNameList() : QList<DefineName>() {}
|
|
Packit |
1c1d7e |
~DefineNameList() {}
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
int compareValues(const DefineName *n1,const DefineName *n2) const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return qstricmp(n1->nameString(),n2->nameString());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** An unsorted dictionary of Define objects. */
|
|
Packit |
1c1d7e |
typedef QDict<Define> DefineDict;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** A sorted dictionary of DefineName object. */
|
|
Packit |
1c1d7e |
typedef QDict<DefineName> DefineNameDict;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|