doxygen
Classes | Public Member Functions | List of all members
ClassDefImpl Class Reference

Implementation of the ClassDef interface. More...

Inheritance diagram for ClassDefImpl:
Inheritance graph
[legend]
Collaboration diagram for ClassDefImpl:
Collaboration graph
[legend]

Classes

class  IMPL
 Private data associated with a ClassDef object. More...
 

Public Member Functions

 ClassDefImpl (const QCString &fileName, int startLine, int startColumn, const QCString &name, CompoundType ct, const QCString &ref=QCString(), const QCString &fName=QCString(), bool isSymbol=TRUE, bool isJavaEnum=FALSE)
 
 ~ClassDefImpl ()
 Destroys a compound definition. More...
 
virtual ClassDefresolveAlias ()
 
virtual DefType definitionType () const
 Used for RTTI, this is a class.
 
virtual CodeSymbolType codeSymbolType () const
 
virtual QCString getOutputFileBase () const
 Returns the unique base name (without extension) of the class's file on disk.
 
virtual QCString getInstanceOutputFileBase () const
 
virtual QCString getSourceFileBase () const
 Returns the base name for the source code file.
 
virtual QCString getReference () const
 If this class originated from a tagfile, this will return the tag file reference.
 
virtual bool isReference () const
 Returns TRUE if this class is imported via a tag file.
 
virtual bool isLocal () const
 Returns TRUE if this is a local class definition, see EXTRACT_LOCAL_CLASSES.
 
virtual ClassLinkedRefMap getClasses () const
 returns the classes nested into this class
 
virtual bool hasDocumentation () const
 returns TRUE if this class has documentation
 
virtual bool hasDetailedDescription () const
 returns TRUE if this class has a non-empty detailed description
 
virtual QCString collaborationGraphFileName () const
 returns the file name to use for the collaboration graph
 
virtual QCString inheritanceGraphFileName () const
 returns the file name to use for the inheritance graph
 
virtual QCString displayName (bool includeScope=TRUE) const
 Returns the name as it is appears in the documentation.
 
virtual CompoundType compoundType () const
 Returns the type of compound this is, i.e. More...
 
virtual QCString compoundTypeString () const
 Returns the type of compound as a string.
 
virtual const BaseClassList & baseClasses () const
 Returns the list of base classes from which this class directly inherits.
 
virtual void updateBaseClasses (const BaseClassList &bcd)
 Update the list of base classes to the one passed.
 
virtual const BaseClassList & subClasses () const
 Returns the list of sub classes that directly derive from this class.
 
virtual void updateSubClasses (const BaseClassList &bcd)
 Update the list of sub classes to the one passed.
 
virtual const MemberNameInfoLinkedMapmemberNameInfoLinkedMap () const
 Returns a dictionary of all members. More...
 
virtual Protection protection () const
 Return the protection level (Public,Protected,Private) in which this compound was found.
 
virtual bool isLinkableInProject () const
 
virtual bool isLinkable () const
 return TRUE iff a link to this class is possible (either within this project, or as a cross-reference to another project).
 
virtual bool isVisibleInHierarchy () const
 
virtual bool visibleInParentsDeclList () const
 show this class in the declaration section of its parent?
 
virtual const ArgumentListtemplateArguments () const
 Returns the template arguments of this class.
 
virtual FileDefgetFileDef () const
 Returns the namespace this compound is in, or 0 if it has a global scope. More...
 
virtual const MemberDefgetMemberByName (const QCString &) const
 Returns the Java package this class is in or 0 if not applicable.
 
virtual bool isBaseClass (const ClassDef *bcd, bool followInstances, int level=0) const
 Returns TRUE iff bcd is a direct or indirect base class of this class. More...
 
virtual bool isSubClass (ClassDef *bcd, int level=0) const
 Returns TRUE iff bcd is a direct or indirect sub class of this class.
 
virtual bool isAccessibleMember (const MemberDef *md) const
 returns TRUE iff md is a member of this class or of the the public/protected members of a base class
 
virtual const TemplateInstanceList & getTemplateInstances () const
 Returns a sorted dictionary with all template instances found for this template class. More...
 
virtual const ClassDeftemplateMaster () const
 Returns the template master of which this class is an instance. More...
 
virtual bool isTemplate () const
 Returns TRUE if this class is a template.
 
virtual const IncludeInfoincludeInfo () const
 
virtual const UsesClassListusedImplementationClasses () const
 
virtual const UsesClassListusedByImplementationClasses () const
 
virtual const ConstraintClassListtemplateTypeConstraints () const
 
virtual bool isTemplateArgument () const
 
virtual const DefinitionfindInnerCompound (const QCString &name) const
 Returns the definition of a nested compound if available, or 0 otherwise. More...
 
virtual ArgumentLists getTemplateParameterLists () const
 Returns the template parameter lists that form the template declaration of this class. More...
 
virtual QCString qualifiedNameWithTemplateParameters (const ArgumentLists *actualParams=0, uint *actualParamIndex=0) const
 
virtual bool isAbstract () const
 Returns TRUE if there is at least one pure virtual member in this class.
 
virtual bool isObjectiveC () const
 Returns TRUE if this class is implemented in Objective-C.
 
virtual bool isFortran () const
 Returns TRUE if this class is implemented in Fortran.
 
virtual bool isCSharp () const
 Returns TRUE if this class is implemented in C#.
 
virtual bool isFinal () const
 Returns TRUE if this class is marked as final.
 
virtual bool isSealed () const
 Returns TRUE if this class is marked as sealed.
 
virtual bool isPublished () const
 Returns TRUE if this class is marked as published.
 
virtual bool isExtension () const
 Returns TRUE if this class represents an Objective-C 2.0 extension (nameless category)
 
virtual bool isForwardDeclared () const
 Returns TRUE if this class represents a forward declaration of a template class.
 
virtual bool isInterface () const
 Returns TRUE if this class represents an interface.
 
virtual ClassDefcategoryOf () const
 Returns the class of which this is a category (Objective-C only)
 
virtual QCString className () const
 Returns the name of the class including outer classes, but not including namespaces.
 
virtual MemberListgetMemberList (MemberListType lt) const
 Returns the members in the list identified by lt.
 
virtual const MemberListsgetMemberLists () const
 Returns the list containing the list of members sorted per type.
 
virtual const MemberGroupListgetMemberGroups () const
 Returns the member groups defined for this class.
 
virtual const TemplateNameMap & getTemplateBaseClassNames () const
 
virtual bool isUsedOnly () const
 
virtual QCString anchor () const
 
virtual bool isEmbeddedInOuterScope () const
 
virtual bool isSimple () const
 
virtual const ClassDeftagLessReference () const
 
virtual const MemberDefisSmartPointer () const
 
virtual bool isJavaEnum () const
 
virtual QCString title () const
 
virtual QCString generatedFromFiles () const
 
virtual const FileListusedFiles () const
 
virtual const ArgumentListtypeConstraints () const
 
virtual const ExampleListgetExamples () const
 
virtual bool hasExamples () const
 
virtual QCString getMemberListFileName () const
 
virtual bool subGrouping () const
 
virtual bool isSliceLocal () const
 
virtual bool hasNonReferenceSuperClass () const
 
virtual QCString requiresClause () const
 
virtual ClassDefinsertTemplateInstance (const QCString &fileName, int startLine, int startColumn, const QCString &templSpec, bool &freshInstance) const
 
virtual void insertBaseClass (ClassDef *, const QCString &name, Protection p, Specifier s, const QCString &t=QCString())
 
virtual void insertSubClass (ClassDef *, Protection p, Specifier s, const QCString &t=QCString())
 
virtual void setIncludeFile (FileDef *fd, const QCString &incName, bool local, bool force)
 
virtual void insertMember (MemberDef *)
 
virtual void insertUsedFile (const FileDef *)
 
virtual bool addExample (const QCString &anchor, const QCString &name, const QCString &file)
 
virtual void mergeCategory (ClassDef *category)
 
virtual void setFileDef (FileDef *fd)
 
virtual void setSubGrouping (bool enabled)
 
virtual void setProtection (Protection p)
 
virtual void setGroupDefForAllMembers (GroupDef *g, Grouping::GroupPri_t pri, const QCString &fileName, int startLine, bool hasDocs)
 
virtual void addInnerCompound (const Definition *d)
 
virtual void addUsedClass (ClassDef *cd, const QCString &accessName, Protection prot)
 
virtual void addUsedByClass (ClassDef *cd, const QCString &accessName, Protection prot)
 
virtual void setIsStatic (bool b)
 
virtual void setCompoundType (CompoundType t)
 
virtual void setClassName (const QCString &name)
 
virtual void setClassSpecifier (uint64 spec)
 
virtual void setTemplateArguments (const ArgumentList &al)
 
virtual void setTemplateBaseClassNames (const TemplateNameMap &templateNames)
 
virtual void setTemplateMaster (const ClassDef *tm)
 
virtual void setTypeConstraints (const ArgumentList &al)
 
virtual void addMembersToTemplateInstance (const ClassDef *cd, const ArgumentList &templateArguments, const QCString &templSpec)
 
virtual void makeTemplateArgument (bool b=TRUE)
 
virtual void setCategoryOf (ClassDef *cd)
 
virtual void setUsedOnly (bool b)
 
virtual void setTagLessReference (const ClassDef *cd)
 
virtual void setName (const QCString &name)
 
virtual void setMetaData (const QCString &md)
 
virtual void findSectionsInDocumentation ()
 
virtual void addMembersToMemberGroup ()
 
virtual void addListReferences ()
 
virtual void addTypeConstraints ()
 
virtual void computeAnchors ()
 
virtual void mergeMembers ()
 
virtual void sortMemberLists ()
 
virtual void distributeMemberGroupDocumentation ()
 
virtual void writeDocumentation (OutputList &ol) const
 
virtual void writeDocumentationForInnerClasses (OutputList &ol) const
 
virtual void writeMemberPages (OutputList &ol) const
 
virtual void writeMemberList (OutputList &ol) const
 
virtual void writeDeclaration (OutputList &ol, const MemberDef *md, bool inGroup, int indentLevel, const ClassDef *inheritedFrom, const QCString &inheritId) const
 
virtual void writeQuickMemberLinks (OutputList &ol, const MemberDef *md) const
 
virtual void writeSummaryLinks (OutputList &ol) const
 
virtual void reclassifyMember (MemberDefMutable *md, MemberType t)
 
virtual void writeInlineDocumentation (OutputList &ol) const
 Write class documentation inside another container (i.e. More...
 
virtual void writeDeclarationLink (OutputList &ol, bool &found, const QCString &header, bool localNames) const
 
virtual void removeMemberFromLists (MemberDef *md)
 
virtual void setAnonymousEnumType ()
 
virtual void countMembers ()
 
virtual void sortAllMembersList ()
 
virtual void addGroupedInheritedMembers (OutputList &ol, MemberListType lt, const ClassDef *inheritedFrom, const QCString &inheritId) const
 
virtual void writeTagFile (TextStream &)
 
virtual int countMembersIncludingGrouped (MemberListType lt, const ClassDef *inheritedFrom, bool additional) const
 
virtual int countInheritanceNodes () const
 
virtual int countMemberDeclarations (MemberListType lt, const ClassDef *inheritedFrom, int lt2, bool invert, bool showAlways, ClassDefSet &visitedClasses) const
 
virtual void writeMemberDeclarations (OutputList &ol, ClassDefSet &visitedClasses, MemberListType lt, const QCString &title, const QCString &subTitle=QCString(), bool showInline=FALSE, const ClassDef *inheritedFrom=0, int lt2=-1, bool invert=FALSE, bool showAlways=FALSE) const
 
virtual void setRequiresClause (const QCString &req)
 
- Public Member Functions inherited from DefinitionMixin< ClassDefMutable >
 DefinitionMixin (const QCString &defFileName, int defLine, int defColumn, const QCString &name, const char *b=0, const char *d=0, bool isSymbol=TRUE)
 
virtual bool isAlias () const
 
virtual QCString name () const
 
virtual bool isAnonymous () const
 
virtual QCString localName () const
 
virtual QCString qualifiedName () const
 
virtual QCString symbolName () const
 
virtual QCString getSourceAnchor () const
 
virtual QCString documentation () const
 
virtual int docLine () const
 
virtual QCString docFile () const
 
virtual QCString briefDescription (bool abbreviate=FALSE) const
 
virtual QCString briefDescriptionAsTooltip () const
 
virtual int briefLine () const
 
virtual QCString inbodyDocumentation () const
 
virtual QCString inbodyFile () const
 
virtual int inbodyLine () const
 
virtual QCString briefFile () const
 
virtual QCString getDefFileName () const
 
virtual QCString getDefFileExtension () const
 
virtual int getDefLine () const
 
virtual int getDefColumn () const
 
virtual bool hasUserDocumentation () const
 
virtual bool isVisibleInProject () const
 
virtual bool isVisible () const
 
virtual bool isHidden () const
 
virtual bool isArtificial () const
 
virtual QCString externalReference (const QCString &relPath) const
 
virtual int getStartDefLine () const
 
virtual int getStartBodyLine () const
 
virtual int getEndBodyLine () const
 
virtual const FileDefgetBodyDef () const
 
virtual SrcLangExt getLanguage () const
 
virtual const GroupListpartOfGroups () const
 
virtual bool isLinkableViaGroup () const
 
virtual const RefItemVector & xrefListItems () const
 
virtual DefinitiongetOuterScope () const
 
virtual const MemberVectorgetReferencesMembers () const
 
virtual const MemberVectorgetReferencedByMembers () const
 
virtual bool hasSections () const
 
virtual bool hasSources () const
 
virtual bool hasBriefDescription () const
 
virtual QCString id () const
 
virtual const SectionRefsgetSectionRefs () const
 
virtual void setId (const QCString &name)
 
virtual void setDefFile (const QCString &df, int defLine, int defColumn)
 
virtual void setDocumentation (const QCString &doc, const QCString &docFile, int docLine, bool stripWhiteSpace=TRUE)
 
virtual void setBriefDescription (const QCString &brief, const QCString &briefFile, int briefLine)
 
virtual void setInbodyDocumentation (const QCString &doc, const QCString &docFile, int docLine)
 
virtual void setReference (const QCString &r)
 
virtual void addSectionsToDefinition (const std::vector< const SectionInfo * > &anchorList)
 
virtual void setBodySegment (int defLine, int bls, int ble)
 
virtual void setBodyDef (const FileDef *fd)
 
virtual void addSourceReferencedBy (const MemberDef *md)
 
virtual void addSourceReferences (const MemberDef *md)
 
virtual void setRefItems (const RefItemVector &sli)
 
virtual void mergeRefItems (Definition *def)
 
virtual void mergeReferences (const Definition *other)
 
virtual void mergeReferencedBy (const Definition *other)
 
virtual void setOuterScope (Definition *def)
 
virtual void setHidden (bool b)
 
virtual void setArtificial (bool b)
 
virtual void setLanguage (SrcLangExt lang)
 
virtual void writeSourceDef (OutputList &ol, const QCString &scopeName) const
 
virtual void writeInlineCode (OutputList &ol, const QCString &scopeName) const
 
virtual bool hasSourceRefs () const
 
virtual bool hasSourceReffedBy () const
 
virtual void writeSourceRefs (OutputList &ol, const QCString &scopeName) const
 
virtual void writeSourceReffedBy (OutputList &ol, const QCString &scopeName) const
 
virtual void makePartOfGroup (const GroupDef *gd)
 
virtual void writeNavigationPath (OutputList &ol) const
 
virtual QCString navigationPathAsString () const
 
virtual QCString pathFragment () const
 
virtual void writeDocAnchorsToTagFile (TextStream &fs) const
 
virtual void setLocalName (const QCString &name)
 
virtual void addSectionsToIndex ()
 
virtual void writeToc (OutputList &ol, const LocalToc &lt) const
 
virtual void setCookie (Definition::Cookie *cookie) const
 
virtual Definition::Cookiecookie () const
 
virtual void computeTooltip ()
 
virtual void _setSymbolName (const QCString &name)
 
virtual QCString _symbolName () const
 

Additional Inherited Members

- Public Types inherited from ClassDef
enum  CompoundType {
  Class, Struct, Union, Interface,
  Protocol, Category, Exception, Service,
  Singleton
}
 The various compound types.
 
- Public Types inherited from Definition
enum  DefType {
  TypeClass = 0, TypeFile = 1, TypeNamespace = 2, TypeMember = 3,
  TypeGroup = 4, TypePackage = 5, TypePage = 6, TypeDir = 7,
  TypeConcept = 8
}
 
- Protected Member Functions inherited from DefinitionMixin< ClassDefMutable >
 DefinitionMixin (const DefinitionMixin &def)=default
 

Detailed Description

Implementation of the ClassDef interface.

Constructor & Destructor Documentation

◆ ~ClassDefImpl()

ClassDefImpl::~ClassDefImpl ( )

Destroys a compound definition.

Member Function Documentation

◆ anchor()

QCString ClassDefImpl::anchor ( ) const
virtual

Returns the anchor within a page where this item can be found

Implements ClassDef.

◆ codeSymbolType()

CodeSymbolType ClassDefImpl::codeSymbolType ( ) const
virtual

Used for syntax highlighting symbol class

Implements Definition.

◆ compoundType()

ClassDefImpl::CompoundType ClassDefImpl::compoundType ( ) const
virtual

Returns the type of compound this is, i.e.

class/struct/union/..

Implements ClassDef.

◆ findInnerCompound()

const Definition * ClassDefImpl::findInnerCompound ( const QCString name) const
virtual

Returns the definition of a nested compound if available, or 0 otherwise.

Parameters
nameThe name of the nested compound

Reimplemented from DefinitionMixin< ClassDefMutable >.

◆ getFileDef()

FileDef * ClassDefImpl::getFileDef ( ) const
virtual

Returns the namespace this compound is in, or 0 if it has a global scope.

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).

Implements ClassDef.

◆ getTemplateInstances()

const TemplateInstanceList & ClassDefImpl::getTemplateInstances ( ) const
virtual

Returns a sorted dictionary with all template instances found for this template class.

Returns 0 if not a template or no instances.

Implements ClassDef.

◆ getTemplateParameterLists()

ArgumentLists ClassDefImpl::getTemplateParameterLists ( ) const
virtual

Returns the template parameter lists that form the template declaration of this class.

Example: template<class T> class TC {} = 0; will return a list with one ArgumentList containing one argument with type="class" and name="T".

Implements ClassDef.

◆ hasNonReferenceSuperClass()

bool ClassDefImpl::hasNonReferenceSuperClass ( ) const
virtual

Returns TRUE iff this class or a class inheriting from this class is not defined in an external tag file.

Implements ClassDef.

◆ isBaseClass()

bool ClassDefImpl::isBaseClass ( const ClassDef bcd,
bool  followInstances,
int  level = 0 
) const
virtual

Returns TRUE iff bcd is a direct or indirect base class of this class.

This function will recursively traverse all branches of the inheritance tree.

Implements ClassDef.

◆ isLinkableInProject()

bool ClassDefImpl::isLinkableInProject ( ) const
virtual

a link to this class is possible within this project

Implements ClassDef.

◆ isVisibleInHierarchy()

bool ClassDefImpl::isVisibleInHierarchy ( ) const
virtual

the class is visible in a class diagram, or class hierarchy

Implements ClassDef.

◆ memberNameInfoLinkedMap()

const MemberNameInfoLinkedMap & ClassDefImpl::memberNameInfoLinkedMap ( ) const
virtual

Returns a dictionary of all members.

This includes any inherited members. Members are sorted alphabetically.

Implements ClassDef.

◆ mergeCategory()

void ClassDefImpl::mergeCategory ( ClassDef cat)
virtual

Merges the members of a Objective-C category into this class.

Implements ClassDefMutable.

◆ mergeMembers()

void ClassDefImpl::mergeMembers ( )
virtual

recursively merges the 'all members' lists of a class base with that of this class. Must only be called for classes without subclasses!

Implements ClassDefMutable.

◆ setName()

void ClassDefImpl::setName ( const QCString name)
virtual

Sets a new name for the definition

Reimplemented from DefinitionMixin< ClassDefMutable >.

◆ templateMaster()

const ClassDef * ClassDefImpl::templateMaster ( ) const
virtual

Returns the template master of which this class is an instance.

Returns 0 if not applicable.

Implements ClassDef.

◆ writeDeclaration()

void ClassDefImpl::writeDeclaration ( OutputList ol,
const MemberDef md,
bool  inGroup,
int  indentLevel,
const ClassDef inheritedFrom,
const QCString inheritId 
) const
virtual

called from MemberDef::writeDeclaration() to (recursively) write the definition of an anonymous struct, union or class.

Implements ClassDefMutable.

◆ writeInlineDocumentation()

void ClassDefImpl::writeInlineDocumentation ( OutputList ol) const
virtual

Write class documentation inside another container (i.e.

a group)

Implements ClassDefMutable.


The documentation for this class was generated from the following file: