|
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 MEMBERNAME_H
|
|
Packit |
1c1d7e |
#define MEMBERNAME_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include <qlist.h>
|
|
Packit |
1c1d7e |
#include "memberdef.h"
|
|
Packit |
1c1d7e |
#include "sortdict.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Class representing all MemberDef objects with the same name */
|
|
Packit |
1c1d7e |
class MemberName : public QList<MemberDef>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
MemberName(const char *name);
|
|
Packit |
1c1d7e |
~MemberName();
|
|
Packit |
1c1d7e |
const char *memberName() const { return name; }
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
int compareValues(const MemberDef *item1,const MemberDef *item2) const;
|
|
Packit |
1c1d7e |
QCString name;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Iterator for MemberDef objects in a MemberName list. */
|
|
Packit |
1c1d7e |
class MemberNameIterator : public QListIterator<MemberDef>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
MemberNameIterator( const MemberName &list);
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Sorted dictionary of MemberName objects. */
|
|
Packit |
1c1d7e |
class MemberNameSDict : public SDict<MemberName>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
MemberNameSDict(int size) : SDict<MemberName>(size) {}
|
|
Packit |
1c1d7e |
~MemberNameSDict() {}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
int compareValues(const MemberName *item1,const MemberName *item2) const;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Data associated with a MemberDef in an inheritance relation. */
|
|
Packit |
1c1d7e |
struct MemberInfo
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
MemberInfo(MemberDef *md,Protection p,Specifier v,bool inh) :
|
|
Packit |
1c1d7e |
memberDef(md), prot(p), virt(v), inherited(inh), ambigClass(0) {}
|
|
Packit |
1c1d7e |
~MemberInfo() {}
|
|
Packit |
1c1d7e |
MemberDef *memberDef;
|
|
Packit |
1c1d7e |
Protection prot;
|
|
Packit |
1c1d7e |
Specifier virt;
|
|
Packit |
1c1d7e |
bool inherited;
|
|
Packit |
1c1d7e |
QCString scopePath;
|
|
Packit |
1c1d7e |
QCString ambiguityResolutionScope;
|
|
Packit |
1c1d7e |
ClassDef *ambigClass;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Class representing all MemberInfo objects with the same name */
|
|
Packit |
1c1d7e |
class MemberNameInfo : public QList<MemberInfo>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
MemberNameInfo(const char *name);
|
|
Packit |
1c1d7e |
~MemberNameInfo() {}
|
|
Packit |
1c1d7e |
const char *memberName() const { return name; }
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
int compareValues(const MemberInfo *item1,const MemberInfo *item2) const;
|
|
Packit |
1c1d7e |
QCString name;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Iterator for MemberInfo objects in a MemberNameInfo list. */
|
|
Packit |
1c1d7e |
class MemberNameInfoIterator : public QListIterator<MemberInfo>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
MemberNameInfoIterator(const MemberNameInfo &mnii)
|
|
Packit |
1c1d7e |
: QListIterator<MemberInfo>(mnii) {}
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Sorted dictionary of MemberNameInfo objects. */
|
|
Packit |
1c1d7e |
class MemberNameInfoSDict : public SDict<MemberNameInfo>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
MemberNameInfoSDict(int size) : SDict<MemberNameInfo>(size) {}
|
|
Packit |
1c1d7e |
~MemberNameInfoSDict() {}
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
int compareValues(const MemberNameInfo *item1,const MemberNameInfo *item2) const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return qstricmp(item1->memberName(), item2->memberName());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|