summaryrefslogtreecommitdiffstats
path: root/src/classdef.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/classdef.h')
-rw-r--r--src/classdef.h93
1 files changed, 42 insertions, 51 deletions
diff --git a/src/classdef.h b/src/classdef.h
index b57ecb4..c417244 100644
--- a/src/classdef.h
+++ b/src/classdef.h
@@ -45,6 +45,7 @@ class PackageDef;
class GroupDef;
class StringDict;
struct IncludeInfo;
+class ClassDefImpl;
/*! \brief This class contains all information about a compound.
*
@@ -108,15 +109,15 @@ class ClassDef : public Definition
bool isReference() const;
/*! Returns TRUE if this is a local class definition, see EXTRACT_LOCAL_CLASSES */
- bool isLocal() const { return m_isLocal; }
+ bool isLocal() const;
/*! returns TRUE if this class was artificially introduced, for instance because
* it is used to show a template instantiation relation.
*/
- bool isArtificial() const { return m_artificial; }
+ bool isArtificial() const;
/*! returns the classes nested into this class */
- ClassSDict *getInnerClasses() { return m_innerClasses; }
+ ClassSDict *getInnerClasses();
/*! returns TRUE if this class has documentation */
bool hasDocumentation() const;
@@ -125,7 +126,7 @@ class ClassDef : public Definition
QCString displayName() const;
/*! Returns the type of compound this is, i.e. class/struct/union/.. */
- CompoundType compoundType() const { return m_compType; }
+ CompoundType compoundType() const;
/*! Returns the type of compound as a string */
QCString compoundTypeString() const;
@@ -133,21 +134,21 @@ class ClassDef : public Definition
/*! Returns the list of base classes from which this class directly
* inherits.
*/
- BaseClassList *baseClasses() { return m_inherits; }
+ BaseClassList *baseClasses() const;
/*! Returns the list of sub classes that directly derive from this class
*/
- BaseClassList *subClasses() { return m_inheritedBy; }
+ BaseClassList *subClasses() const;
/*! Returns a dictionary of all members. This includes any inherited
* members. Members are sorted alphabetically.
*/
- MemberNameInfoSDict *memberNameInfoSDict() { return m_allMemberNameInfoSDict; }
+ MemberNameInfoSDict *memberNameInfoSDict() const;
/*! Return the protection level (Public,Protected,Private) in which
* this compound was found.
*/
- Protection protection() const { return m_prot; }
+ Protection protection() const;
/*! returns TRUE iff a link is possible to this item within this project.
*/
@@ -164,23 +165,22 @@ class ClassDef : public Definition
/*! Returns the template arguments of this class
* Will return 0 if not applicable.
*/
- ArgumentList *templateArguments() const { return m_tempArgs; }
+ ArgumentList *templateArguments() const;
/*! Returns the namespace this compound is in, or 0 if it has a global
* scope.
*/
- NamespaceDef *getNamespaceDef() { return m_nspace; }
+ NamespaceDef *getNamespaceDef() const;
/*! Returns the file in which this compound's definition can be found.
* Should not return 0 (but it might be a good idea to check anyway).
*/
- FileDef *getFileDef() const { return m_fileDef; }
+ FileDef *getFileDef() const;
/*! Returns the Java package this class is in or 0 if not applicable.
*/
- //PackageDef *packageDef() const;
- MemberDef *getMemberByName(const QCString &);
+ MemberDef *getMemberByName(const QCString &) const;
/*! Returns TRUE iff \a bcd is a direct or indirect base class of this
* class. This function will recusively traverse all branches of the
@@ -191,37 +191,25 @@ class ClassDef : public Definition
/*! Returns a sorted dictionary with all template instances found for
* this template class. Returns 0 if not a template or no instances.
*/
- QDict<ClassDef> *getTemplateInstances() const { return m_templateInstances; }
+ QDict<ClassDef> *getTemplateInstances() const;
/*! Returns the template master of which this class is an instance.
* Returns 0 if not applicable.
*/
- ClassDef *templateMaster() const { return m_templateMaster; }
+ ClassDef *templateMaster() const;
/*! Returns TRUE if this class is a template */
- bool isTemplate() const { return m_tempArgs!=0; }
+ bool isTemplate() const;
- IncludeInfo *includeInfo() const { return m_incInfo; }
+ IncludeInfo *includeInfo() const;
- UsesClassDict *usedImplementationClasses() const
- {
- return m_usesImplClassDict;
- }
+ UsesClassDict *usedImplementationClasses() const;
- UsesClassDict *usedByImplementationClasses() const
- {
- return m_usedByImplClassDict;
- }
+ UsesClassDict *usedByImplementationClasses() const;
- UsesClassDict *usedInterfaceClasses() const
- {
- return m_usesIntfClassDict;
- }
+ UsesClassDict *usedInterfaceClasses() const;
- bool isTemplateArgument() const
- {
- return m_isTemplArg;
- }
+ bool isTemplateArgument() const;
/*! Returns the definition of a nested compound if
* available, or 0 otherwise.
@@ -244,13 +232,13 @@ class ClassDef : public Definition
/*! Returns TRUE if there is at least one pure virtual member in this
* class.
*/
- bool isAbstract() const { return m_isAbstract; }
+ bool isAbstract() const;
/*! Returns TRUE if this class is implemented in Objective-C */
- bool isObjectiveC() const { return m_isObjC; }
+ bool isObjectiveC() const;
/*! Returns the class of which this is a category (Objective-C only) */
- ClassDef *categoryOf() const { return m_categoryOf; }
+ ClassDef *categoryOf() const;
/*! Returns the name of the class including outer classes, but not
* including namespaces.
@@ -261,12 +249,13 @@ class ClassDef : public Definition
MemberList *getMemberList(MemberList::ListType lt);
/*! Returns the list containing the list of members sorted per type */
- const QList<MemberList> &getMemberLists() const { return m_memberLists; }
+ const QList<MemberList> &getMemberLists() const;
/*! Returns the member groups defined for this class */
- MemberGroupSDict *getMemberGroupSDict() const { return memberGroupSDict; }
+ MemberGroupSDict *getMemberGroupSDict() const;
QDict<int> *getTemplateBaseClassNames() const;
+
ClassDef *getVariableInstance(const char *templSpec);
//-----------------------------------------------------------------------------------
@@ -280,28 +269,27 @@ class ClassDef : public Definition
void insertUsedFile(const char *);
bool addExample(const char *anchor,const char *name, const char *file);
void mergeCategory(ClassDef *category);
- void setNamespace(NamespaceDef *nd) { m_nspace = nd; }
- void setFileDef(FileDef *fd) { m_fileDef=fd; }
- void setSubGrouping(bool enabled) { m_subGrouping = enabled; }
- void setProtection(Protection p) { m_prot=p; }
+ void setNamespace(NamespaceDef *nd);
+ void setFileDef(FileDef *fd);
+ void setSubGrouping(bool enabled);
+ void setProtection(Protection p);
void setGroupDefForAllMembers(GroupDef *g,Grouping::GroupPri_t pri,const QCString &fileName,int startLine,bool hasDocs);
void addInnerCompound(Definition *d);
ClassDef *insertTemplateInstance(const QCString &fileName,int startLine,
const QCString &templSpec,bool &freshInstance);
void addUsedClass(ClassDef *cd,const char *accessName);
void addUsedByClass(ClassDef *cd,const char *accessName);
- void setClassIsArtificial() { m_artificial = TRUE; }
- void setIsStatic(bool b) { m_isStatic=b; }
- void setIsObjectiveC(bool b) { m_isObjC=b; }
- void setCompoundType(CompoundType t) { m_compType = t; }
+ void setClassIsArtificial();
+ void setIsStatic(bool b);
+ void setIsObjectiveC(bool b);
+ void setCompoundType(CompoundType t);
void setTemplateArguments(ArgumentList *al);
void setTemplateBaseClassNames(QDict<int> *templateNames);
- void setTemplateMaster(ClassDef *tm) { m_templateMaster=tm; }
+ void setTemplateMaster(ClassDef *tm);
void addMembersToTemplateInstance(ClassDef *cd,const char *templSpec);
-
- /*! Marks this class as a template argument of some another class */
- void makeTemplateArgument(bool b=TRUE) { m_isTemplArg = b; }
+ void makeTemplateArgument(bool b=TRUE);
+ void setCategoryOf(ClassDef *cd);
//-----------------------------------------------------------------------------------
// --- actions ----
@@ -340,6 +328,9 @@ class ClassDef : public Definition
void writeMemberDocumentation(OutputList &ol,MemberList::ListType lt,const QCString &title);
void writePlainMemberDeclaration(OutputList &ol,MemberList::ListType lt,bool inGroup);
+ ClassDefImpl *m_impl;
+
+#if 0
/*! 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.
@@ -394,7 +385,6 @@ class ClassDef : public Definition
*/
ClassSDict *m_innerClasses;
-
/* classes for the collaboration diagram */
UsesClassDict *m_usesImplClassDict;
UsesClassDict *m_usedByImplClassDict;
@@ -458,6 +448,7 @@ class ClassDef : public Definition
* groups?
*/
bool m_subGrouping;
+#endif
};