59 if ((i=clRealName.
find(
'<'))!=-1)
61 clRealName=clRealName.
left(i);
63 if ((i=clRealName.
findRev(
"::"))!=-1)
65 clRealName=clRealName.
right(clRealName.
length()-i-2);
67 while ((i=s.
find(clRealName,p))!=-1)
187 int il=cName.
find(
'<');
189 if (il!=-1 && ir!=-1 && ir>il)
191 cName=cName.
mid(il,ir-il+1);
207 bool paramTypeStarted=
FALSE;
213 if (isDefine || first)
216 paramTypeStarted=
TRUE;
223 QRegExp re(
")("),res(
"(.*\\*");
228 bool hasFuncPtrType=
FALSE;
238 if (hasFuncPtrType) n=a->
type.
left(wp);
255 if (paramTypeStarted)
258 paramTypeStarted=
FALSE;
321 if (key!=
",") key+=
":";
324 if (paramTypeStarted)
329 paramTypeStarted=
TRUE;
384 for (
int comma = exception.
find(
',', index); comma!=-1; )
388 exception.
mid(index,comma-index));
391 comma = exception.
find(
',', index);
403 "missing ) in exception list on member %s",
qPrint(md->
name()));
609 const char *
t,
const char *
a,
const char *
e,
737 const char *
t,
const char *na,
const char *
a,
const char *
e,
744 m_impl->
init(
this,t,a,e,p,v,s,r,mt,tal,al);
788 for (it.toFirst();(e=it.current());++it)
820 for (it.toFirst();(ml=it.current());++it)
943 static bool separateMemberPages =
Config_getBool(
"SEPARATE_MEMBER_PAGES");
944 static bool inlineSimpleClasses =
Config_getBool(
"INLINE_SIMPLE_STRUCTS");
982 "Internal inconsistency: member %s does not belong to any" 1071 if (
name().isEmpty() ||
name().at(0)==
'@')
1190 if (!hideScopeNames)
1255 int l,i=r.
match(ltype,0,&l);
1263 while (il>=0 && (
isId(ltype.
at(il)) || ltype.
at(il)==
':' || ltype.
at(il)==
'@')) il--;
1264 if (il>0) il++;
else if (il<0) il=0;
1265 while (ir<(
int)ltype.
length() && (
isId(ltype.
at(ir)) || ltype.
at(ir)==
':' || ltype.
at(ir)==
'@')) ir++;
1276 if (annoClassDef==0)
1283 return annoClassDef;
1292 static bool hideUndocMembers =
Config_getBool(
"HIDE_UNDOC_MEMBERS");
1293 static bool briefMemberDesc =
Config_getBool(
"BRIEF_MEMBER_DESC");
1295 static bool hideFriendCompounds =
Config_getBool(
"HIDE_FRIEND_COMPOUNDS");
1319 bool visibleIfDocumented = (!hideUndocMembers ||
1326 bool visibleIfEnabled = !(hideUndocMembers &&
1333 bool visibleIfFriendCompound = !(hideFriendCompounds &&
1358 bool visibleIfNotDefaultCDTor = !(cOrDTor &&
1374 bool visible = visibleIfStatic && visibleIfDocumented &&
1375 visibleIfEnabled && visibleIfPrivate &&
1376 visibleIfNotDefaultCDTor &&
1377 visibleIfFriendCompound &&
1413 bool inGroup,
ClassDef *inheritedFrom,
const char *inheritId)
1423 ASSERT (cd!=0 || nd!=0 || fd!=0 || gd!=0);
1424 if (cd) d=cd;
else if (nd) d=nd;
else if (fd) d=fd;
else d=gd;
1448 bool writeAnchor = (inGroup ||
m_impl->
group==0) &&
1461 if (!detailsVisible)
1498 bool endAnonScopeNeeded=
FALSE;
1499 int l,i=r.
match(ltype,0,&l);
1525 else if (!varName.
isEmpty() && (varName.
at(0)==
'*' || varName.
at(0)==
'&'))
1530 endAnonScopeNeeded=
TRUE;
1560 else if (ltype==
"@")
1580 if (htmlOn && !ltype.
isEmpty())
1603 if (!
name().isEmpty() &&
name().at(0)!=
'@')
1606 if (!(
name().isEmpty() ||
name().at(0)==
'@') &&
1731 ol.
docify(
" [implementation]");
1755 const char *
s=sl.
first();
1775 const char *
s=sl.
first();
1794 if (endAnonScopeNeeded)
1809 if (rootNode && !rootNode->
isEmpty())
1815 static bool separateMemberPages =
Config_getBool(
"SEPARATE_MEMBER_PAGES");
1820 if (separateMemberPages ||
1855 static bool alwaysDetailedSec =
Config_getBool(
"ALWAYS_DETAILED_SEC");
1857 static bool briefMemberDesc =
Config_getBool(
"BRIEF_MEMBER_DESC");
1858 static bool hideUndocMembers =
Config_getBool(
"HIDE_UNDOC_MEMBERS");
1875 (alwaysDetailedSec &&
1906 bool friendCompoundFilter = !(
Config_getBool(
"HIDE_FRIEND_COMPOUNDS") &&
1915 bool result = ((docFilter && staticFilter && privateFilter && friendCompoundFilter && !
isHidden()));
1922 static bool separateMemPages =
Config_getBool(
"SEPARATE_MEMBER_PAGES");
1923 static bool inlineSimpleStructs =
Config_getBool(
"INLINE_SIMPLE_STRUCTS");
1924 static bool hideUndocMembers =
Config_getBool(
"HIDE_UNDOC_MEMBERS");
1925 bool groupFilter =
getGroupDef()==0 || inGroup || separateMemPages;
1927 bool simpleFilter = (
hasBriefDescription() || !hideUndocMembers) && inlineSimpleStructs &&
1932 bool result = visible || simpleFilter;
2016 else if (lvirt==
Pure) sl.
append(
"pure virtual");
2036 sl.
append(
"implementation");
2051 sl.
append(
"implementation");
2125 int markerPos = reimplFromLine.
find(
"@0");
2153 reimplFromLine.
length()-markerPos-2));
2158 err(
"translation error: no marker in trReimplementsFromList()\n");
2198 static QRegExp marker(
"@[0-9]+");
2199 int index=0,newIndex,matchLen;
2201 while ((newIndex=marker.
match(reimplInLine,index,&matchLen))!=-1)
2205 uint entryIndex = reimplInLine.
mid(newIndex+1,matchLen-1).
toUInt(&ok);
2214 if (count==entryIndex)
break;
2219 if (ok && bcd && bmd)
2232 index=newIndex+matchLen;
2328 for (;(fmd=it.
current());++it)
2409 if (title.
at(0)==
'@')
2411 ldef = title =
"anonymous enum";
2424 if (ldef.
at(0)==
'@')
2430 int l,i=r.
match(ldef,0,&l);
2433 int si=ldef.
find(
' '),
pi,ei=i+
l;
2435 while ((
pi=r.
match(ldef,i+l,&l))!=-1)
2440 int ni=ldef.
find(
"::",si);
2441 if (ni>=ei) ei=ni+2;
2448 int ep = ldef.
find(
"::");
2454 ldef=ldef.
left(sp+1)+ldef.
mid(ep+2);
2458 int dp = ldef.
find(
':');
2461 ldef=ldef.
left(dp+1);
2466 while (i>=0 && (
isId(ldef.
at(i)) || ldef.
at(i)==
':')) i--;
2467 while (i>=0 && isspace((
uchar)ldef.
at(i))) i--;
2486 static bool showGroupedMembInc =
Config_getBool(
"SHOW_GROUPED_MEMB_INC");
2490 if (inGroup && fd && showGroupedMembInc && !nm.
isEmpty())
2530 bool showEnumValues,
2535 bool hasParameterList =
FALSE;
2542 if ( !hasDocs )
return;
2558 ciname = ((
GroupDef *)container)->groupTitle();
2574 doxyName.
prepend(scopeName+sep);
2583 if (title.
at(0)==
'@')
2585 ldef = title =
"anonymous enum";
2598 if (ldef.
at(0)==
'@')
2614 bool htmlEndLabelTable=
FALSE;
2624 for ( ; (vmd=vmli.
current()) && !found ; ++vmli)
2643 int si=ldef.
find(
' '),
pi,ei=i+
l;
2645 while ((
pi=r.
match(ldef,i+l,&l))!=-1)
2655 int ni=ldef.
find(
"::",si);
2656 if (ni>=ei) ei=ni+2;
2680 if (!first) ol.
docify(
" ");
2701 if (!first) ol.
docify(
" ");
2726 htmlEndLabelTable=
TRUE;
2733 int ep = ldef.
find(
"::");
2739 ldef=ldef.
left(sp+1)+ldef.
mid(ep+2);
2741 ldef=ldef.
mid(ep+2);
2745 int dp = ldef.
find(
':');
2748 ldef=ldef.
left(dp+1);
2753 while (i>=0 && (
isId(ldef.
at(i)) || ldef.
at(i)==
':')) i--;
2754 while (i>=0 && isspace((
uchar)ldef.
at(i))) i--;
2778 if (scope==0) scope = nd;
2800 hasParameterList=
true;
2809 const char *
s=sl.
first();
2812 const char *
ns = sl.
next();
2820 if (hasParameterList)
2835 if (htmlEndLabelTable)
2838 ol.
writeString(
" <td class=\"mlabels-right\">\n");
2840 const char *
s=sl.
first();
2843 const char *
ns = sl.
next();
2953 paramDocs+=
"@param"+direction+
" "+a->
name+
" "+a->
docs;
2985 QCString cmd =
"<? $root=$_SERVER['DOCUMENT_ROOT']; " 2986 "passthru(\"$root/doxynotes --lookup "+
3008 "parameters of member %s are not (all) documented",
3014 "return type of member %s is not documented",
3026 static QRegExp re(
"[A-Z_a-z0-9]+::");
3028 while ((i=re.
match(ts,0,&l))!=-1)
3033 if (i!=-1) ts = ts.
left(i);
3068 printf(
"getClassFromType: type=%s name=%s start=%d length=%d\n",type.
data(),name.
data(),start,length);
3075 printf(
"getClassFromType: type=%s name=%s start=%d length=%d\n",type.
data(),name.
data(),start,length);
3104 if (scope) cname = scope->
name();
3105 if (doxyName.
at(0)==
'@')
3107 doxyName=
"__unnamed__";
3122 const char *prefixes[] = {
"struct ",
"union ",
"class ", 0 };
3123 const char **
p = prefixes;
3206 default:
return "unknown";
3240 name().find(
'@')==-1 && d && d->
name().
find(
'@')==-1 &&
3263 int i=baseName.
find(
'<');
3264 if (i!=-1) baseName=baseName.
left(i);
3316 char c = anchor.
at(i);
3317 if ((c>=
'a' && c<=
'z') || (c>=
'A' && c<=
'Z'))
3323 static char hexStr[]=
"0123456789ABCDEF";
3324 char escChar[]={
'_', 0, 0, 0 };
3325 escChar[1]=hexStr[c>>4];
3326 escChar[2]=hexStr[c&0xf];
3418 for (;(arg=ali.
current());++ali)
3427 if (methodName.
left(9)==
"operator ")
3483 static bool optimizeOutputForC =
Config_getBool(
"OPTIMIZE_OUTPUT_FOR_C");
3491 if (optimizeOutputForC)
3506 ((
ClassDef*)pd)->displayName() : pd->name();
3523 memName =
"[" + pd->name() +
" " +
name() +
"]";
3544 sprintf(key,
"%p",d);
3552 sprintf(key,
"%p",d);
3565 "Internal inconsistency: recursion detected in overload relation for member %s!" 3583 tagFile <<
" <member kind=\"";
3603 tagFile <<
"\" protection=\"";
3606 else tagFile <<
"private";
3610 tagFile <<
"\" virtualness=\"";
3612 else tagFile <<
"pure";
3616 tagFile <<
"\" static=\"yes";
3618 tagFile <<
"\">" <<
endl;
3646 if (!idStr.isEmpty())
3656 tagFile <<
" </member>" <<
endl;
3674 else if (
name()==
"__init__" &&
3688 int i=locName.
find(
'<');
3719 isDestructor =
name()==
"~this";
3723 isDestructor =
name()==
"__destruct";
3727 isDestructor =
name()==
"destructor";
3729 else if (
name()==
"__del__" &&
3760 uint numVisibleEnumValues=0;
3803 if (numVisibleEnumValues>0 && enumValuesPerLine>0)
3816 if (numVisibleEnumValues>enumValuesPerLine
3817 && (enumMemCount%enumValuesPerLine)==0
3849 bool prevVisible = fmdVisible;
3864 if (numVisibleEnumValues>enumValuesPerLine)
3896 for (;(a=ali.
current());++ali)
3949 m_impl->inbodyDocs = docs;
3950 m_impl->inbodyDocs =
m_impl->inbodyDocs.stripWhiteSpace();
3973 if (
isStatic()) qm=
"+";
else qm=
"-";
4008 if (
isStatic()) qm=
"+ ";
else qm=
"- ";
4845 for (;(argDst=aliDst.
current()) && (argSrc=aliSrc.
current());++aliDst,++aliSrc)
4858 for (;(argDst=aliDst.
current()) && (argSrc=aliSrc.
current());++aliDst,++aliSrc)
5104 static bool hideFriendCompounds =
Config_getBool(
"HIDE_FRIEND_COMPOUNDS");
static const uint64 Gettable
ArgumentList * typeConstraints
QCString convertToXML(const char *s)
void startMemberItem(const char *anchor, int i1, const char *id=0)
void startParameterType(bool first, const char *key)
virtual QCString trExamples()=0
CompoundType compoundType() const
virtual QCString trCallerGraph()=0
bool isMaybeAmbiguous() const
static void writeExceptionListImpl(OutputList &ol, ClassDef *cd, MemberDef *md, QCString const &exception)
void endMemberDeclaration(const char *anchor, const char *inheritId)
bool anonymousDeclShown() const
ClassDef * cachedAnonymousType
void setArgumentList(ArgumentList *al)
void setMemberType(MemberType t)
bool isDocsForDefinition() const
ParserInterface * getParser(const char *extension)
void findSectionsInDocumentation()
void setRelatedAlso(ClassDef *cd)
void setType(const char *t)
void append(const MemberDef *md)
bool hasDocumentation() const
void writeDocumentation(MemberList *ml, OutputList &ol, const char *scopeName, Definition *container, bool inGroup, bool showEnumValues=FALSE, bool showInline=FALSE)
QCString cachedResolvedType
bool isDetailedSectionVisible(bool inGroup, bool inFile) const
static const uint64 NonAtomic
static const uint64 Published
void setDefinition(const char *d)
void insertEnumField(MemberDef *md)
This class represents an function or template argument list.
virtual QCString trDefineValue()=0
bool isTypedefValCached() const
QList< ArgumentList > * copyArgumentLists(const QList< ArgumentList > *srcLists)
bool isLinkableInProject() const
void setFromAnonymousMember(MemberDef *m)
void setEnumBaseType(const QCString &type)
void setReimplements(MemberDef *md)
MemberDef * reimplements() const
bool matchArguments2(Definition *srcScope, FileDef *srcFileScope, ArgumentList *srcAl, Definition *dstScope, FileDef *dstFileScope, ArgumentList *dstAl, bool checkCV)
void combineDeclarationAndDefinition(MemberDef *mdec, MemberDef *mdef)
bool isFunctionPtr() const
bool hasMultiLineInitializer() const
virtual QCString getReference() const
void setMemberDefinition(MemberDef *md)
void setHasDocumentedReturnType(bool b)
MemberList * reimplementedBy() const
void setFromAnonymousScope(bool b)
void inSort(const char *key, const T *d)
void writeTagFile(FTextStream &)
QCString getReference() const
void setTagInfo(TagInfo *i)
The QRegExp class provides pattern matching using regular expressions or wildcards.
bool hasDocumentation() const
void msg(const char *fmt,...)
Grouping::GroupPri_t getGroupPri() const
void startDescTableTitle()
static const uint64 Mutable
MemberList * getSectionList(Definition *d) const
QCString displayName(bool=TRUE) const
virtual QCString trEnumerationValues()=0
void setBodyDef(FileDef *fd)
bool livesInsideEnum() const
QCString displayName(bool=TRUE) const
void _writeCategoryRelation(OutputList &ol)
int contains(char c, bool cs=TRUE) const
void insertReimplementedBy(MemberDef *md)
void append(const type *d)
uchar m_isConstructorCached
ClassDef * cachedTypedefValue
bool isUNOProperty() const
ArgumentList * defArgList
ClassDef * accessorClass() const
void _writeCallerGraph(OutputList &ol)
bool visibleMemberGroup(bool hideNoHeader)
Abstract interface for programming language parsers.
void setMemberGroup(MemberGroup *grp)
Protection protection() const
static const uint64 Abstract
QCString getOutputFileBase() const
QList< ListItemInfo > * xrefListItems() const
static QCString htmlFileExtension
void writeString(const char *text)
int findRef(const type *d) const
bool generateDoc(const char *fileName, int startLine, Definition *ctx, MemberDef *md, const QCString &docStr, bool indexWords, bool isExample, const char *exampleName=0, bool singleLine=FALSE, bool linkFromIndex=FALSE)
void writeSourceReffedBy(OutputList &ol, const char *scopeName)
QCString inbodyDocumentation() const
void writeNonBreakableSpace(int num)
const char * bitfieldString() const
static const uint64 Sealed
void disableAllBut(OutputGenerator::OutputType o)
static const uint64 Settable
void lineBreak(const char *style=0)
FileDef * getBodyDef() const
virtual bool hasDocumentation() const
void setTemplateSpecialization(bool b)
void writePageRef(OutputDocInterface &od, const char *cn, const char *mn)
void startInlineMemberDoc()
void addIndexItem(const char *s1, const char *s2)
virtual void setOuterScope(Definition *d)
bool hasDocumentedReturnType
void enableCallGraph(bool e)
void endInlineMemberDoc()
QCString stripAnonymousNamespaceScope(const QCString &s)
bool isLinkableInProject() const
bool fromAnonymousScope() const
void writeTypeConstraints(OutputList &ol, Definition *d, ArgumentList *al)
bool isTemplateSpecialization() const
MemberDef * templateMaster() const
bool protectionVisible() const
void warn_doc_error(const char *file, int line, const char *fmt,...)
static const uint64 ProtectedGettable
MemberList * enumFieldList() const
bool isLinkableInProject() const
void addListReference(Definition *d)
void setMemberGroupId(int id)
virtual QCString trProvidedByCategory()=0
void startMemberDescription(const char *anchor, const char *inheritId=0)
virtual QCString trImplementedFromList(int numEntries)=0
void endInlineMemberType()
static const uint64 MaybeDefault
static const uint64 NoExcept
uchar m_isDestructorCached
void setNamespace(NamespaceDef *nd)
void enableCallerGraph(bool e)
QCString left(uint len) const
bool stripPrefix(const char *prefix)
void setArgsString(const char *as)
DocRoot * validatingParseDoc(const char *fileName, int startLine, Definition *ctx, MemberDef *md, const char *input, bool indexWords, bool isExample, const char *exampleName, bool singleLine, bool linkFromIndex)
void writeLabel(const char *l, bool isLast)
static const uint64 Assign
static bool suppressDocWarnings
void setPrototype(bool p)
virtual bool isReference() const
bool isEnabled(OutputGenerator::OutputType o)
bool protectionLevelVisible(Protection prot)
void writeLink(OutputList &ol, ClassDef *cd, NamespaceDef *nd, FileDef *fd, GroupDef *gd, bool onlyText=FALSE)
Simplified and optimized version of QTextStream.
void exceptionEntry(const char *prefix, bool closeBracket)
void init(Definition *def, const char *t, const char *a, const char *e, Protection p, Specifier v, bool s, Relationship r, MemberType mt, const ArgumentList *tal, const ArgumentList *al)
QCString displayName(bool includeScope=TRUE) const
int find(char c, int index=0, bool cs=TRUE) const
Grouping::GroupPri_t grouppri
static const uint64 Default
bool isImplementation() const
bool isFunctionOrSignalSlot() const
void setReadAccessor(const char *r)
static bool isMisc(const MemberDef *mdef)
void _writeEnumValues(OutputList &ol, Definition *container, const QCString &cfname, const QCString &ciname, const QCString &cname)
MemberDef * getGroupAlias() const
static void writeExceptionList(OutputList &ol, ClassDef *cd, MemberDef *md)
virtual QCString trGlobal(bool first_capital, bool singular)=0
void warn_undoc(const char *file, int line, const char *fmt,...)
virtual QCString displayName(bool includeScope=TRUE) const =0
bool hasCallerGraph() const
void startAnonTypeScope(int i1)
void append(const char *key, const T *d)
bool isObjCProperty() const
void setInheritsDocsFrom(MemberDef *md)
QCString getReference() const
int findRev(char c, int index=-1, bool cs=TRUE) const
void _writeReimplementedBy(OutputList &ol)
bool isBaseClass(ClassDef *bcd, bool followInstances, int level=0)
MemberDef * memberDefinition() const
void startTextLink(const char *file, const char *anchor)
ArgumentList * declArgumentList() const
virtual void setInbodyDocumentation(const char *d, const char *docFile, int docLine)
void startParameterName(bool one)
void startInlineMemberType()
QCString removeAnonymousScopes(const QCString &s)
bool isUnretained() const
void setExplicitExternal(bool b)
bool parseText(const QCString &textStr)
void endParameterName(bool last, bool one, bool bracket)
void _writeExamples(OutputList &ol)
virtual QCString trSubprogram(bool first_capital, bool singular)=0
QCString getDefFileName() const
QCString getDefFileExtension() const
ClassDef * getClass(const char *n)
void invalidateTypedefValCache()
void writeDocAnchorsToTagFile(FTextStream &)
void warnIfUndocumented()
static const uint64 Raisable
static const uint64 Optional
static const uint64 Explicit
virtual QCString trInitialValue()=0
static bool parseSourcesNeeded
bool isDocumentedFriendClass() const
QCString extractDirection(QCString &docs)
bool isBriefSectionVisible() const
bool hasCallGraph() const
void setHasDocumentedParams(bool b)
void mergeMemberSpecifiers(uint64 s)
#define Config_getInt(val)
QCString displayDefinition() const
FileDef * getFileDef() const
QCString substituteTemplateArgumentsInString(const QCString &name, ArgumentList *formalArgs, ArgumentList *actualArgs)
static NamespaceDef * globalScope
static const uint64 Inline
QCString displayName(bool=TRUE) const
void endMemberDocPrefixItem()
static ParserManager * parserManager
void setBitfields(const char *s)
void setGroupAlias(MemberDef *md)
virtual DefType definitionType() const =0
Specifier virtualness(int count=0) const
static const uint64 Strong
This class contains the information about the argument of a function or template. ...
static const uint64 Final
const char * typeString() const
QCString getLanguageSpecificSeparator(SrcLangExt lang, bool classScope)
void endCallGraph(const DotCallGraph &g)
void setDefinitionTemplateParameterLists(QList< ArgumentList > *lists)
MemberDef * templateMaster
void makeImplementationDetail()
void copyArgumentNames(MemberDef *bmd)
static constexpr double as
void addIndexItem(Definition *context, MemberDef *md, const char *sectionAnchor=0, const char *title=0)
MemberDef * getEnumScope() const
int close(int)
Closes the file descriptor fd.
static SearchIndexIntf * searchIndex
Q_EXPORT uint qstrlen(const char *str)
static const uint64 Retain
const QCString & name() const
void _computeIsDestructor()
bool isDetailedSectionLinkable() const
MemberDef * createTemplateInstanceMember(ArgumentList *formalArgs, ArgumentList *actualArgs)
void endInlineMemberName()
static const uint64 Transient
QCString inbodyFile() const
QCString getCachedTypedefTemplSpec() const
ClassDef * category() const
QCString getScopeString() const
void pushGeneratorState()
void startMemberDeclaration()
bool isLinkableInProject() const
void setDocumentation(const char *d, const char *docFile, int docLine, bool stripWhiteSpace=TRUE)
void setInbodyDocumentation(const char *d, const char *inbodyFile, int inbodyLine)
void setMemberClass(ClassDef *cd)
QCString briefDescription(bool abbr=FALSE) const
bool hasBriefDescription() const
void MD5Buffer(const unsigned char *buf, unsigned int len, unsigned char sig[16])
void moveTo(Definition *)
ClassDef * relatedAlso() const
QCString right(uint len) const
void inSort(const MemberDef *md)
SrcLangExt getLanguage() const
const char * getWriteAccessor() const
static void transferArgumentDocumentation(ArgumentList *decAl, ArgumentList *defAl)
QCString explicitOutputFileBase
static const uint64 Alias
virtual void addWord(const char *word, bool hiPriority)=0
static const uint64 Addable
MemberDef * inheritsDocsFrom() const
void startDescTableData()
static bool writeVHDLTypeDocumentation(const MemberDef *mdef, const Definition *d, OutputList &ol)
QList< ArgumentList > * definitionTemplateParameterLists() const
void setTemplateMaster(MemberDef *mt)
void startDescTable(const char *title)
ArgumentList * declArgList
void stringToArgumentList(const char *argsString, ArgumentList *al, QCString *extraTypeChars)
QCString & prepend(const char *s)
bool isConstructor() const
void disable(OutputGenerator::OutputType o)
bool isFriendClass() const
void append(const type *d)
void setProtection(Protection p)
void _writeReimplements(OutputList &ol)
A bunch of utility functions.
void startParameterList(bool openBracket)
const char * data() const
virtual bool hasUserDocumentation() const
bool isConstrained() const
General LArSoft Utilities.
void setAccessorType(ClassDef *cd, const char *t)
void writeDoc(DocRoot *root, Definition *ctx, MemberDef *md)
static QIntDict< MemberGroupInfo > memGrpInfoDict
bool isStrongEnumValue() const
void enable(OutputGenerator::OutputType o)
#define Config_getBool(val)
void setReference(const char *r)
const char * definition() const
ClassDef * getClassDef() const
MemberGroup * memberGroup
static const uint64 Removable
bool isPrivateGettable() const
void setSectionList(Definition *d, MemberList *sl)
static const uint64 Required
QCString briefFile() const
MemberDef * categoryRelation() const
static const uint64 Property
bool isObjCMethod() const
uint64 getMemberSpecifiers() const
virtual QCString qualifiedName() const
static const uint64 Override
void setAnonymousEnumType(MemberDef *md)
void warn(const char *file, int line, const char *fmt,...)
void writeMemberDocSimple(OutputList &ol, Definition *container)
ClassDef * getCachedTypedefVal() const
void startSimpleSect(SectionTypes t, const char *file, const char *anchor, const char *title)
MemberDef * fromAnonymousMember() const
static bool writeDefArgumentList(OutputList &ol, Definition *scope, MemberDef *md)
void err(const char *fmt,...)
void _writeGroupInclude(OutputList &ol, bool inGroup)
bool hasDocumentedReturnType() const
void writeSourceRefs(OutputList &ol, const char *scopeName)
void startDoxyAnchor(const char *fName, const char *manName, const char *anchor, const char *name, const char *args)
MemberType memberType() const
virtual QCString trMore()=0
virtual QCString briefDescription(bool abbreviate=FALSE) const
virtual QCString trExtendsClass()=0
const char * declaration() const
void setTypeConstraints(ArgumentList *al)
void startMemberDoc(const char *clName, const char *memName, const char *anchor, const char *title, bool showInline)
bool isFriendToHide() const
QCString removeRedundantWhiteSpace(const QCString &s)
int extractClassNameFromType(const QCString &type, int &pos, QCString &name, QCString &templSpec, SrcLangExt lang)
void writeDeclaration(OutputList &ol, MemberDef *md, bool inGroup, ClassDef *inheritedFrom, const char *inheritId)
static const uint64 Attribute
QCString mid(uint index, uint len=0xffffffff) const
QCString getOutputFileBase() const
void writeExample(OutputList &ol, ExampleSDict *ed)
int match(const QCString &str, int index=0, int *len=0, bool indexIsStart=TRUE) const
void setDocumentedEnumValues(bool value)
void setDocsForDefinition(bool b)
ClassDef * categoryOf() const
bool hasDocumentedParams() const
void setMemberSpecifiers(uint64 s)
void endMemberDoc(bool hasArgs)
static void invalidateCachedTypesInArgumentList(ArgumentList *al)
QCString getOutputFileBase() const
bool hasOneLineInitializer() const
const char * getGroupFileName() const
void writeEnumDeclaration(OutputList &typeDecl, ClassDef *cd, NamespaceDef *nd, FileDef *fd, GroupDef *gd)
MemberGroup * getMemberGroup() const
static const uint64 Constrained
void setCategory(ClassDef *)
virtual Definition * getOuterScope() const
QCString documentation() const
int getEndBodyLine() const
void startInlineMemberName()
GroupDef * getGroupDef() const
static const uint64 Unretained
virtual QCString trReimplementedFromList(int numEntries)=0
void _writeTypeConstraints(OutputList &ol)
ArgumentList * argumentList() const
static const uint64 Initonly
bool showInCallGraph() const
const char * getReadAccessor() const
MemberDef * deepCopy() const
MemberDef * memberDeclaration() const
void startMemberTemplateParams()
void setMaxInitLines(int lines)
QCString qualifiedName() const
int getStartBodyLine() const
void writeInlineCode(OutputList &ol, const char *scopeName)
int initializerLines() const
void MD5SigToString(unsigned char signature[16], char *str, int len)
QCString tempArgListToString(ArgumentList *al, SrcLangExt lang)
static const uint64 Bound
void writeSourceDef(OutputList &ol, const char *scopeName)
static const uint64 PrivateSettable
const char * extraTypeChars() const
static const uint64 Readonly
static const uint64 Writable
void endDoxyAnchor(const char *fn, const char *anchor)
int getMemberGroupId() const
QCString getCachedResolvedTypedef() const
const QCString & initializer() const
const char * excpString() const
QCString objCMethodName(bool localLink, bool showStatic) const
uint toUInt(bool *ok=0) const
MemberDef * getAnonymousEnumType() const
void setEnumScope(MemberDef *md, bool livesInsideEnum=FALSE)
void setInitializer(const char *i)
void setMemberDeclaration(MemberDef *md)
QCString getDeclType() const
virtual void setBriefDescription(const char *b, const char *briefFile, int briefLine)
QCString fieldType() const
MemberDef * categoryRelation
void mergeRefItems(Definition *d)
virtual void setCurrentDoc(Definition *ctx, const char *anchor, bool isSourceFile)=0
QCString getOutputFileBase() const
virtual QCString trReimplementedInList(int numEntries)=0
const ArgumentList * typeConstraints() const
void endAnonTypeScope(int i1)
void setEnumClassScope(ClassDef *cd)
void endMemberDescription()
void cacheTypedefVal(ClassDef *val, const QCString &templSpec, const QCString &resolvedType)
ClassDef * getClassDefOfAnonymousType()
QCString trailingReturnType
void setDeclArgumentList(ArgumentList *al)
bool isPrivateSettable() const
bool isMaybeDefault() const
void invalidateCachedArgumentTypes()
NamespaceDef * getNamespaceDef() const
void addRefItem(const QList< ListItemInfo > *sli, const char *key, const char *prefix, const char *name, const char *title, const char *args, Definition *scope)
Translator * theTranslator
ArgumentList * deepCopy() const
int getGroupStartLine() const
virtual void setDocumentation(const char *d, const char *docFile, int docLine, bool stripWhiteSpace=TRUE)
ExampleSDict * exampleSDict
QCString memberTypeName() const
bool isReimplementedBy(ClassDef *cd) const
static void writeTemplatePrefix(OutputList &ol, ArgumentList *al)
void getTemplateParameterLists(QList< ArgumentList > &lists) const
QCString enumBaseType() const
bool hasDocumentedEnumValues() const
virtual QCString trImplementedInList(int numEntries)=0
bool addExample(const char *anchor, const char *name, const char *file)
void setGroupDef(GroupDef *gd, Grouping::GroupPri_t pri, const QCString &fileName, int startLine, bool hasDocs, MemberDef *member=0)
void docFindSections(const char *input, Definition *d, MemberGroup *mg, const char *fileName)
void setWriteAccessor(const char *w)
const char * argsString() const
bool isLinkableInProject() const
static void writeSource(MemberDef *mdef, OutputList &ol, QCString &cname)
QCString getOutputFileBase() const
static const uint64 PrivateGettable
void setFileDef(FileDef *fd)
virtual QCString trCallGraph()=0
void _computeLinkableInProject()
void docify(const char *s)
void insertMemberAlign(bool templ=FALSE)
unsigned long long uint64
T * find(const char *key)
void linkifyText(const TextGeneratorIntf &out, Definition *scope, FileDef *fileScope, Definition *self, const char *text, bool autoBreak, bool external, bool keepSpaces, int indentLevel)
bool isObjectiveC() const
virtual QCString documentation() const
static QCString simplifyTypeForTable(const QCString &s)
static const uint64 ProtectedSettable
ClassDef * getResolvedClass(Definition *scope, FileDef *fileScope, const char *n, MemberDef **pTypeDef, QCString *pTemplSpec, bool mayBeUnlinkable, bool mayBeHidden, QCString *pResolvedType)
void writeObjectLink(const char *ref, const char *file, const char *anchor, const char *name)
void setAutoDelete(bool enable)
bool hasDocumentation() const
virtual void parseCode(CodeOutputInterface &codeOutIntf, const char *scopeName, const QCString &input, SrcLangExt lang, bool isExampleBlock, const char *exampleName=0, FileDef *fileDef=0, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, MemberDef *memberDef=0, bool showLineNumbers=TRUE, Definition *searchCtx=0, bool collectXRefs=TRUE)=0
void setBriefDescription(const char *b, const char *briefFile, int briefLine)
const QCString & docName() const
static QCString addTemplateNames(const QCString &s, const QCString &n, const QCString &t)
void endMemberTemplateParams(const char *anchor, const char *inheritId)
void _computeIsConstructor()
virtual QCString trMember(bool first_capital, bool singular)=0
QCString stripExtension(const char *fName)
bool isRelatedOrFriend() const
QCString localName() const
const char * qPrint(const char *s)
void getLabels(QStrList &sl, Definition *container) const
QList< ArgumentList > * defTmpArgLists
static IndexList * indexList
QCString simplifyWhiteSpace() const
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
ExampleSDict * getExamples() const
cet::coded_exception< error, detail::translate > exception
bool isProtectedSettable() const
QTextStream & endl(QTextStream &s)
QCString & append(const char *s)
void writeDeclaration(OutputList &ol, ClassDef *cd, NamespaceDef *nd, FileDef *fd, GroupDef *gd, bool inGroup, ClassDef *inheritFrom=0, const char *inheritId=0)
ArgumentList * templateArguments() const
bool isDestructor() const
static const uint64 MaybeVoid
void startMemberDocPrefixItem()
QCString cachedTypedefTemplSpec
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)
bool getGroupHasDocs() const
void warn_uncond(const char *fmt,...)
SDict< MemberList > * classSectionSDict
bool isProtectedGettable() const
virtual void setHidden(bool b)
static const uint64 Readable
static const uint64 Delete
void setCategoryRelation(MemberDef *)
void setBodySegment(int bls, int ble)
void _writeCallGraph(OutputList &ol)
static const uint64 MaybeAmbiguous
virtual void resetCodeParserState()=0
static QCString trTypeString(uint64 type)
void startMemberDocName(bool align)