My Project
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
membername.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  *
4  *
5  * Copyright (C) 1997-2015 by Dimitri van Heesch.
6  *
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.
12  *
13  * Documents produced by Doxygen are derivative works derived from the
14  * input used in their production; they are not affected by this license.
15  *
16  */
17 
18 #ifndef MEMBERNAME_H
19 #define MEMBERNAME_H
20 
21 #include <qlist.h>
22 #include "memberdef.h"
23 #include "sortdict.h"
24 
26 class MemberName : public QList<MemberDef>
27 {
28  public:
29  MemberName(const char *name);
30  ~MemberName();
31  const char *memberName() const { return name; }
32 
33  private:
34  int compareValues(const MemberDef *item1,const MemberDef *item2) const;
35  QCString name;
36 };
37 
39 class MemberNameIterator : public QListIterator<MemberDef>
40 {
41  public:
42  MemberNameIterator( const MemberName &list);
43 };
44 
46 class MemberNameSDict : public SDict<MemberName>
47 {
48  public:
49  MemberNameSDict(int size) : SDict<MemberName>(size) {}
51 
52  private:
53  int compareValues(const MemberName *item1,const MemberName *item2) const;
54 };
55 
57 struct MemberInfo
58 {
60  memberDef(md), prot(p), virt(v), inherited(inh), ambigClass(0) {}
65  bool inherited;
66  QCString scopePath;
69 };
70 
72 class MemberNameInfo : public QList<MemberInfo>
73 {
74  public:
75  MemberNameInfo(const char *name);
77  const char *memberName() const { return name; }
78  private:
79  int compareValues(const MemberInfo *item1,const MemberInfo *item2) const;
80  QCString name;
81 };
82 
84 class MemberNameInfoIterator : public QListIterator<MemberInfo>
85 {
86  public:
88  : QListIterator<MemberInfo>(mnii) {}
89 };
90 
92 class MemberNameInfoSDict : public SDict<MemberNameInfo>
93 {
94  public:
97  private:
98  int compareValues(const MemberNameInfo *item1,const MemberNameInfo *item2) const
99  {
100  return qstricmp(item1->memberName(), item2->memberName());
101  }
102 };
103 
104 #endif