Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

ClassDef Class Reference

This class contains all information about a compound. More...

#include <classdef.h>

Inheritance diagram for ClassDef:

Definition List of all members.

Public API

enum  CompoundType
DefType definitionType ()
QCString getOutputFileBase () const
QCString getSourceFileBase () const
QCString getReference () const
bool isReference () const
bool hasDocumentation () const
QCString displayName () const
CompoundType compoundType () const
QCString compoundTypeString () const
BaseClassListbaseClasses ()
BaseClassListsubClasses ()
MemberNameInfoSDict * memberNameInfoSDict ()
void writeDeclaration (OutputList &ol, MemberDef *md, bool inGroup)
Protection protection () const
bool isLinkableInProject () const
bool isLinkable () const
bool isVisibleInHierarchy ()
ArgumentListtemplateArguments () const
NamespaceDef * getNamespaceDef ()
FileDefgetFileDef () const
MemberDef * getMemberByName (const QCString &)
bool isBaseClass (ClassDef *bcd, bool followInstances, int level=0)
QDict< ClassDef > * getTemplateInstances () const
ClassDeftemplateMaster () const
virtual DefinitionfindInnerCompound (const char *name)
void getTemplateParameterLists (QList< ArgumentList > &lists) const
bool isAbstract () const
bool isObjectiveC () const
QCString className () const

Doxygen internal API

void mergeMembers ()
void mergeCategory (ClassDef *category)
 ClassDef (const char *fileName, int startLine, const char *name, CompoundType ct, const char *ref=0, const char *fName=0, bool isSymbol=TRUE)
 ~ClassDef ()
bool hasNonReferenceSuperClass ()

Detailed Description

This class contains all information about a compound.

A compound can be a class, struct, union, interface, or exception.

Note:
This class should be renamed to CompoundDef

Definition at line 54 of file classdef.h.


Member Enumeration Documentation

enum ClassDef::CompoundType
 

The various compound types Definition at line 62 of file classdef.h.


Constructor & Destructor Documentation

ClassDef::ClassDef const char *  fileName,
int  startLine,
const char *  name,
CompoundType  ct,
const char *  ref = 0,
const char *  fName = 0,
bool  isSymbol = TRUE
 

Creates a new compound definition.

Parameters:
fileName full path and file name in which this compound was found.
startLine line number where the definition of this compound starts.
name the name of this compound (including scope)
ct the kind of Compound
ref the tag file from which this compound is extracted or 0 if the compound doesn't come from a tag file
fName the file name as found in the tag file. This overwrites the file that doxygen normally generates based on the compound type & name.
isSymbol If TRUE this class name is added as a publicly visible (and referencable) symbol.
Definition at line 42 of file classdef.cpp.

References compoundTypeString(), and Definition::setReference().

ClassDef::~ClassDef  ) 
 

Destroys a compound definition. Definition at line 114 of file classdef.cpp.


Member Function Documentation

BaseClassList* ClassDef::baseClasses  )  [inline]
 

Returns the list of base classes from which this class directly inherits. Definition at line 94 of file classdef.h.

Referenced by isBaseClass(), and mergeMembers().

QCString ClassDef::className  )  const
 

returns the name of the class including outer classes, but not including namespaces. Definition at line 2819 of file classdef.cpp.

CompoundType ClassDef::compoundType  )  const [inline]
 

Returns the type of compound this is Definition at line 86 of file classdef.h.

QCString ClassDef::compoundTypeString  )  const
 

Returns the type of compound as a string Definition at line 2480 of file classdef.cpp.

Referenced by ClassDef(), and writeDeclaration().

DefType ClassDef::definitionType  )  [inline, virtual]
 

Use this for dynamic inspection of the type of the derived class

Implements Definition.

Definition at line 70 of file classdef.h.

QCString ClassDef::displayName  )  const
 

Returns the name as it is appears in the documentation Definition at line 132 of file classdef.cpp.

Definition * ClassDef::findInnerCompound const char *  name  )  [virtual]
 

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

Parameters:
name The name of the nested compound

Reimplemented from Definition.

Definition at line 2574 of file classdef.cpp.

FileDef* ClassDef::getFileDef  )  const [inline]
 

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). Definition at line 141 of file classdef.h.

MemberDef * ClassDef::getMemberByName const QCString &   ) 
 

Returns the Java package this class is in or 0 if not applicable. Definition at line 2847 of file classdef.cpp.

References isLinkable().

NamespaceDef* ClassDef::getNamespaceDef  )  [inline]
 

Returns the namespace this compound is in, or 0 if it has a global scope. Definition at line 136 of file classdef.h.

QCString ClassDef::getOutputFileBase  )  const [virtual]
 

Returns the base file name (without extension) of this definition. as it is referenced to/written to disk.

Implements Definition.

Definition at line 2496 of file classdef.cpp.

References isReference().

QCString ClassDef::getReference  )  const [virtual]
 

If this definition was imported via a tag file, this function returns the tagfile for the external project. This can be translated into an external link target via Doxygen::tagDestinationDict

Reimplemented from Definition.

Definition at line 2727 of file classdef.cpp.

References Definition::getReference().

QCString ClassDef::getSourceFileBase  )  const
 

Returns the name of the source listing of this file.

Reimplemented from Definition.

Definition at line 2536 of file classdef.cpp.

QDict<ClassDef>* ClassDef::getTemplateInstances  )  const [inline]
 

Returns a sorted dictionary with all template instances found for this template class. Returns 0 if not a template or no instances. Definition at line 158 of file classdef.h.

Referenced by hasNonReferenceSuperClass().

void ClassDef::getTemplateParameterLists QList< ArgumentList > &  lists  )  const
 

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

Example: template<class T> class TC {}; will return a list with one ArgumentList containing one argument with type="class" and name="T". Definition at line 2751 of file classdef.cpp.

References Definition::definitionType(), and templateArguments().

bool ClassDef::hasDocumentation  )  const [virtual]
 

Returns TRUE iff the definition is documented

Reimplemented from Definition.

Definition at line 1928 of file classdef.cpp.

References Definition::hasDocumentation().

Referenced by isLinkableInProject(), and isVisibleInHierarchy().

bool ClassDef::hasNonReferenceSuperClass  )  [protected]
 

Returns TRUE iff this class or a class inheriting from this class is not defined in an external tag file. Definition at line 1743 of file classdef.cpp.

References getTemplateInstances(), and isReference().

Referenced by isVisibleInHierarchy().

bool ClassDef::isAbstract  )  const [inline]
 

Returns TRUE if there is at least one pure virtual member in this class. Definition at line 203 of file classdef.h.

bool ClassDef::isBaseClass ClassDef bcd,
bool  followInstances,
int  level = 0
 

Returns TRUE iff bcd is a direct or indirect base class of this class. This function will recusively traverse all branches of the inheritance tree. Definition at line 1938 of file classdef.cpp.

References baseClasses(), name, Definition::name(), and templateMaster().

Referenced by mergeMembers().

bool ClassDef::isLinkable  )  const [virtual]
 

return TRUE iff a link to this class is possible (either within this project, or as a cross-reference to another project).

Implements Definition.

Definition at line 1894 of file classdef.cpp.

References isLinkableInProject(), and isReference().

Referenced by getMemberByName(), and writeDeclaration().

bool ClassDef::isLinkableInProject  )  const [virtual]
 

returns TRUE iff a link is possible to an item within this project.

Implements Definition.

Definition at line 1875 of file classdef.cpp.

References hasDocumentation(), isReference(), and Definition::name().

Referenced by isLinkable().

bool ClassDef::isObjectiveC  )  const [inline]
 

Returns TRUE if this class is implemented in Objective-C Definition at line 206 of file classdef.h.

bool ClassDef::isReference  )  const [virtual]
 

Returns TRUE if this definition is imported via a tag file.

Reimplemented from Definition.

Definition at line 2739 of file classdef.cpp.

References Definition::isReference().

Referenced by getOutputFileBase(), hasNonReferenceSuperClass(), isLinkable(), isLinkableInProject(), and isVisibleInHierarchy().

bool ClassDef::isVisibleInHierarchy  ) 
 

the class is visible in a class diagram, or class hierarchy Definition at line 1908 of file classdef.cpp.

References hasDocumentation(), hasNonReferenceSuperClass(), isReference(), and Definition::name().

MemberNameInfoSDict* ClassDef::memberNameInfoSDict  )  [inline]
 

Returns a dictionary of all members. This includes any inherited members. Members are sorted alphabetically. Definition at line 103 of file classdef.h.

void ClassDef::mergeCategory ClassDef category  ) 
 

Merges the members of a Objective-C category into this class. Definition at line 2202 of file classdef.cpp.

References m_allMemberNameInfoSDict, and m_categoryOf.

void ClassDef::mergeMembers  ) 
 

recusively merges the `all members' lists of a class base with that of this class. Must only be called for classes without subclasses! Definition at line 1979 of file classdef.cpp.

References baseClasses(), BaseClassDef::classDef, isBaseClass(), m_allMemberNameInfoSDict, name, BaseClassDef::prot, and BaseClassDef::virt.

Protection ClassDef::protection  )  const [inline]
 

Return the protection level (Public,Protected,Private) in which this compound was found. Definition at line 114 of file classdef.h.

BaseClassList* ClassDef::subClasses  )  [inline]
 

Returns the list of sub classes that directly inherit from this class Definition at line 98 of file classdef.h.

ArgumentList* ClassDef::templateArguments  )  const [inline]
 

Returns the template arguments of this class Will return 0 if not applicable. Definition at line 131 of file classdef.h.

Referenced by getTemplateParameterLists().

ClassDef* ClassDef::templateMaster  )  const [inline]
 

Returns the template master of which this class is an instance. Returns 0 if not applicable. Definition at line 162 of file classdef.h.

Referenced by isBaseClass().

void ClassDef::writeDeclaration OutputList &  ol,
MemberDef *  md,
bool  inGroup
 

called from MemberDef::writeDeclaration() to (recusively) write the definition of an annonymous struct, union or class. Definition at line 1774 of file classdef.cpp.

References compoundTypeString(), isLinkable(), and Definition::name().


The documentation for this class was generated from the following files:
Generated on Sat Aug 21 19:11:54 2004 for Doxygen by doxygen 1.3.8