⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classdef.h

📁 doxygen(一个自动从源代码生成文档的工具)的源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
    void setGroupDefForAllMembers(GroupDef *g,Grouping::GroupPri_t pri,const QCString &fileName,int startLine,bool hasDocs);    void addInnerCompound(Definition *d);    void addUsedClass(ClassDef *cd,const char *accessName);    //void initTemplateMapping();    //void setTemplateArgumentMapping(const char *formal,const char *actual);    //QCString getTemplateArgumentMapping(const char *formal) const;    ClassDef *insertTemplateInstance(const QCString &fileName,int startLine,                                const QCString &templSpec,bool &freshInstance);    void setTemplateBaseClassNames(QDict<int> *templateNames);    QDict<int> *getTemplateBaseClassNames() const;    void setTemplateMaster(ClassDef *tm) { m_templateMaster=tm; }    void addMembersToTemplateInstance(ClassDef *cd,const char *templSpec);    void setClassIsArtificial() { m_artificial = TRUE; }    void setIsStatic(bool b) { m_isStatic=b; }    void addListReferences();    /*! Creates a new compound definition.     *  \param outerScope class, file or namespace in which this class is     *                   defined.     *  \param fileName  full path and file name in which this compound was     *                   found.     *  \param startLine line number where the definition of this compound     *                   starts.     *  \param name      the name of this compound (including scope)     *  \param ct        the kind of Compound     *  \param ref       the tag file from which this compound is extracted     *                   or 0 if the compound doesn't come from a tag file     *  \param fName     the file name as found in the tag file.      *                   This overwrites the file that doxygen normally      *                   generates based on the compound type & name.     */    ClassDef(const char *fileName,int startLine,             const char *name,CompoundType ct,             const char *ref=0,const char *fName=0);    /*! Destroys a compound definition. */   ~ClassDef();        bool visited;  protected:    void addUsedInterfaceClasses(MemberDef *md,const char *typeStr);    bool hasExamples();    bool hasNonReferenceSuperClass();    /*! \} Interal API */  private:     /*! file name that forms the base for the output file containing the     *  class documentation. For compatibility with Qt (e.g. links via tag      *  files) this name cannot be derived from the class name directly.     */    QCString m_fileName;                       /*! Include information about the header file should be included     *  in the documentation. 0 by default, set by setIncludeFile().     */    IncludeInfo *m_incInfo;                    /*! file name that forms the base for the "list of members" for this     *  class.     */    QCString m_memListFileName;                /*! Bare name of the class without any scoping prefixes      *  (like for nested classes and classes inside namespaces)     */     //QCString m_scopelessName;                  /*! List of base class (or super-classes) from which this class derives     *  directly.      */    BaseClassList *m_inherits;    /*! List of sub-classes that directly derive from this class      */    BaseClassList *m_inheritedBy;    /*! Namespace this class is part of      *  (this is the inner most namespace in case of nested namespaces)     */    NamespaceDef  *m_nspace;                  /*! File this class is defined in */    FileDef *m_fileDef;    /*! List of all members (including inherited members) */    MemberNameInfoSDict *m_allMemberNameInfoSDict;    /*! Template arguments of this class */    ArgumentList *m_tempArgs;    /*! Files that were used for generating the class documentation. */    QStrList m_files;    /*! Examples that use this class */    ExampleSDict *m_exampleSDict;    /*! Holds the kind of "class" this is. */    CompoundType m_compType;    /*! The protection level in which this class was found.      *  Typically Public, but for nested classes this can also be Protected     *  or Private.     */     Protection m_prot;    /*! Does this class group its user-grouped members     *  as a sub-section of the normal (public/protected/..)      *  groups?     */    bool m_subGrouping;     /*! The inner classes contained in this class. Will be 0 if there are     *  no inner classes.     */    ClassSDict *m_innerClasses;    /* user defined member groups */    MemberGroupList *m_memberGroupList;    MemberGroupDict *m_memberGroupDict;    /* classes for the collaboration diagram */    UsesClassDict *m_usesImplClassDict;    UsesClassDict *m_usesIntfClassDict;    /*! Template instances that exists of this class, the key in the     *  dictionary is the template argument list.     */     QDict<ClassDef> *m_templateInstances;    QDict<int> *m_templBaseClassNames;    /*! The class this class is an instance of. */    ClassDef *m_templateMaster;    /*! Indicated whether this class exists because it is used by     *  some other class only (TRUE) or if some class inherits from     *  it (FALSE). This is need to remove used-only classes from     *  the inheritance tree.     */    bool m_artificial;    /*! Is this an abstact class? */    bool m_isAbstract;    /*! Is the class part of an unnamed namespace? */    bool m_isStatic;};/*! \brief Class that contains information about a usage relation.  */struct UsesClassDef{  UsesClassDef(ClassDef *cd) : classDef(cd)   {     accessors = new QDict<void>(17);     containment = TRUE;  } ~UsesClassDef()  {    delete accessors;  }  void addAccessor(const char *s)  {    if (accessors->find(s)==0)    {      accessors->insert(s,(void *)666);    }  }  /*! Class definition that this relation uses. */  ClassDef *classDef;  /*! Dictionary of member variable names that form the edge labels of the   *  usage relation.   */  QDict<void> *accessors;  /*! Template arguments used for the base class */  QCString templSpecifiers;  bool containment;};/*! \brief Dictionary of usage relations.  */class UsesClassDict : public QDict<UsesClassDef>{  public:    UsesClassDict(int size) : QDict<UsesClassDef>(size) {}   ~UsesClassDict() {}};/*! \brief Iterator class to iterate over a dictionary of usage relations.  */class UsesClassDictIterator : public QDictIterator<UsesClassDef>{  public:    UsesClassDictIterator(const QDict<UsesClassDef> &d)       : QDictIterator<UsesClassDef>(d) {}   ~UsesClassDictIterator() {}};/*! \brief Class that contains information about an inheritance relation.  */struct BaseClassDef{  BaseClassDef(ClassDef *cd,const char *n,Protection p,               Specifier v,const char *t) :         classDef(cd), usedName(n), prot(p), virt(v), templSpecifiers(t) {}  /*! Class definition that this relation inherits from. */  ClassDef *classDef;  /*! name used in the inheritance list    * (may be a typedef name instead of the class name)   */  QCString   usedName;     /*! Protection level of the inheritance relation:    *  Public, Protected, or Private    */  Protection prot;       /*! Virtualness of the inheritance relation:   *  Normal, or Virtual   */  Specifier  virt;  /*! Template arguments used for the base class */  QCString templSpecifiers;};/*! \brief list of base classes  *   *  The classes are alphabetically sorted on name if inSort() is used. */class BaseClassList : public QList<BaseClassDef>{  public:   ~BaseClassList() {}    int compareItems(GCI item1,GCI item2)    {      ClassDef *c1=((BaseClassDef *)item1)->classDef;      ClassDef *c2=((BaseClassDef *)item2)->classDef;      if (c1==0 || c2==0)         return FALSE;      else        return stricmp(c1->name(),c2->name());    }};/*! \brief Iterator for a list of base classes */class BaseClassListIterator : public QListIterator<BaseClassDef>{  public:    BaseClassListIterator(const BaseClassList &bcl) :       QListIterator<BaseClassDef>(bcl) {}};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -