membername.h

Go to the documentation of this file.
00001 /******************************************************************************
00002  *
00003  * $Id: membername.h,v 1.17 2001/03/19 19:27:41 root Exp $
00004  *
00005  * Copyright (C) 1997-2008 by Dimitri van Heesch.
00006  *
00007  * Permission to use, copy, modify, and distribute this software and its
00008  * documentation under the terms of the GNU General Public License is hereby 
00009  * granted. No representations are made about the suitability of this software 
00010  * for any purpose. It is provided "as is" without express or implied warranty.
00011  * See the GNU General Public License for more details.
00012  *
00013  * Documents produced by Doxygen are derivative works derived from the
00014  * input used in their production; they are not affected by this license.
00015  *
00016  */
00017 
00018 #ifndef MEMBERNAME_H
00019 #define MEMBERNAME_H
00020 
00021 #include <qlist.h>
00022 #include "memberdef.h"
00023 #include "sortdict.h"
00024 
00025 class MemberName : public QList<MemberDef>
00026 { 
00027   public:
00028     MemberName(const char *name);
00029    ~MemberName();
00030     const char *memberName() const { return name; }
00031    
00032     int compareItems(GCI item1,GCI item2);
00033   private:
00034     QCString name;
00035 };
00036 
00037 class MemberNameIterator : public QListIterator<MemberDef>
00038 {
00039   public:
00040     MemberNameIterator( const MemberName &list);
00041 };
00042 
00043 class MemberNameSDict : public SDict<MemberName>
00044 {
00045   public:
00046     MemberNameSDict(int size) : SDict<MemberName>(size) {}
00047    ~MemberNameSDict() {}
00048 
00049    int compareItems(GCI item1,GCI item2);
00050 };
00051 
00052 struct MemberInfo
00053 {
00054   MemberInfo(MemberDef *md,Protection p,Specifier v,bool inh) :
00055         memberDef(md), prot(p), virt(v), inherited(inh), ambigClass(0) {}
00056  ~MemberInfo() {}
00057   MemberDef *memberDef;
00058   Protection prot;
00059   Specifier  virt;
00060   bool       inherited;
00061   QCString   scopePath;
00062   QCString   ambiguityResolutionScope; 
00063   ClassDef  *ambigClass;
00064 };
00065 
00066 class MemberNameInfo : public QList<MemberInfo>
00067 {
00068   public:
00069     MemberNameInfo(const char *name);  
00070    ~MemberNameInfo() {}
00071     const char *memberName() const { return name; }
00072     int compareItems(GCI item1,GCI item2);
00073   private:
00074     QCString name;
00075 };
00076 
00077 class MemberNameInfoIterator : public QListIterator<MemberInfo>
00078 {
00079   public:
00080     MemberNameInfoIterator(const MemberNameInfo &mnii) 
00081       : QListIterator<MemberInfo>(mnii) {}
00082 };
00083 
00084 
00085 class MemberNameInfoSDict : public SDict<MemberNameInfo>
00086 {
00087   public:
00088     MemberNameInfoSDict(int size) : SDict<MemberNameInfo>(size) {}
00089    ~MemberNameInfoSDict() {}
00090     int compareItems(GCI item1,GCI item2) 
00091     { return stricmp(
00092                     ((MemberNameInfo *)item1)->memberName(),
00093                     ((MemberNameInfo *)item2)->memberName()
00094                    );
00095     }
00096 };
00097 
00098 #endif



Generated on Mon Mar 31 10:58:41 2008 by  doxygen 1.5.1