ISLEman
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
MemberDef Class Reference

A model of a class/file/namespace member symbol. More...

#include <memberdef.h>

Inheritance diagram for MemberDef:
Definition DefinitionIntf

Public Member Functions

 MemberDef (const char *defFileName, int defLine, int defColumn, const char *type, const char *name, const char *args, const char *excp, Protection prot, Specifier virt, bool stat, Relationship related, MemberType t, const ArgumentList *tal, const ArgumentList *al)
 
 ~MemberDef ()
 
DefType definitionType () const
 
MemberDefdeepCopy () const
 
void moveTo (Definition *)
 
QCString getOutputFileBase () const
 
QCString getReference () const
 
QCString anchor () const
 
const char * declaration () const
 
const char * definition () const
 
const char * typeString () const
 
const char * argsString () const
 
const char * excpString () const
 
const char * bitfieldString () const
 
const char * extraTypeChars () const
 
const QCStringinitializer () const
 
int initializerLines () const
 
uint64 getMemberSpecifiers () const
 
MemberListgetSectionList (Definition *d) const
 
QCString displayDefinition () const
 
ClassDefgetClassDef () const
 
FileDefgetFileDef () const
 
NamespaceDefgetNamespaceDef () const
 
ClassDefaccessorClass () const
 
const char * getReadAccessor () const
 
const char * getWriteAccessor () const
 
GroupDefgetGroupDef () const
 
Grouping::GroupPri_t getGroupPri () const
 
const char * getGroupFileName () const
 
int getGroupStartLine () const
 
bool getGroupHasDocs () const
 
QCString qualifiedName () const
 
QCString objCMethodName (bool localLink, bool showStatic) const
 
Protection protection () const
 
Specifier virtualness (int count=0) const
 
MemberType memberType () const
 
QCString memberTypeName () const
 
bool isSignal () const
 
bool isSlot () const
 
bool isVariable () const
 
bool isEnumerate () const
 
bool isEnumValue () const
 
bool isTypedef () const
 
bool isFunction () const
 
bool isFunctionPtr () const
 
bool isDefine () const
 
bool isFriend () const
 
bool isDCOP () const
 
bool isProperty () const
 
bool isEvent () const
 
bool isRelated () const
 
bool isForeign () const
 
bool isStatic () const
 
bool isInline () const
 
bool isExplicit () const
 
bool isMutable () const
 
bool isGettable () const
 
bool isPrivateGettable () const
 
bool isProtectedGettable () const
 
bool isSettable () const
 
bool isPrivateSettable () const
 
bool isProtectedSettable () const
 
bool isReadable () const
 
bool isWritable () const
 
bool isAddable () const
 
bool isRemovable () const
 
bool isRaisable () const
 
bool isFinal () const
 
bool isAbstract () const
 
bool isOverride () const
 
bool isInitonly () const
 
bool isOptional () const
 
bool isRequired () const
 
bool isNonAtomic () const
 
bool isCopy () const
 
bool isAssign () const
 
bool isRetain () const
 
bool isWeak () const
 
bool isStrong () const
 
bool isUnretained () const
 
bool isNew () const
 
bool isSealed () const
 
bool isImplementation () const
 
bool isExternal () const
 
bool isAlias () const
 
bool isDefault () const
 
bool isDelete () const
 
bool isNoExcept () const
 
bool isAttribute () const
 
bool isUNOProperty () const
 
bool isReadonly () const
 
bool isBound () const
 
bool isConstrained () const
 
bool isTransient () const
 
bool isMaybeVoid () const
 
bool isMaybeDefault () const
 
bool isMaybeAmbiguous () const
 
bool isPublished () const
 
bool isTemplateSpecialization () const
 
bool hasDocumentedParams () const
 
bool hasDocumentedReturnType () const
 
bool isObjCMethod () const
 
bool isObjCProperty () const
 
bool isConstructor () const
 
bool isDestructor () const
 
bool hasOneLineInitializer () const
 
bool hasMultiLineInitializer () const
 
bool protectionVisible () const
 
bool showInCallGraph () const
 
bool isStrongEnumValue () const
 
bool livesInsideEnum () const
 
bool isFriendToHide () const
 
bool isNotFriend () const
 
bool isFunctionOrSignalSlot () const
 
bool isRelatedOrFriend () const
 
bool isLinkableInProject () const
 
bool isLinkable () const
 
bool hasDocumentation () const
 
bool isDeleted () const
 
bool isBriefSectionVisible () const
 
bool isDetailedSectionVisible (bool inGroup, bool inFile) const
 
bool isDetailedSectionLinkable () const
 
bool isFriendClass () const
 
bool isDocumentedFriendClass () const
 
MemberDefreimplements () const
 
MemberListreimplementedBy () const
 
bool isReimplementedBy (ClassDef *cd) const
 
ClassDefrelatedAlso () const
 
bool hasDocumentedEnumValues () const
 
MemberDefgetAnonymousEnumType () const
 
bool isDocsForDefinition () const
 
MemberDefgetEnumScope () const
 
MemberListenumFieldList () const
 
void setEnumBaseType (const QCString &type)
 
QCString enumBaseType () const
 
bool hasExamples ()
 
ExampleSDictgetExamples () const
 
bool isPrototype () const
 
ArgumentListargumentList () const
 
ArgumentListdeclArgumentList () const
 
ArgumentListtemplateArguments () const
 
QList< ArgumentList > * definitionTemplateParameterLists () const
 
int getMemberGroupId () const
 
MemberGroupgetMemberGroup () const
 
bool fromAnonymousScope () const
 
bool anonymousDeclShown () const
 
MemberDeffromAnonymousMember () const
 
bool hasCallGraph () const
 
bool hasCallerGraph () const
 
bool visibleMemberGroup (bool hideNoHeader)
 
MemberDeftemplateMaster () const
 
QCString getScopeString () const
 
ClassDefgetClassDefOfAnonymousType ()
 
bool isTypedefValCached () const
 
ClassDefgetCachedTypedefVal () const
 
QCString getCachedTypedefTemplSpec () const
 
QCString getCachedResolvedTypedef () const
 
MemberDefmemberDefinition () const
 
MemberDefmemberDeclaration () const
 
MemberDefinheritsDocsFrom () const
 
MemberDefgetGroupAlias () const
 
ClassDefcategory () const
 
MemberDefcategoryRelation () const
 
QCString displayName (bool=TRUE) const
 
QCString getDeclType () const
 
void getLabels (QStrList &sl, Definition *container) const
 
const ArgumentListtypeConstraints () const
 
QCString documentation () const
 
QCString briefDescription (bool abbr=FALSE) const
 
QCString fieldType () const
 
bool isReference () const
 
void setMemberType (MemberType t)
 
void setDefinition (const char *d)
 
void setFileDef (FileDef *fd)
 
void setAnchor ()
 
void setProtection (Protection p)
 
void setMemberSpecifiers (uint64 s)
 
void mergeMemberSpecifiers (uint64 s)
 
void setInitializer (const char *i)
 
void setBitfields (const char *s)
 
void setMaxInitLines (int lines)
 
void setMemberClass (ClassDef *cd)
 
void setSectionList (Definition *d, MemberList *sl)
 
void setGroupDef (GroupDef *gd, Grouping::GroupPri_t pri, const QCString &fileName, int startLine, bool hasDocs, MemberDef *member=0)
 
void setExplicitExternal (bool b)
 
void setReadAccessor (const char *r)
 
void setWriteAccessor (const char *w)
 
void setTemplateSpecialization (bool b)
 
void makeRelated ()
 
void makeForeign ()
 
void setHasDocumentedParams (bool b)
 
void setHasDocumentedReturnType (bool b)
 
void setInheritsDocsFrom (MemberDef *md)
 
void setTagInfo (TagInfo *i)
 
void setArgsString (const char *as)
 
void setReimplements (MemberDef *md)
 
void insertReimplementedBy (MemberDef *md)
 
void setRelatedAlso (ClassDef *cd)
 
void insertEnumField (MemberDef *md)
 
void setEnumScope (MemberDef *md, bool livesInsideEnum=FALSE)
 
void setEnumClassScope (ClassDef *cd)
 
void setDocumentedEnumValues (bool value)
 
void setAnonymousEnumType (MemberDef *md)
 
bool addExample (const char *anchor, const char *name, const char *file)
 
void setPrototype (bool p)
 
void setArgumentList (ArgumentList *al)
 
void setDeclArgumentList (ArgumentList *al)
 
void setDefinitionTemplateParameterLists (QList< ArgumentList > *lists)
 
void setTypeConstraints (ArgumentList *al)
 
void setType (const char *t)
 
void setAccessorType (ClassDef *cd, const char *t)
 
void setNamespace (NamespaceDef *nd)
 
void setMemberGroup (MemberGroup *grp)
 
void setMemberGroupId (int id)
 
void makeImplementationDetail ()
 
void setFromAnonymousScope (bool b)
 
void setFromAnonymousMember (MemberDef *m)
 
void enableCallGraph (bool e)
 
void enableCallerGraph (bool e)
 
void setTemplateMaster (MemberDef *mt)
 
void addListReference (Definition *d)
 
void setDocsForDefinition (bool b)
 
void setGroupAlias (MemberDef *md)
 
void cacheTypedefVal (ClassDef *val, const QCString &templSpec, const QCString &resolvedType)
 
void invalidateTypedefValCache ()
 
void invalidateCachedArgumentTypes ()
 
void setMemberDefinition (MemberDef *md)
 
void setMemberDeclaration (MemberDef *md)
 
void setAnonymousUsed ()
 
void copyArgumentNames (MemberDef *bmd)
 
void setCategory (ClassDef *)
 
void setCategoryRelation (MemberDef *)
 
void setDocumentation (const char *d, const char *docFile, int docLine, bool stripWhiteSpace=TRUE)
 
void setBriefDescription (const char *b, const char *briefFile, int briefLine)
 
void setInbodyDocumentation (const char *d, const char *inbodyFile, int inbodyLine)
 
void setHidden (bool b)
 
void writeDeclaration (OutputList &ol, ClassDef *cd, NamespaceDef *nd, FileDef *fd, GroupDef *gd, bool inGroup, ClassDef *inheritFrom=0, const char *inheritId=0)
 
void writeDocumentation (MemberList *ml, int memCount, int memTotal, OutputList &ol, const char *scopeName, Definition *container, bool inGroup, bool showEnumValues=FALSE, bool showInline=FALSE)
 
void writeMemberDocSimple (OutputList &ol, Definition *container)
 
void writeEnumDeclaration (OutputList &typeDecl, ClassDef *cd, NamespaceDef *nd, FileDef *fd, GroupDef *gd)
 
void writeTagFile (FTextStream &)
 
void warnIfUndocumented ()
 
void warnIfUndocumentedParams ()
 
MemberDefcreateTemplateInstanceMember (ArgumentList *formalArgs, ArgumentList *actualArgs)
 
void findSectionsInDocumentation ()
 
- Public Member Functions inherited from Definition
 Definition (const char *defFileName, int defLine, int defColumn, const char *name, const char *b=0, const char *d=0, bool isSymbol=TRUE)
 
virtual ~Definition ()
 
const QCStringname () const
 
QCString localName () const
 
QCString symbolName () const
 
virtual QCString getSourceFileBase () const
 
virtual QCString getSourceAnchor () const
 
int docLine () const
 
QCString docFile () const
 
QCString briefDescriptionAsTooltip () const
 
int briefLine () const
 
QCString inbodyDocumentation () const
 
QCString inbodyFile () const
 
int inbodyLine () const
 
QCString briefFile () const
 
QCString getDefFileName () const
 
QCString getDefFileExtension () const
 
int getDefLine () const
 
int getDefColumn () const
 
virtual bool hasUserDocumentation () const
 
virtual bool isVisibleInProject () const
 
virtual bool isVisible () const
 
bool isHidden () const
 
bool isArtificial () const
 
QCString externalReference (const QCString &relPath) const
 
int getStartBodyLine () const
 
int getEndBodyLine () const
 
FileDefgetBodyDef () const
 
SrcLangExt getLanguage () const
 Returns the programming language this definition was written in. More...
 
GroupListpartOfGroups () const
 
bool isLinkableViaGroup () const
 
QList< ListItemInfo > * xrefListItems () const
 
virtual DefinitionfindInnerCompound (const char *name)
 
virtual DefinitiongetOuterScope () const
 
MemberSDictgetReferencesMembers () const
 
MemberSDictgetReferencedByMembers () const
 
bool hasSections () const
 
bool hasSources () const
 
bool hasBriefDescription () const
 returns TRUE if this class has a brief description
 
QCString id () const
 
virtual void setName (const char *name)
 
void setId (const char *name)
 
void setReference (const char *r)
 
void addSectionsToDefinition (QList< SectionInfo > *anchorList)
 
void setBodySegment (int bls, int ble)
 
void setBodyDef (FileDef *fd)
 
void addSourceReferencedBy (MemberDef *d)
 
void addSourceReferences (MemberDef *d)
 
void setRefItems (const QList< ListItemInfo > *sli)
 
void mergeRefItems (Definition *d)
 
virtual void addInnerCompound (Definition *d)
 
virtual void setOuterScope (Definition *d)
 
void setArtificial (bool b)
 
void setLanguage (SrcLangExt lang)
 
void writeSourceDef (OutputList &ol, const char *scopeName)
 
void writeInlineCode (OutputList &ol, const char *scopeName)
 
void writeSourceRefs (OutputList &ol, const char *scopeName)
 
void writeSourceReffedBy (OutputList &ol, const char *scopeName)
 
void makePartOfGroup (GroupDef *gd)
 
void writeNavigationPath (OutputList &ol) const
 
QCString navigationPathAsString () const
 
virtual void writeQuickMemberLinks (OutputList &, MemberDef *) const
 
virtual void writeSummaryLinks (OutputList &)
 
QCString pathFragment () const
 
void writeDocAnchorsToTagFile (FTextStream &)
 
void setLocalName (const QCString name)
 
void addSectionsToIndex ()
 
void writeToc (OutputList &ol)
 
void setCookie (Cookie *cookie)
 
Cookiecookie () const
 

Public Attributes

bool visited
 

Protected Member Functions

void flushToDisk () const
 
void loadFromDisk () const
 
- Protected Member Functions inherited from Definition
 Definition (const Definition &d)
 

Additional Inherited Members

- Public Types inherited from DefinitionIntf
enum  DefType {
  TypeClass = 0, TypeFile = 1, TypeNamespace = 2, TypeMember = 3,
  TypeGroup = 4, TypePackage = 5, TypePage = 6, TypeDir = 7,
  TypeSymbolList = 8
}
 

Detailed Description

A model of a class/file/namespace member symbol.

Constructor & Destructor Documentation

§ MemberDef()

MemberDef::MemberDef ( const char *  df,
int  dl,
int  dc,
const char *  t,
const char *  na,
const char *  a,
const char *  e,
Protection  p,
Specifier  v,
bool  s,
Relationship  r,
MemberType  mt,
const ArgumentList tal,
const ArgumentList al 
)

Creates a new member definition.

Parameters
dfFile containing the definition of this member.
dlLine at which the member definition was found.
dcColumn at which the member definition was found.
tA string representing the type of the member.
naA string representing the name of the member.
aA string representing the arguments of the member.
eA string representing the throw clause of the members.
pThe protection context of the member, possible values are: Public, Protected, Private.
vThe degree of `virtualness' of the member, possible values are: Normal, Virtual, Pure.
sA boolean that is true iff the member is static.
rThe relationship between the class and the member.
mtThe kind of member. See #MemberType for a list of all types.
talThe template arguments of this member.
alThe arguments of this member. This is a structured form of the string past as argument a.

§ ~MemberDef()

MemberDef::~MemberDef ( )

Destroys the member definition.

Member Function Documentation

§ anchor()

QCString MemberDef::anchor ( ) const
virtual

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

Implements Definition.

§ briefDescription()

QCString MemberDef::briefDescription ( bool  abbreviate = FALSE) const
virtual

Returns the brief description of this definition. This can include commands.

Reimplemented from Definition.

§ definitionType()

DefType MemberDef::definitionType ( ) const
inlinevirtual

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

Implements DefinitionIntf.

§ displayName()

QCString MemberDef::displayName ( bool  includeScope = TRUE) const
virtual

Returns the name of the definition as it appears in the output

Implements Definition.

§ documentation()

QCString MemberDef::documentation ( ) const
virtual

Returns the detailed description of this definition

Reimplemented from Definition.

§ getClassDefOfAnonymousType()

ClassDef * MemberDef::getClassDefOfAnonymousType ( )

If this member has an anonymous class/struct/union as its type, then this method will return the ClassDef that describes this return type.

§ getOutputFileBase()

QCString MemberDef::getOutputFileBase ( ) const
virtual

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

Implements Definition.

§ getReference()

QCString MemberDef::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.

§ hasDocumentation()

bool MemberDef::hasDocumentation ( ) const
virtual

Returns TRUE iff the definition is documented (which could be generated documentation)

See also
hasUserDocumentation()

Reimplemented from Definition.

§ isBriefSectionVisible()

bool MemberDef::isBriefSectionVisible ( ) const

This methods returns TRUE iff the brief section (also known as declaration section) is visible in the documentation.

§ isLinkable()

bool MemberDef::isLinkable ( ) const
virtual

Returns TRUE iff it is possible to link to this item. This can be a link to another project imported via a tag file.

Implements Definition.

§ isLinkableInProject()

bool MemberDef::isLinkableInProject ( ) const
virtual

Returns TRUE iff it is possible to link to this item within this project.

Implements Definition.

§ isReference()

bool MemberDef::isReference ( ) const
virtual

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

Reimplemented from Definition.

§ qualifiedName()

QCString MemberDef::qualifiedName ( ) const
virtual

Returns the fully qualified name of this definition

Reimplemented from Definition.

§ setBriefDescription()

void MemberDef::setBriefDescription ( const char *  b,
const char *  briefFile,
int  briefLine 
)
virtual

Sets the brief description of this definition to b. A dot is added to the sentence if not available.

Reimplemented from Definition.

§ setDocumentation()

void MemberDef::setDocumentation ( const char *  d,
const char *  docFile,
int  docLine,
bool  stripWhiteSpace = TRUE 
)
virtual

Sets the documentation of this definition to d.

Reimplemented from Definition.

§ setInbodyDocumentation()

void MemberDef::setInbodyDocumentation ( const char *  d,
const char *  docFile,
int  docLine 
)
virtual

Set the documentation that was found inside the body of an item. If there was already some documentation set, the new documentation will be appended.

Reimplemented from Definition.

§ writeDeclaration()

void MemberDef::writeDeclaration ( OutputList ol,
ClassDef cd,
NamespaceDef nd,
FileDef fd,
GroupDef gd,
bool  inGroup,
ClassDef inheritFrom = 0,
const char *  inheritId = 0 
)

printf("startMemberItem for %s\n",name().data());

init.isEmpty() && initLines==0 && // one line initializer

§ writeDocumentation()

void MemberDef::writeDocumentation ( MemberList ml,
int  memCount,
int  memTotal,
OutputList ol,
const char *  scName,
Definition container,
bool  inGroup,
bool  showEnumValues = FALSE,
bool  showInline = FALSE 
)

Writes the "detailed documentation" section of this member to all active output formats.


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