25 #include "definition.h" 94 ClassDef(
const char *fileName,
int startLine,
int startColumn,
96 const char *ref=0,
const char *fName=0,
97 bool isSymbol=TRUE,
bool isJavaEnum=FALSE);
110 QCString getInstanceOutputFileBase()
const;
241 bool isTemplateArgument()
const;
258 QCString qualifiedNameWithTemplateParameters(
304 QDict<int> *getTemplateBaseClassNames()
const;
306 ClassDef *getVariableInstance(
const char *templSpec);
308 bool isUsedOnly()
const;
311 bool isEmbeddedInOuterScope()
const;
313 bool isSimple()
const;
315 const ClassList *taggedInnerClasses()
const;
320 bool isJavaEnum()
const;
322 bool isGeneric()
const;
323 bool isAnonymous()
const;
327 QCString generatedFromFiles()
const;
332 bool hasExamples()
const;
333 QCString getMemberListFileName()
const;
334 bool subGrouping()
const;
343 void setIncludeFile(
FileDef *fd,
const char *incName,
bool local,
bool force);
345 void insertUsedFile(
FileDef *);
346 bool addExample(
const char *anchor,
const char *name,
const char *file);
350 void setSubGrouping(
bool enabled);
354 ClassDef *insertTemplateInstance(
const QCString &fileName,
int startLine,
int startColumn,
355 const QCString &templSpec,
bool &freshInstance);
358 void setIsStatic(
bool b);
360 void setClassName(
const char *name);
361 void setClassSpecifier(uint64 spec);
364 void setTemplateBaseClassNames(QDict<int> *templateNames);
365 void setTemplateMaster(
ClassDef *tm);
367 void addMembersToTemplateInstance(
ClassDef *cd,
const char *templSpec);
368 void makeTemplateArgument(
bool b=TRUE);
370 void setUsedOnly(
bool b);
372 void addTaggedInnerClass(
ClassDef *cd);
373 void setTagLessReference(
ClassDef *cd);
374 void setName(
const char *name);
380 void findSectionsInDocumentation();
381 void addMembersToMemberGroup();
382 void addListReferences();
383 void addTypeConstraints();
384 void computeAnchors();
386 void sortMemberLists();
387 void distributeMemberGroupDocumentation();
389 void writeDocumentationForInnerClasses(
OutputList &ol);
393 ClassDef *inheritedFrom,
const char *inheritId);
396 void reclassifyMember(
MemberDef *md,MemberType t);
398 void writeDeclarationLink(
OutputList &ol,
bool &found,
399 const char *header,
bool localNames);
400 void removeMemberFromLists(
MemberDef *md);
401 void addGroupedInheritedMembers(
OutputList &ol,MemberListType lt,
403 int countMembersIncludingGrouped(MemberListType lt,
ClassDef *inheritedFrom,
bool additional);
404 int countInheritanceNodes();
410 void addUsedInterfaceClasses(
MemberDef *md,
const char *typeStr);
417 void addMemberToList(MemberListType lt,
MemberDef *md,
bool isBrief);
418 MemberList *createMemberList(MemberListType lt);
421 const char *subTitle=0,
bool showInline=FALSE,
ClassDef *inheritedFrom=0,
int lt2=-1,
bool invert=FALSE,
bool showAlways=FALSE,
QPtrDict<void> *visitedClasses=0);
422 void writeMemberDocumentation(
OutputList &ol,MemberListType lt,
const QCString &title,
bool showInline=FALSE);
423 void writeSimpleMemberDocumentation(
OutputList &ol,MemberListType lt);
424 void writePlainMemberDeclaration(
OutputList &ol,MemberListType lt,
bool inGroup,
ClassDef *inheritedFrom,
const char *inheritId);
425 void writeBriefDescription(
OutputList &ol,
bool exampleFlag);
426 void writeDetailedDescription(
OutputList &ol,
const QCString &pageType,
bool exampleFlag,
432 void writeMemberGroups(
OutputList &ol,
bool showInline=FALSE);
437 void startMemberDocumentation(
OutputList &ol);
441 void writeDetailedDocumentationBody(
OutputList &ol);
443 int countAdditionalInheritedMembers();
444 void writeAdditionalInheritedMembers(
OutputList &ol);
446 int countMemberDeclarations(MemberListType lt,
ClassDef *inheritedFrom,
447 int lt2,
bool invert,
bool showAlways,
QPtrDict<void> *visitedClasses);
448 int countInheritedDecMembers(MemberListType lt,
449 ClassDef *inheritedFrom,
bool invert,
bool showAlways,
451 void getTitleForMemberListType(MemberListType type,
454 void addTypeConstraint(
const QCString &typeConstraint,
const QCString &type);
467 accessors =
new QDict<void>(17);
474 void addAccessor(
const char *s)
476 if (accessors->find(s)==0)
478 accessors->insert(s,(
void *)666);
510 : QDictIterator<UsesClassDef>(d) {}
522 classDef(cd), usedName(n), prot(p), virt(v), templSpecifiers(t) {}
561 return qstricmp(c1->
name(),c2->
name());
583 accessors =
new QDict<void>(17);
589 void addAccessor(
const char *s)
591 if (accessors->find(s)==0)
593 accessors->insert(s,(
void *)666);
620 : QDictIterator<ConstraintClassDef>(d) {}
const QList< MemberList > & getMemberLists() const
Returns the list containing the list of members sorted per type.
Definition: classdef.cpp:4513
ClassDef * classDef
Class definition that this relation inherits from.
Definition: classdef.h:525
QCString getOutputFileBase() const
Returns the unique base name (without extension) of the class's file on disk.
Definition: classdef.cpp:3555
Sorted dictionary of MemberNameInfo objects.
Definition: membername.h:92
QCString className() const
Returns the name of the class including outer classes, but not including namespaces.
Definition: classdef.cpp:3908
This class represents an function or template argument list.
Definition: arguments.h:89
bool isReference() const
Returns TRUE if this class is imported via a tag file.
Definition: classdef.cpp:3820
Private data associated with a ClassDef object.
Definition: classdef.cpp:51
bool isObjectiveC() const
Returns TRUE if this class is implemented in Objective-C.
Definition: classdef.cpp:4498
An unsorted dictionary of MemberDef objects.
Definition: memberlist.h:123
The common base class of all entity definitions found in the sources.
Definition: definition.h:92
A model of a namespace symbol.
Definition: namespacedef.h:39
ArgumentList * templateArguments() const
Returns the template arguments of this class Will return 0 if not applicable.
Definition: classdef.cpp:4413
QDict< void > * accessors
Dictionary of member types names that form the edge labels of the constraint relation.
Definition: classdef.h:602
bool isLinkable() const
return TRUE iff a link to this class is possible (either within this project, or as a cross-reference...
Definition: classdef.cpp:2751
A model of a class/file/namespace member symbol.
Definition: memberdef.h:43
QDict< ClassDef > * getTemplateInstances() const
Returns a sorted dictionary with all template instances found for this template class.
Definition: classdef.cpp:4428
DefType definitionType() const
Used for RTTI, this is a class.
Definition: classdef.h:106
bool isExtension() const
Returns TRUE if this class represents an Objective-C 2.0 extension (nameless category) ...
Definition: classdef.cpp:4697
Protection protection() const
Return the protection level (Public,Protected,Private) in which this compound was found...
Definition: classdef.cpp:4408
bool isAbstract() const
Returns TRUE if there is at least one pure virtual member in this class.
Definition: classdef.cpp:4473
Iterator for a list of base classes.
Definition: classdef.h:567
bool visibleInParentsDeclList() const
show this class in the declaration section of its parent?
Definition: classdef.cpp:1857
bool isLocal() const
Returns TRUE if this is a local class definition, see EXTRACT_LOCAL_CLASSES.
Definition: classdef.cpp:4378
bool hasDetailedDescription() const
returns TRUE if this class has a non-empty detailed description
Definition: classdef.cpp:1029
A model of a file symbol.
Definition: filedef.h:64
GroupPri_t
Grouping priority.
Definition: types.h:65
Protection prot
Protection level of the inheritance relation: Public, Protected, or Private.
Definition: classdef.h:535
MemberDef * getMemberByName(const QCString &) const
Returns the Java package this class is in or 0 if not applicable.
Definition: classdef.cpp:3962
bool hasNonReferenceSuperClass()
Definition: classdef.cpp:2642
Iterator class to iterate over a dictionary of constraint relations.
Definition: classdef.h:616
Simplified and optimized version of QTextStream.
Definition: ftextstream.h:11
A sorted dictionary of ClassDef objects.
Definition: classlist.h:56
FileDef * getFileDef() const
Returns the file in which this compound's definition can be found.
Definition: classdef.cpp:4423
ClassDef * classDef
Class definition that this relation uses.
Definition: classdef.h:482
Class that contains information about a type constraint relations.
Definition: classdef.h:579
void mergeCategory(ClassDef *category)
Definition: classdef.cpp:3117
QCString templSpecifiers
Template arguments used for the base class.
Definition: classdef.h:490
bool isTemplate() const
Returns TRUE if this class is a template.
Definition: classdef.cpp:4438
QCString displayName(bool includeScope=TRUE) const
Returns the name as it is appears in the documentation.
Definition: classdef.cpp:328
bool isBaseClass(ClassDef *bcd, bool followInstances, int level=0)
Returns TRUE iff bcd is a direct or indirect base class of this class.
Definition: classdef.cpp:2799
ClassSDict * getClassSDict()
returns the classes nested into this class
Definition: classdef.cpp:4383
BaseClassList * subClasses() const
Returns the list of sub classes that directly derive from this class.
Definition: classdef.cpp:4398
List of base classes.
Definition: classdef.h:550
void writeInlineDocumentation(OutputList &ol)
Write class documentation inside another container (i.e.
Definition: classdef.cpp:1697
void setName(const char *name)
Definition: classdef.cpp:4731
ClassDef * categoryOf() const
Returns the class of which this is a category (Objective-C only)
Definition: classdef.cpp:4508
This class contains the information about the argument of a function or template. ...
Definition: arguments.h:28
bool hasDocumentation() const
returns TRUE if this class has documentation
Definition: classdef.cpp:2789
QCString getReference() const
If this class originated from a tagfile, this will return the tag file reference. ...
Definition: classdef.cpp:3808
void getTemplateParameterLists(QList< ArgumentList > &lists) const
Returns the template parameter lists that form the template declaration of this class.
Definition: classdef.cpp:3832
const QCString & name() const
Definition: definition.h:114
DefType
Definition: definition.h:71
QCString anchor() const
Definition: classdef.cpp:4600
Dictionary of constraint relations.
Definition: classdef.h:607
~ClassDef()
Destroys a compound definition.
Definition: classdef.cpp:318
ClassDef(const char *fileName, int startLine, int startColumn, const char *name, CompoundType ct, const char *ref=0, const char *fName=0, bool isSymbol=TRUE, bool isJavaEnum=FALSE)
Creates a new compound definition.
Definition: classdef.cpp:295
BaseClassList * baseClasses() const
Returns the list of base classes from which this class directly inherits.
Definition: classdef.cpp:4393
Specifier
Virtualness of a member.
Definition: types.h:29
A list of ClassDef objects.
Definition: classlist.h:30
bool isCSharp() const
Returns TRUE if this class is implemented in C#.
Definition: classdef.cpp:4503
A list of MemberDef objects.
Definition: memberlist.h:32
MemberGroupSDict * getMemberGroupSDict() const
Returns the member groups defined for this class.
Definition: classdef.cpp:4518
QCString collaborationGraphFileName() const
returns the file name to use for the collaboration graph
Definition: classdef.cpp:4742
QCString inheritanceGraphFileName() const
returns the file name to use for the inheritance graph
Definition: classdef.cpp:4747
Class that contains information about a usage relation.
Definition: classdef.h:463
bool isLinkableInProject() const
returns TRUE iff a link is possible to this item within this project.
Definition: classdef.cpp:2729
void writeDeclaration(OutputList &ol, MemberDef *md, bool inGroup, ClassDef *inheritedFrom, const char *inheritId)
Definition: classdef.cpp:2679
CompoundType compoundType() const
Returns the type of compound this is, i.e.
Definition: classdef.cpp:4388
bool isSealed() const
Returns TRUE if this class is marked as sealed.
Definition: classdef.cpp:4483
The QTextStream class provides basic functions for reading and writing text using a QIODevice...
Definition: qtextstream.h:53
Specifier virt
Virtualness of the inheritance relation: Normal, or Virtual.
Definition: classdef.h:540
Definition: qptrdict.h:46
ClassDef * templateMaster() const
Returns the template master of which this class is an instance.
Definition: classdef.cpp:4433
bool isForwardDeclared() const
Returns TRUE if this class represents a forward declaration of a template class.
Definition: classdef.cpp:4493
Iterator class to iterate over a dictionary of usage relations.
Definition: classdef.h:506
QCString templSpecifiers
Template arguments used for the base class.
Definition: classdef.h:543
Class representing a list of FileDef objects.
Definition: filedef.h:240
bool isVisibleInHierarchy()
the class is visible in a class diagram, or class hierarchy
Definition: classdef.cpp:2765
bool isSubClass(ClassDef *bcd, int level=0)
Returns TRUE iff bcd is a direct or indirect sub class of this class.
Definition: classdef.cpp:2829
bool isPublished() const
Returns TRUE if this class is marked as published.
Definition: classdef.cpp:4488
Class representing the data associated with a #include statement.
Definition: filedef.h:45
Class representing a list of output generators that are written to in parallel.
Definition: outputlist.h:54
Class that contains information about an inheritance relation.
Definition: classdef.h:518
MemberNameInfoSDict * memberNameInfoSDict() const
Returns a dictionary of all members.
Definition: classdef.cpp:4403
QCString usedName
name used in the inheritance list (may be a typedef name instead of the class name) ...
Definition: classdef.h:530
CompoundType
The various compound types.
Definition: classdef.h:63
bool isAccessibleMember(MemberDef *md)
returns TRUE iff md is a member of this class or of the the public/protected members of a base class ...
Definition: classdef.cpp:3992
Protection
Protection level of members.
Definition: types.h:26
void mergeMembers()
Definition: classdef.cpp:2866
A sorted dictionary of Example objects.
Definition: example.h:36
Dictionary of usage relations.
Definition: classdef.h:497
This is an alternative implementation of QCString.
Definition: qcstring.h:131
A sorted dictionary of MemberGroup objects.
Definition: membergroup.h:129
A model of a group of symbols.
Definition: groupdef.h:45
bool isFinal() const
Returns TRUE if this class is marked as final.
Definition: classdef.cpp:4478
ClassDef * classDef
Class definition that this relation uses.
Definition: classdef.h:597
A class representing of a compound symbol.
Definition: classdef.h:59
MemberList * getMemberList(MemberListType lt)
Returns the members in the list identified by lt.
Definition: classdef.cpp:4015
QCString getSourceFileBase() const
Returns the base name for the source code file.
Definition: classdef.cpp:3597
NamespaceDef * getNamespaceDef() const
Returns the namespace this compound is in, or 0 if it has a global scope.
Definition: classdef.cpp:4418
QCString compoundTypeString() const
Returns the type of compound as a string.
Definition: classdef.cpp:3521
QDict< void > * accessors
Dictionary of member variable names that form the edge labels of the usage relation.
Definition: classdef.h:487
virtual Definition * findInnerCompound(const char *name)
Returns the definition of a nested compound if available, or 0 otherwise.
Definition: classdef.cpp:3645