doxygen  1.8.18
About: Doxygen is a source code documentation generator tool for C++, C, Objective-C, C#, PHP, Java, Python, IDL (diverse flavors), Fortran, VHDL, Tcl, and to some extent D. Different output formats are supported.
  Fossies Dox: doxygen-1.8.18.src.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

doxygen.cpp File Reference
#include <locale.h>
#include <qfileinfo.h>
#include <qfile.h>
#include <qdir.h>
#include <qdict.h>
#include <qregexp.h>
#include <qstrlist.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <qtextcodec.h>
#include <errno.h>
#include <qptrdict.h>
#include <qtextstream.h>
#include <algorithm>
#include <unordered_map>
#include <memory>
#include "version.h"
#include "doxygen.h"
#include "scanner.h"
#include "entry.h"
#include "index.h"
#include "message.h"
#include "config.h"
#include "util.h"
#include "pre.h"
#include "tagreader.h"
#include "dot.h"
#include "msc.h"
#include "docparser.h"
#include "dirdef.h"
#include "outputlist.h"
#include "declinfo.h"
#include "htmlgen.h"
#include "latexgen.h"
#include "mangen.h"
#include "language.h"
#include "debug.h"
#include "htmlhelp.h"
#include "qhp.h"
#include "ftvhelp.h"
#include "defargs.h"
#include "rtfgen.h"
#include "sqlite3gen.h"
#include "xmlgen.h"
#include "docbookgen.h"
#include "defgen.h"
#include "perlmodgen.h"
#include "reflist.h"
#include "pagedef.h"
#include "bufstr.h"
#include "commentcnv.h"
#include "cmdmapper.h"
#include "searchindex.h"
#include "parserintf.h"
#include "htags.h"
#include "pycode.h"
#include "pyscanner.h"
#include "fortrancode.h"
#include "fortranscanner.h"
#include "xmlcode.h"
#include "sqlcode.h"
#include "code.h"
#include "portable.h"
#include "vhdljjparser.h"
#include "vhdldocgen.h"
#include "vhdlcode.h"
#include "eclipsehelp.h"
#include "cite.h"
#include "markdown.h"
#include "arguments.h"
#include "memberlist.h"
#include "layout.h"
#include "groupdef.h"
#include "classlist.h"
#include "namespacedef.h"
#include "filename.h"
#include "membername.h"
#include "membergroup.h"
#include "docsets.h"
#include "formula.h"
#include "settings.h"
#include "context.h"
#include "fileparser.h"
#include "emoji.h"
#include "plantuml.h"
#include "stlsupport.h"
#include <signal.h>
+ Include dependency graph for doxygen.cpp:

Go to the source code of this file.


class  Statistics
struct  Statistics::stat
class  NullOutlineParser
 /dev/null outline parser More...


#define _DEFAULT_SOURCE   1
 Copyright (C) 1997-2015 by Dimitri van Heesch. More...


enum  FindBaseClassRelation_Mode { TemplateInstances, DocumentedOnly, Undocumented }


void initResources ()
void clearAll ()
void statistics ()
static void addMemberDocs (const Entry *root, MemberDef *md, const char *funcDecl, const ArgumentList *al, bool over_load, uint64 spec)
static void findMember (const Entry *root, const QCString &relates, const QCString &type, const QCString &args, QCString funcDecl, bool overloaded, bool isFunc)
static bool findClassRelation (const Entry *root, Definition *context, ClassDef *cd, const BaseInfo *bi, QDict< int > *templateNames, FindBaseClassRelation_Mode mode, bool isArtificial)
static DefinitionfindScopeFromQualifiedName (Definition *startScope, const QCString &n, FileDef *fileScope, const TagInfo *tagInfo)
static void addPageToContext (PageDef *pd, Entry *root)
static void addRelatedPage (Entry *root)
static void buildGroupListFiltered (const Entry *root, bool additional, bool includeExternal)
static void buildGroupList (const Entry *root)
static void findGroupScope (const Entry *root)
static void organizeSubGroupsFiltered (const Entry *root, bool additional)
static void organizeSubGroups (const Entry *root)
static void buildFileList (const Entry *root)
static void addIncludeFile (ClassDef *cd, FileDef *ifd, const Entry *root)
static DefinitionbuildScopeFromQualifiedName (const QCString name, int level, SrcLangExt lang, const TagInfo *tagInfo)
ArgumentList getTemplateArgumentsFromName (const QCString &name, const std::vector< ArgumentList > &tArgLists)
static ClassDef::CompoundType convertToCompoundType (int section, uint64 specifier)
static void addClassToContext (const Entry *root)
static void buildClassList (const Entry *root)
static void buildClassDocList (const Entry *root)
static void resolveClassNestingRelations ()
void distributeClassGroupRelations ()
static ClassDefcreateTagLessInstance (ClassDef *rootCd, ClassDef *templ, const QCString &fieldName)
static void processTagLessClasses (ClassDef *rootCd, ClassDef *cd, ClassDef *tagParentCd, const QCString &prefix, int count)
 Look through the members of class cd and its public members. More...
static void findTagLessClasses (ClassDef *cd)
static void findTagLessClasses ()
static void buildNamespaceList (const Entry *root)
static const NamespaceDeffindUsedNamespace (const NamespaceSDict *unl, const QCString &name)
static void findUsingDirectives (const Entry *root)
static void buildListOfUsingDecls (const Entry *root)
static void findUsingDeclarations (const Entry *root)
static void findUsingDeclImports (const Entry *root)
static void findIncludedUsingDirectives ()
static MemberDefaddVariableToClass (const Entry *root, ClassDef *cd, MemberType mtype, const QCString &type, const QCString &name, const QCString &args, bool fromAnnScope, MemberDef *fromAnnMemb, Protection prot, Relationship related)
static MemberDefaddVariableToFile (const Entry *root, MemberType mtype, const QCString &scope, const QCString &type, const QCString &name, const QCString &args, bool fromAnnScope, MemberDef *fromAnnMemb)
static int findFunctionPtr (const QCString &type, int lang, int *pLength=0)
static bool isVarWithConstructor (const Entry *root)
static void addVariable (const Entry *root, int isFuncPtr=-1)
static void buildTypedefList (const Entry *root)
static void buildSequenceList (const Entry *root)
static void buildDictionaryList (const Entry *root)
static void buildVarList (const Entry *root)
static void addInterfaceOrServiceToServiceOrSingleton (const Entry *root, ClassDef *const cd, QCString const &rname)
static void buildInterfaceAndServiceList (const Entry *root)
static void addMethodToClass (const Entry *root, ClassDef *cd, const QCString &rtype, const QCString &rname, const QCString &rargs, bool isFriend, Protection protection, bool stat, Specifier virt, uint64 spec, const QCString &relates)
void addGlobalFunction (const Entry *root, const QCString &rname, const QCString &sc, NamespaceDef *nd)
static void buildFunctionList (const Entry *root)
static void findFriends ()
static void transferFunctionDocumentation ()
static void transferFunctionReferences ()
static void transferRelatedFunctionDocumentation ()
static QDict< int > * getTemplateArgumentsInName (const ArgumentList &templateArguments, const QCString &name)
static ClassDeffindClassWithinClassContext (Definition *context, ClassDef *cd, const QCString &name)
static void findUsedClassesForClass (const Entry *root, Definition *context, ClassDef *masterCd, ClassDef *instanceCd, bool isArtificial, const ArgumentList &actualArgs=ArgumentList(), QDict< int > *templateNames=0)
static void findBaseClassesForClass (const Entry *root, Definition *context, ClassDef *masterCd, ClassDef *instanceCd, FindBaseClassRelation_Mode mode, bool isArtificial, const ArgumentList &actualArgs=ArgumentList(), QDict< int > *templateNames=0)
static bool findTemplateInstanceRelation (const Entry *root, Definition *context, ClassDef *templateClass, const QCString &templSpec, QDict< int > *templateNames, bool isArtificial)
static bool isRecursiveBaseClass (const QCString &scope, const QCString &name)
static int findEndOfTemplate (const QCString &s, int startPos)
static bool isClassSection (const Entry *root)
static void findClassEntries (const Entry *root)
static QCString extractClassName (const Entry *root)
static void findInheritedTemplateInstances ()
static void findUsedTemplateInstances ()
static void computeClassRelations ()
static void computeTemplateClassRelations ()
static void computeMemberReferences ()
static void addListReferences ()
static void generateXRefPages ()
static const ClassDeffindClassDefinition (FileDef *fd, NamespaceDef *nd, const char *scopeName)
static bool findGlobalMember (const Entry *root, const QCString &namespaceName, const char *type, const char *name, const char *tempArg, const char *, const char *decl, uint64 spec)
static bool isSpecialization (const std::vector< ArgumentList > &srcTempArgLists, const std::vector< ArgumentList > &dstTempArgLists)
static bool scopeIsTemplate (const Definition *d)
static QCString substituteTemplatesInString (const std::vector< ArgumentList > &srcTempArgLists, const std::vector< ArgumentList > &dstTempArgLists, const QCString &src)
static void substituteTemplatesInArgList (const std::vector< ArgumentList > &srcTempArgLists, const std::vector< ArgumentList > &dstTempArgLists, const ArgumentList &src, ArgumentList &dst)
static void addLocalObjCMethod (const Entry *root, const QCString &scopeName, const QCString &funcType, const QCString &funcName, const QCString &funcArgs, const QCString &exceptions, const QCString &funcDecl, uint64 spec)
static void addMemberFunction (const Entry *root, MemberName *mn, const QCString &scopeName, const QCString &namespaceName, const QCString &className, const QCString &funcTyp, const QCString &funcName, const QCString &funcArgs, const QCString &funcTempList, const QCString &exceptions, const QCString &type, const QCString &args, bool isFriend, uint64 spec, const QCString &relates, const QCString &funcDecl, bool overloaded, bool isFunc)
static void addMemberSpecialization (const Entry *root, MemberName *mn, ClassDef *cd, const QCString &funcType, const QCString &funcName, const QCString &funcArgs, const QCString &funcDecl, const QCString &exceptions, uint64 spec)
static void addOverloaded (const Entry *root, MemberName *mn, const QCString &funcType, const QCString &funcName, const QCString &funcArgs, const QCString &funcDecl, const QCString &exceptions, uint64 spec)
static void filterMemberDocumentation (const Entry *root, const QCString relates)
static void findMemberDocumentation (const Entry *root)
static void findObjCMethodDefinitions (const Entry *root)
static void findEnums (const Entry *root)
static void addEnumValuesToEnums (const Entry *root)
static void findEnumDocumentation (const Entry *root)
static void findDEV (const MemberNameLinkedMap &mnsd)
static void findDocumentedEnumValues ()
static void addMembersToIndex ()
static void vhdlCorrectMemberProperties ()
static void computeMemberRelations ()
static void createTemplateInstanceMembers ()
static void mergeCategories ()
static void buildCompleteMemberLists ()
static void generateFileSources ()
static void generateFileDocs ()
static void addSourceReferences ()
static void sortMemberLists ()
static void setAnonymousEnumType ()
static void countMembers ()
static void generateClassList (ClassSDict &classSDict)
static void generateClassDocs ()
static void inheritDocumentation ()
static void combineUsingRelations ()
static void addMembersToMemberGroup ()
static void distributeMemberGroupDocumentation ()
static void findSectionsInDocumentation ()
static void flushCachedTemplateRelations ()
static void flushUnresolvedRelations ()
static void findDefineDocumentation (Entry *root)
static void findDirDocumentation (const Entry *root)
static void buildPageList (Entry *root)
static void findMainPage (Entry *root)
static void findMainPageTagFiles (Entry *root)
static void computePageRelations (Entry *root)
static void checkPageRelations ()
static void resolveUserReferences ()
static void generatePageDocs ()
static void buildExampleList (Entry *root)
void printNavTree (Entry *root, int indent)
static void generateExampleDocs ()
static void generateGroupDocs ()
static void generateNamespaceClassDocs (ClassSDict *d)
static void generateNamespaceDocs ()
static void generateConfigFile (const char *configFile, bool shortList, bool updateOnly=FALSE)
static void compareDoxyfile ()
static void readTagFile (const std::shared_ptr< Entry > &root, const char *tl)
static void copyLatexStyleSheet ()
static void copyStyleSheet ()
static void copyLogo (const QCString &outputOption)
static void copyExtraFiles (QStrList files, const QCString &filesOption, const QCString &outputOption)
static void generateDiskNames ()
static OutlineParserInterfacegetParserForFile (const char *fn)
static void parseFile (OutlineParserInterface &parser, const std::shared_ptr< Entry > &root, FileDef *fd, const char *fn, bool sameTu, QStrList &filesInSameTu)
static void parseFiles (const std::shared_ptr< Entry > &root)
 parse the list of input files More...
static QCString resolveSymlink (QCString path)
int readDir (QFileInfo *fi, FileNameLinkedMap *fnMap, StringDict *exclDict, QStrList *patList, QStrList *exclPatList, StringList *resultList, StringDict *resultDict, bool errorIfNotExist, bool recursive, QDict< void > *killDict, QDict< void > *paths)
int readFileOrDirectory (const char *s, FileNameLinkedMap *fnMap, StringDict *exclDict, QStrList *patList, QStrList *exclPatList, StringList *resultList, StringDict *resultDict, bool recursive, bool errorIfNotExist, QDict< void > *killDict, QDict< void > *paths)
static void expandAliases ()
static void escapeAliases ()
void readAliases ()
static void dumpSymbol (FTextStream &t, Definition *d)
static void dumpSymbolMap ()
static void devUsage ()
static void usage (const char *name, const char *versionString)
static const char * getArg (int argc, char **argv, int &optind)
void initDoxygen ()
void cleanUpDoxygen ()
static int computeIdealCacheParam (uint v)
void readConfiguration (int argc, char **argv)
void checkConfiguration ()
 check and resolve config options More...
void adjustConfiguration ()
 adjust globals that depend on configuration settings. More...
static void stopDoxygen (int)
static void writeTagFile ()
static void exitDoxygen ()
static QCString createOutputDirectory (const QCString &baseDirName, QCString &formatDirName, const char *defaultDirName)
static QCString getQchFileName ()
void searchInputFiles ()
void parseInput ()
void generateOutput ()


static std::unordered_map< std::string, const Entry * > g_classEntries
static StringList g_inputFiles
static QDict< void > g_compoundKeywordDict (7)
static OutputListg_outputList = 0
static QDict< FileDefg_usingDeclarations (1009)
static bool g_successfulRun = FALSE
static bool g_dumpSymbolMap = FALSE
static bool g_useOutputTemplate = FALSE
class Statistics g_s
static QDict< void > g_pathsVisited (1009)

Macro Definition Documentation


#define _DEFAULT_SOURCE   1

Copyright (C) 1997-2015 by Dimitri van Heesch.

Permission to use, copy, modify, and distribute this software and its documentation under the terms of the GNU General Public License is hereby granted. No representations are made about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. See the GNU General Public License for more details.

Documents produced by Doxygen are derivative works derived from the input used in their production; they are not affected by this license.

Definition at line 18 of file doxygen.cpp.



Definition at line 117 of file doxygen.cpp.

Enumeration Type Documentation

◆ FindBaseClassRelation_Mode


Definition at line 297 of file doxygen.cpp.

Function Documentation

◆ addClassToContext()

static void addClassToContext ( const Entry root)

Definition at line 957 of file doxygen.cpp.

References addClassToGroups(), addIncludeFile(), Definition::addSectionsToDefinition(), Entry::anchors, SDict< T >::append(), Entry::artificial, Entry::bodyLine, Entry::brief, Entry::briefFile, Entry::briefLine, buildScopeFromQualifiedName(), Debug::Classes, Doxygen::classSDict, Entry::COMPOUND_MASK, QCString::contains(), convertToCompoundType(), createClassDef(), Entry::doc, Entry::docFile, Entry::docLine, Entry::endBodyLine, Entry::Enum, extractNamespaceName(), FALSE, Entry::fileDef(), TagInfo::fileName, Entry::fileName, QCString::find(), Entry::ForwardDecl, Doxygen::genericsDict, getClass(), Definition::getStartBodyLine(), getTemplateArgumentsFromName(), ClassDef::hasDocumentation(), Entry::hidden, Entry::id, GenericsSDict::insert(), FileDef::insertClass(), ClassDef::insertUsedFile(), QCString::isEmpty(), ClassDef::isForwardDeclared(), ClassDef::isGeneric(), Entry::lang, QCString::left(), leftScopeMatch(), Entry::metaData, QCString::mid(), Definition::name(), Entry::name, Entry::parent(), QCString::prepend(), Debug::print(), Entry::protection, qPrint(), Entry::SCOPE_MASK, Entry::section, Definition::setArtificial(), Definition::setBodyDef(), Definition::setBodySegment(), Definition::setBriefDescription(), ClassDef::setClassSpecifier(), ClassDef::setCompoundType(), Definition::setDocumentation(), ClassDef::setFileDef(), Definition::setHidden(), Definition::setId(), ClassDef::setIsStatic(), Definition::setLanguage(), ClassDef::setMetaData(), ClassDef::setProtection(), Definition::setRefItems(), ClassDef::setSubGrouping(), ClassDef::setTemplateArguments(), ClassDef::setTypeConstraints(), Entry::sli, Entry::spec, SrcLangExt_CSharp, SrcLangExt_Java, Entry::startColumn, Entry::startLine, Entry::stat, stringToArgumentList(), stripTemplateSpecifiersFromScope(), Entry::subGrouping, Entry::tagInfo(), TagInfo::tagName, Entry::tArgLists, ClassDef::templateArguments(), TRUE, and Entry::typeConstr.

Referenced by buildClassDocList(), and buildClassList().

◆ addEnumValuesToEnums()

◆ addGlobalFunction()

◆ addIncludeFile()

◆ addInterfaceOrServiceToServiceOrSingleton()

◆ addListReferences()

◆ addLocalObjCMethod()

◆ addMemberDocs()

static void addMemberDocs ( const Entry root,
MemberDef md,
const char *  funcDecl,
const ArgumentList al,
bool  over_load,
uint64  spec 

Definition at line 4935 of file doxygen.cpp.

References addMemberToGroups(), Definition::addSectionsToDefinition(), Entry::anchors, Entry::argList, MemberDef::argumentList(), Entry::bodyLine, Entry::brief, Entry::briefFile, Entry::briefLine, Entry::callerGraph, Entry::callGraph, QCString::data(), Entry::doc, Entry::docFile, Entry::docLine, MemberDef::enableCallerGraph(), MemberDef::enableCallGraph(), MemberDef::enableReferencedByRelation(), MemberDef::enableReferencesRelation(), Entry::endBodyLine, Entry::fileDef(), Entry::fileName, MemberDef::getClassDef(), MemberDef::getFileDef(), MemberDef::getMemberGroupId(), MemberDef::getNamespaceDef(), Definition::getOuterScope(), getOverloadDocs(), Definition::getStartBodyLine(), MemberDef::hasCallerGraph(), MemberDef::hasCallGraph(), MemberDef::hasReferencedByRelation(), MemberDef::hasReferencesRelation(), Entry::inbodyDocs, Definition::inbodyDocumentation(), Entry::inbodyFile, Entry::inbodyLine, MemberDef::initializer(), Entry::initializer, Entry::initLines, ClassDef::insertUsedFile(), QGString::isEmpty(), QCString::isEmpty(), matchArguments2(), mergeArguments(), MemberDef::mergeMemberSpecifiers(), Entry::mGrpId, Definition::name(), Entry::name, Entry::parent(), Entry::proto, Entry::referencedByRelation, Entry::referencesRelation, Definition::setBodyDef(), Definition::setBodySegment(), MemberDef::setBriefDescription(), MemberDef::setDefinition(), MemberDef::setDocsForDefinition(), MemberDef::setDocumentation(), MemberDef::setInbodyDocumentation(), MemberDef::setInitializer(), MemberDef::setMaxInitLines(), MemberDef::setMemberGroupId(), Definition::setRefItems(), Entry::sli, Entry::startLine, QCString::stripPrefix(), TRUE, and warn().

Referenced by addMemberFunction(), addVariableToClass(), addVariableToFile(), findGlobalMember(), and findMember().

◆ addMemberFunction()

static void addMemberFunction ( const Entry root,
MemberName mn,
const QCString scopeName,
const QCString namespaceName,
const QCString className,
const QCString funcTyp,
const QCString funcName,
const QCString funcArgs,
const QCString funcTempList,
const QCString exceptions,
const QCString type,
const QCString args,
bool  isFriend,
uint64  spec,
const QCString relates,
const QCString funcDecl,
bool  overloaded,
bool  isFunc 

◆ addMemberSpecialization()

◆ addMembersToIndex()

static void addMembersToIndex ( )

◆ addMembersToMemberGroup()

◆ addMethodToClass()

static void addMethodToClass ( const Entry root,
ClassDef cd,
const QCString rtype,
const QCString rname,
const QCString rargs,
bool  isFriend,
Protection  protection,
bool  stat,
Specifier  virt,
uint64  spec,
const QCString relates 

◆ addOverloaded()

◆ addPageToContext()

◆ addRelatedPage()

◆ addSourceReferences()

◆ addVariable()

◆ addVariableToClass()

static MemberDef* addVariableToClass ( const Entry root,
ClassDef cd,
MemberType  mtype,
const QCString type,
const QCString name,
const QCString args,
bool  fromAnnScope,
MemberDef fromAnnMemb,
Protection  prot,
Relationship  related 

◆ addVariableToFile()

static MemberDef* addVariableToFile ( const Entry root,
MemberType  mtype,
const QCString scope,
const QCString type,
const QCString name,
const QCString args,
bool  fromAnnScope,
MemberDef fromAnnMemb 

◆ adjustConfiguration()

◆ buildClassDocList()

static void buildClassDocList ( const Entry root)

◆ buildClassList()

static void buildClassList ( const Entry root)

◆ buildCompleteMemberLists()

◆ buildDictionaryList()

static void buildDictionaryList ( const Entry root)

◆ buildExampleList()

◆ buildFileList()

◆ buildFunctionList()

static void buildFunctionList ( const Entry root)

◆ buildGroupList()

static void buildGroupList ( const Entry root)

Definition at line 431 of file doxygen.cpp.

References buildGroupListFiltered(), FALSE, and TRUE.

Referenced by parseInput().

◆ buildGroupListFiltered()

◆ buildInterfaceAndServiceList()

◆ buildListOfUsingDecls()

static void buildListOfUsingDecls ( const Entry root)

◆ buildNamespaceList()

static void buildNamespaceList ( const Entry root)

Definition at line 1452 of file doxygen.cpp.

References Definition::addInnerCompound(), addNamespaceToGroups(), Definition::addSectionsToDefinition(), Entry::anchors, Entry::artificial, Entry::bodyLine, Entry::brief, Entry::briefFile, Entry::briefLine, buildScopeFromQualifiedName(), Entry::children(), QCString::contains(), createNamespaceDef(), createNamespaceDefAlias(), DefinitionIntf::definitionType(), Entry::doc, Entry::docFile, Entry::docLine, Entry::endBodyLine, Entry::fileDef(), TagInfo::fileName, Entry::fileName, findScopeFromQualifiedName(), Definition::getLanguage(), Definition::getOuterScope(), Doxygen::globalScope, Entry::hidden, Entry::id, Entry::Inline, FileDef::insertNamespace(), NamespaceDef::insertUsedFile(), SDict< T >::inSort(), QCString::isEmpty(), NamespaceDef::isInline(), Entry::lang, Entry::metaData, Entry::name, Entry::NAMESPACE_SEC, Entry::NAMESPACEDOC_SEC, Doxygen::namespaceSDict, Entry::PACKAGEDOC_SEC, Entry::Published, Entry::section, Definition::setArtificial(), Definition::setBodyDef(), Definition::setBodySegment(), Definition::setBriefDescription(), Definition::setDocumentation(), NamespaceDef::setFileName(), Definition::setHidden(), Definition::setId(), NamespaceDef::setInline(), Definition::setLanguage(), NamespaceDef::setMetaData(), Definition::setName(), Definition::setOuterScope(), Definition::setReference(), Definition::setRefItems(), Entry::sli, Entry::spec, SrcLangExt_Unknown, Entry::startColumn, Entry::startLine, stripAnonymousNamespaceScope(), substitute(), Entry::tagInfo(), TagInfo::tagName, Entry::type, and DefinitionIntf::TypeNamespace.

Referenced by parseInput().

◆ buildPageList()

◆ buildScopeFromQualifiedName()

static Definition* buildScopeFromQualifiedName ( const QCString  name,
int  level,
SrcLangExt  lang,
const TagInfo tagInfo 

returns the Definition object belonging to the first level levels of full qualified name name. Creates an artificial scope if the scope is not found and set the parent/child scope relation if the scope is found.

Definition at line 724 of file doxygen.cpp.

References Definition::addInnerCompound(), createNamespaceDef(), TagInfo::fileName, SDict< T >::find(), QCString::find(), getClass(), getScopeFragment(), Doxygen::globalScope, SDict< T >::inSort(), QCString::isEmpty(), languages::l, QCString::mid(), Doxygen::namespaceSDict, Definition::setLanguage(), Definition::setOuterScope(), and TagInfo::tagName.

Referenced by addClassToContext(), buildNamespaceList(), findScopeFromQualifiedName(), and resolveClassNestingRelations().

◆ buildSequenceList()

static void buildSequenceList ( const Entry root)

◆ buildTypedefList()

static void buildTypedefList ( const Entry root)

◆ buildVarList()

◆ checkConfiguration()

void checkConfiguration ( )

check and resolve config options

Definition at line 10214 of file doxygen.cpp.

References Config::checkAndCorrect(), FALSE, initWarningFormat(), and Config::postProcess().

Referenced by main().

◆ checkPageRelations()

static void checkPageRelations ( )

◆ cleanUpDoxygen()

◆ clearAll()

◆ combineUsingRelations()

static void combineUsingRelations ( )

◆ compareDoxyfile()

static void compareDoxyfile ( )

Definition at line 8770 of file doxygen.cpp.

References Config::compareDoxyfile(), openOutputFile(), and term().

Referenced by readConfiguration().

◆ computeClassRelations()

◆ computeIdealCacheParam()

static int computeIdealCacheParam ( uint  v)

Definition at line 9819 of file doxygen.cpp.

References QMAX, and QMIN.

Referenced by generateOutput().

◆ computeMemberReferences()

◆ computeMemberRelations()

◆ computePageRelations()

◆ computeTemplateClassRelations()

◆ convertToCompoundType()

◆ copyExtraFiles()

static void copyExtraFiles ( QStrList  files,
const QCString filesOption,
const QCString outputOption 

◆ copyLatexStyleSheet()

◆ copyLogo()

◆ copyStyleSheet()

◆ countMembers()

◆ createOutputDirectory()

static QCString createOutputDirectory ( const QCString baseDirName,
QCString formatDirName,
const char *  defaultDirName 

◆ createTagLessInstance()

static ClassDef* createTagLessInstance ( ClassDef rootCd,
ClassDef templ,
const QCString fieldName 

Definition at line 1270 of file doxygen.cpp.

References GroupDef::addClass(), Definition::addInnerCompound(), SDict< T >::append(), MemberDef::argsString(), MemberDef::bitfieldString(), Definition::briefDescription(), MemberDef::briefDescription(), Definition::briefFile(), Definition::briefLine(), Doxygen::classSDict, ClassDef::compoundType(), createClassDef(), createMemberDef(), QListIterator< type >::current(), Definition::docFile(), Definition::docLine(), Definition::documentation(), MemberDef::documentation(), MemberDef::excpString(), Definition::getBodyDef(), Definition::getDefColumn(), Definition::getDefFileName(), Definition::getDefLine(), Definition::getEndBodyLine(), ClassDef::getFileDef(), Definition::getLanguage(), MemberDef::getMemberGroupId(), ClassDef::getMemberList(), MemberDef::getMemberSpecifiers(), Definition::getOuterScope(), Definition::getStartBodyLine(), Doxygen::globalScope, Definition::inbodyDocumentation(), Definition::inbodyFile(), Definition::inbodyLine(), MemberDef::initializer(), MemberDef::initializerLines(), FileDef::insertClass(), ClassDef::insertMember(), MemberDef::isStatic(), QCString::left(), QCString::length(), Definition::makePartOfGroup(), Member, MemberListType_pubAttribs, MemberDef::memberType(), Definition::name(), Definition::partOfGroups(), MemberDef::protection(), removeAnonymousScopes(), QCString::right(), MemberDef::setBitfields(), Definition::setBodyDef(), Definition::setBodySegment(), Definition::setBriefDescription(), MemberDef::setBriefDescription(), Definition::setDocumentation(), MemberDef::setDocumentation(), ClassDef::setFileDef(), MemberDef::setInbodyDocumentation(), MemberDef::setInitializer(), Definition::setLanguage(), MemberDef::setMaxInitLines(), MemberDef::setMemberClass(), MemberDef::setMemberGroupId(), MemberDef::setMemberSpecifiers(), Definition::setOuterScope(), QListIterator< type >::toFirst(), MemberDef::typeString(), and MemberDef::virtualness().

Referenced by processTagLessClasses().

◆ createTemplateInstanceMembers()

static void createTemplateInstanceMembers ( )

◆ devUsage()

static void devUsage ( )

Definition at line 9592 of file doxygen.cpp.

References msg(), and Debug::printFlags().

Referenced by readConfiguration().

◆ distributeClassGroupRelations()

◆ distributeMemberGroupDocumentation()

◆ dumpSymbol()

◆ dumpSymbolMap()

◆ escapeAliases()

static void escapeAliases ( )

Definition at line 9456 of file doxygen.cpp.

References Doxygen::aliasDict, QCString::find(), QCString::length(), and QCString::mid().

Referenced by readAliases().

◆ exitDoxygen()

static void exitDoxygen ( )

◆ expandAliases()

static void expandAliases ( )

Definition at line 9444 of file doxygen.cpp.

References Doxygen::aliasDict, and expandAlias().

Referenced by readAliases().

◆ extractClassName()

◆ filterMemberDocumentation()

◆ findBaseClassesForClass()

static void findBaseClassesForClass ( const Entry root,
Definition context,
ClassDef masterCd,
ClassDef instanceCd,
FindBaseClassRelation_Mode  mode,
bool  isArtificial,
const ArgumentList actualArgs = ArgumentList(),
QDict< int > *  templateNames = 0 

◆ findClassDefinition()

static const ClassDef* findClassDefinition ( FileDef fd,
NamespaceDef nd,
const char *  scopeName 

Definition at line 5080 of file doxygen.cpp.

References getResolvedClass(), and TRUE.

Referenced by addMemberFunction().

◆ findClassEntries()

static void findClassEntries ( const Entry root)

Builds a dictionary of all entry nodes in the tree starting with root

Definition at line 4643 of file doxygen.cpp.

References Entry::children(), QCString::data(), g_classEntries, isClassSection(), and Entry::name.

Referenced by parseInput().

◆ findClassRelation()

static bool findClassRelation ( const Entry root,
Definition context,
ClassDef cd,
const BaseInfo bi,
QDict< int > *  templateNames,
FindBaseClassRelation_Mode  mode,
bool  isArtificial 

Definition at line 4263 of file doxygen.cpp.

References SDict< T >::append(), ClassDef::Class, Debug::Classes, Doxygen::classSDict, Config_getBool, createClassDef(), QCString::data(), DocumentedOnly, Entry::EXPORTED_INTERFACE_SEC, FALSE, Entry::fileDef(), Entry::fileName, GenericsSDict::find(), SDict< T >::find(), QCString::find(), findClassWithinClassContext(), findEndOfTemplate(), QCString::findRev(), findScopeFromQualifiedName(), findTemplateInstanceRelation(), Doxygen::genericsDict, getClass(), ClassDef::getFileDef(), getResolvedClass(), Doxygen::globalScope, Doxygen::hiddenClasses, Entry::INCLUDED_SERVICE_SEC, ClassDef::insertBaseClass(), ClassDef::insertSubClass(), ClassDef::insertUsedFile(), ClassDef::isCSharp(), QCString::isEmpty(), isRecursiveBaseClass(), ClassDef::isSubClass(), Entry::lang, QCString::left(), QCString::length(), QCString::mid(), BaseInfo::name, Definition::name(), Entry::name, Doxygen::namespaceAliasDict, Normal, Entry::parent(), QCString::prepend(), Debug::print(), Private, BaseInfo::prot, Protected, ClassDef::Protocol, Public, qPrint(), removeRedundantWhiteSpace(), replaceNamespaceAliases(), QCString::resize(), QCString::right(), Entry::section, Definition::setArtificial(), ClassDef::setCompoundType(), Definition::setLanguage(), Definition::setOuterScope(), SrcLangExt_CSharp, SrcLangExt_IDL, SrcLangExt_Java, Entry::startColumn, Entry::startLine, Entry::tagInfo(), TemplateInstances, TRUE, Undocumented, BaseInfo::virt, and warn().

Referenced by addInterfaceOrServiceToServiceOrSingleton(), computeTemplateClassRelations(), findBaseClassesForClass(), and findUsedClassesForClass().

◆ findClassWithinClassContext()

static ClassDef* findClassWithinClassContext ( Definition context,
ClassDef cd,
const QCString name 

Searches a class from within context and cd and returns its definition if found (otherwise 0 is returned).

Definition at line 3847 of file doxygen.cpp.

References GenericsSDict::find(), QCString::find(), Doxygen::genericsDict, getClass(), ClassDef::getFileDef(), Definition::getLanguage(), getResolvedClass(), SrcLangExt_CSharp, SrcLangExt_Java, and TRUE.

Referenced by findClassRelation(), and findUsedClassesForClass().

◆ findDefineDocumentation()

◆ findDEV()

◆ findDirDocumentation()

◆ findDocumentedEnumValues()

static void findDocumentedEnumValues ( )

Definition at line 7266 of file doxygen.cpp.

References findDEV(), Doxygen::functionNameLinkedMap, and Doxygen::memberNameLinkedMap.

Referenced by parseInput().

◆ findEndOfTemplate()

static int findEndOfTemplate ( const QCString s,
int  startPos 

Searches for the end of a template in prototype s starting from character position startPos. If the end was found the position of the closing > is returned, otherwise -1 is returned.

Handles exotic cases such as


Definition at line 4197 of file doxygen.cpp.

References QCString::at(), FALSE, QCString::length(), and TRUE.

Referenced by findClassRelation().

◆ findEnumDocumentation()

◆ findEnums()

◆ findFriends()

◆ findFunctionPtr()

static int findFunctionPtr ( const QCString type,
int  lang,
int *  pLength = 0 

See if the return type string type is that of a function pointer

-1 if this is not a function pointer variable or the index at which the closing brace of (...*name) was found.

Definition at line 2394 of file doxygen.cpp.

References QCString::find(), QCString::findRev(), QCString::isEmpty(), languages::l, QRegExp::match(), SrcLangExt_Fortran, and SrcLangExt_VHDL.

Referenced by addVariable(), buildVarList(), and filterMemberDocumentation().

◆ findGlobalMember()

◆ findGroupScope()

◆ findIncludedUsingDirectives()

static void findIncludedUsingDirectives ( )

Definition at line 1952 of file doxygen.cpp.

References FALSE, and Doxygen::inputNameLinkedMap.

Referenced by parseInput().

◆ findInheritedTemplateInstances()

static void findInheritedTemplateInstances ( )

Using the dictionary build by findClassEntries(), this function will look for additional template specialization that exists as inheritance relations only. These instances will be added to the template they are derived from.

Definition at line 4673 of file doxygen.cpp.

References Debug::Classes, Doxygen::classSDict, extractClassName(), FALSE, findBaseClassesForClass(), g_classEntries, getClass(), SDict< ClassDef >::Iterator, Debug::print(), qPrint(), and TemplateInstances.

Referenced by parseInput().

◆ findMainPage()

◆ findMainPageTagFiles()

static void findMainPageTagFiles ( Entry root)

◆ findMember()

static void findMember ( const Entry root,
const QCString relates,
const QCString type,
const QCString args,
QCString  funcDecl,
bool  overloaded,
bool  isFunc 

This function tries to find a member (in a documented class/file/namespace) that corresponds to the function/variable declaration given in funcDecl.

The boolean overloaded is used to specify whether or not a standard overload documentation line should be generated.

The boolean isFunc is a hint that indicates that this is a function instead of a variable or typedef.

Definition at line 5904 of file doxygen.cpp.

References LinkedMap< T >::add(), addLocalObjCMethod(), addMemberDocs(), addMemberFunction(), addMemberSpecialization(), addMemberToGroups(), addOverloaded(), Entry::anchors, Entry::argList, argListToString(), MemberDef::argsString(), Entry::bodyLine, Entry::brief, Entry::briefFile, Entry::briefLine, Entry::callerGraph, Entry::callGraph, Config_getBool, QCString::copy(), createMemberDef(), QCString::data(), DCOP, Entry::doc, Entry::docFile, Entry::docLine, Duplicate, Entry::endBodyLine, Entry::Explicit, extractNamespaceName(), FALSE, Entry::fileDef(), Entry::fileName, LinkedMap< T >::find(), QCString::find(), findGlobalMember(), Debug::FindMembers, Foreign, Doxygen::functionNameLinkedMap, Definition::getBodyDef(), getClass(), Definition::getDefLine(), Definition::getEndBodyLine(), Definition::getStartBodyLine(), FileDef::getUsedNamespaces(), HIDE_SCOPE_NAMES, Entry::id, Entry::inbodyDocs, Entry::inbodyFile, Entry::inbodyLine, MemberDef::initializer(), Entry::Inline, ClassDef::insertMember(), ClassDef::insertUsedFile(), QCString::isEmpty(), SDict< NamespaceDef >::Iterator, Entry::lang, QCString::left(), QCString::length(), matchArguments2(), Doxygen::memberNameLinkedMap, MemberOf, MemberType_DCOP, MemberType_Define, MemberType_Function, MemberType_Signal, MemberType_Slot, mergeScopes(), Entry::metaData, Entry::mGrpId, Entry::mtype, Entry::Mutable, Definition::name(), Entry::name, Doxygen::namespaceSDict, Entry::OBJCIMPL_SEC, Entry::parent(), parseFuncDecl(), QCString::prepend(), Debug::print(), Entry::protection, Entry::proto, qPrint(), ClassDef::qualifiedNameWithTemplateParameters(), Entry::referencedByRelation, Entry::referencesRelation, Related, Entry::relatesType, removeRedundantWhiteSpace(), QCString::resize(), QCString::right(), Entry::SCOPE_MASK, Entry::section, Definition::setBodySegment(), MemberDef::setHidden(), MemberDef::setInitializer(), Signal, Entry::sli, Slot, Entry::spec, Entry::startColumn, Entry::startLine, Entry::stat, QCString::stripPrefix(), stripTemplateSpecifiersFromScope(), QCString::stripWhiteSpace(), substitute(), Entry::tagInfo(), Entry::tArgLists, TRUE, Entry::virt, warn(), and warn_undoc().

Referenced by filterMemberDocumentation(), and findObjCMethodDefinitions().

◆ findMemberDocumentation()

◆ findObjCMethodDefinitions()

static void findObjCMethodDefinitions ( const Entry root)

◆ findScopeFromQualifiedName()

◆ findSectionsInDocumentation()

◆ findTagLessClasses() [1/2]

◆ findTagLessClasses() [2/2]

static void findTagLessClasses ( ClassDef cd)

◆ findTemplateInstanceRelation()

◆ findUsedClassesForClass()

static void findUsedClassesForClass ( const Entry root,
Definition context,
ClassDef masterCd,
ClassDef instanceCd,
bool  isArtificial,
const ArgumentList actualArgs = ArgumentList(),
QDict< int > *  templateNames = 0 

◆ findUsedNamespace()

static const NamespaceDef* findUsedNamespace ( const NamespaceSDict unl,
const QCString name 

◆ findUsedTemplateInstances()

◆ findUsingDeclarations()

◆ findUsingDeclImports()

static void findUsingDeclImports ( const Entry root)

Definition at line 1854 of file doxygen.cpp.

References Definition::addSectionsToDefinition(), Entry::anchors, MemberDef::argsString(), MemberDef::bitfieldString(), Entry::brief, MemberDef::briefDescription(), Definition::briefFile(), Entry::briefFile, Definition::briefLine(), Entry::briefLine, Entry::callerGraph, Entry::callGraph, Entry::children(), Entry::COMPOUND_MASK, createMemberDef(), QListIterator< type >::current(), MemberDef::definition(), Entry::doc, Definition::docFile(), Entry::docFile, Definition::docLine(), Entry::docLine, MemberDef::documentation(), MemberDef::enableCallerGraph(), MemberDef::enableCallGraph(), MemberDef::enableReferencedByRelation(), MemberDef::enableReferencesRelation(), MemberDef::excpString(), Entry::fileName, SDict< T >::find(), QCString::find(), Definition::getBodyDef(), getClass(), Definition::getDefLine(), Definition::getEndBodyLine(), MemberDef::getMemberSpecifiers(), getResolvedClass(), Definition::getStartBodyLine(), Entry::id, Entry::inbodyDocs, Definition::inbodyDocumentation(), Definition::inbodyFile(), Entry::inbodyFile, Definition::inbodyLine(), Entry::inbodyLine, MemberDef::initializer(), MemberDef::initializerLines(), ClassDef::insertMember(), QCString::isEmpty(), MemberDef::isStatic(), Entry::lang, QCString::left(), QCString::length(), Member, MemberInfo::memberDef, ClassDef::memberNameInfoSDict(), MemberDef::memberType(), Entry::metaData, Entry::mGrpId, Entry::name, Entry::parent(), Private, MemberDef::protection(), Entry::protection, Entry::referencedByRelation, Entry::referencesRelation, removeRedundantWhiteSpace(), QCString::right(), Entry::section, MemberDef::setBitfields(), Definition::setBodyDef(), Definition::setBodySegment(), MemberDef::setBriefDescription(), MemberDef::setDefinition(), MemberDef::setDocumentation(), Definition::setId(), MemberDef::setInbodyDocumentation(), MemberDef::setInitializer(), Definition::setLanguage(), MemberDef::setMaxInitLines(), MemberDef::setMemberClass(), MemberDef::setMemberGroupId(), MemberDef::setMemberSpecifiers(), Entry::startColumn, Entry::startLine, stripAnonymousNamespaceScope(), stripTemplateSpecifiersFromScope(), Entry::tagInfo(), TagInfo::tagName, MemberDef::templateArguments(), MemberDef::typeString(), Entry::USINGDECL_SEC, and Entry::virt.

Referenced by parseInput().

◆ findUsingDirectives()

static void findUsingDirectives ( const Entry root)

◆ flushCachedTemplateRelations()

◆ flushUnresolvedRelations()

◆ generateClassDocs()

static void generateClassDocs ( )

Definition at line 7827 of file doxygen.cpp.

References Doxygen::classSDict, generateClassList(), and Doxygen::hiddenClasses.

Referenced by generateOutput().

◆ generateClassList()

◆ generateConfigFile()

static void generateConfigFile ( const char *  configFile,
bool  shortList,
bool  updateOnly = FALSE 

Generate a template version of the configuration file. If the shortList parameter is TRUE a configuration file without comments will be generated.

Definition at line 8737 of file doxygen.cpp.

References msg(), openOutputFile(), qstrcmp(), term(), and Config::writeTemplate().

Referenced by readConfiguration().

◆ generateDiskNames()

static void generateDiskNames ( )

Definition at line 8951 of file doxygen.cpp.

References Doxygen::inputNameLinkedMap, QCString::right(), and FileDef::setDiskName().

Referenced by parseInput().

◆ generateExampleDocs()

◆ generateFileDocs()

static void generateFileDocs ( )

Definition at line 7616 of file doxygen.cpp.

References documentedHtmlFiles, g_outputList, Doxygen::inputNameLinkedMap, and msg().

Referenced by generateOutput().

◆ generateFileSources()

◆ generateGroupDocs()

static void generateGroupDocs ( )

◆ generateNamespaceClassDocs()

◆ generateNamespaceDocs()

◆ generateOutput()

void generateOutput ( )

Initialize output generators *

add extra languages for which we can only produce syntax highlighted code

Generate documentation *

Start cleaning up *

Definition at line 11160 of file doxygen.cpp.

References OutputList::add(), addCodeOnlyMappings(), IndexList::addIndex(), Statistics::begin(), FormulaManager::Bitmap, Doxygen::clangUsrMap, cleanUpDoxygen(), computeIdealCacheParam(), Config_getBool, Config_getEnum, Config_getInt, Config_getList, Config_getString, copyExtraFiles(), copyLatexStyleSheet(), copyLogo(), copyStyleSheet(), OutputList::count(), createJavaScriptSearchIndex(), QDir::currentDirPath(), QCString::data(), QString::data(), Config::deinit(), QTextCodec::deleteAllCodecs(), dumpSymbolMap(), Statistics::end(), err(), Htags::execute(), QDir::exists(), Debug::ExtCmd, FALSE, Doxygen::filterDBFileName, IndexList::finalize(), finalizeSearchIndexer(), g_dumpSymbolMap, g_outputList, g_s, g_successfulRun, g_useOutputTemplate, generateClassDocs(), generateDEF(), generateDirDocs(), generateExampleDocs(), generateFileDocs(), generateFileSources(), generateGroupDocs(), FormulaManager::generateImages(), generateNamespaceDocs(), generateOutputViaTemplate(), generatePageDocs(), generatePerlMod(), generateSqlite3(), FTVHelp::generateTreeViewImages(), generateXML(), Doxygen::generatingXmlOutput, getQchFileName(), Qhp::getQhpFileName(), Portable::getSysElapsedTime(), Doxygen::groupSDict, FormulaManager::hasFormulas(), Doxygen::indexList, RTFGenerator::init(), ManGenerator::init(), HtmlGenerator::init(), LatexGenerator::init(), DocbookGenerator::init(), IndexList::initialize(), initSearchIndexer(), FormulaManager::instance(), DotManager::instance(), PlantumlManager::instance(), SearchIndexIntf::Internal, Portable::isAbsolutePath(), QCString::isEmpty(), Debug::isFlagSet(), SDict< GroupDef >::Iterator, Htags::loadFilemap(), Doxygen::lookupCache, QDir::mkdir(), msg(), Doxygen::objDBFileName, FormulaManager::On, QCString::prepend(), RTFGenerator::preProcessFileInplace(), Statistics::print(), QDir::remove(), DotManager::run(), PlantumlManager::run(), Doxygen::runningTime, Doxygen::searchIndex, QDir::setCurrent(), Portable::setShortDir(), SDict< T >::sort(), GroupDef::sortSubGroups(), QCString::sprintf(), Doxygen::symbolMap, Portable::system(), Portable::sysTimerStart(), Portable::sysTimerStop(), term(), Debug::Time, TRUE, Htags::useHtags, FormulaManager::Vector, SearchIndexIntf::write(), HtmlGenerator::writeExternalSearchPage(), writeGraphInfo(), writeIndexHierarchy(), writeJavaScriptSearchIndex(), HtmlGenerator::writeSearchData(), HtmlGenerator::writeSearchPage(), OutputList::writeStyleInfo(), HtmlGenerator::writeTabData(), and writeTagFile().

Referenced by main().

◆ generatePageDocs()

◆ generateXRefPages()

static void generateXRefPages ( )

Definition at line 4922 of file doxygen.cpp.

References RefListManager::instance().

Referenced by parseInput().

◆ getArg()

static const char* getArg ( int  argc,
char **  argv,
int &  optind 

Definition at line 9644 of file doxygen.cpp.

References qstrlen().

Referenced by readConfiguration().

◆ getParserForFile()

static OutlineParserInterface& getParserForFile ( const char *  fn)

◆ getQchFileName()

static QCString getQchFileName ( )

Definition at line 10466 of file doxygen.cpp.

References Config_getString, and QCString::isEmpty().

Referenced by generateOutput().

◆ getTemplateArgumentsFromName()

ArgumentList getTemplateArgumentsFromName ( const QCString name,
const std::vector< ArgumentList > &  tArgLists 

◆ getTemplateArgumentsInName()

static QDict<int>* getTemplateArgumentsInName ( const ArgumentList templateArguments,
const QCString name 

make a dictionary of all template arguments of class cd that are part of the base class name. Example: A template class A with template arguments <R,S,T> that inherits from B<T,T,S> will have T and S in the dictionary.

Definition at line 3819 of file doxygen.cpp.

References languages::l, QRegExp::match(), QCString::mid(), and TRUE.

Referenced by computeTemplateClassRelations(), findBaseClassesForClass(), and findUsedClassesForClass().

◆ inheritDocumentation()

◆ initDoxygen()

◆ initResources()

void initResources ( )

Referenced by initDoxygen().

◆ isClassSection()

static bool isClassSection ( const Entry root)

◆ isRecursiveBaseClass()

static bool isRecursiveBaseClass ( const QCString scope,
const QCString name 

Definition at line 4172 of file doxygen.cpp.

References QCString::find(), QCString::left(), and rightScopeMatch().

Referenced by findClassRelation().

◆ isSpecialization()

static bool isSpecialization ( const std::vector< ArgumentList > &  srcTempArgLists,
const std::vector< ArgumentList > &  dstTempArgLists 

◆ isVarWithConstructor()

static bool isVarWithConstructor ( const Entry root)

◆ mergeCategories()

static void mergeCategories ( )

◆ organizeSubGroups()

static void organizeSubGroups ( const Entry root)

Definition at line 489 of file doxygen.cpp.

References FALSE, organizeSubGroupsFiltered(), and TRUE.

Referenced by parseInput().

◆ organizeSubGroupsFiltered()

static void organizeSubGroupsFiltered ( const Entry root,
bool  additional 

◆ parseFile()

◆ parseFiles()

◆ parseInput()

void parseInput ( )

Make sure the output directory exists

Initialize global lists and dictionaries

Check/create output directories *

Handle layout file *

Read and preprocess input *

Handle Tag Files *

Parse source files *

Gather information *

Definition at line 10642 of file doxygen.cpp.

References QDir::absPath(), addEnumValuesToEnums(), addListReferences(), addMembersToIndex(), addMembersToMemberGroup(), addSourceReferences(), addSTLSupport(), QInternalList< type >::append(), Statistics::begin(), buildClassDocList(), buildClassList(), buildCompleteMemberLists(), buildDictionaryList(), buildDirectories(), buildExampleList(), buildFileList(), buildFunctionList(), buildGroupList(), buildInterfaceAndServiceList(), buildListOfUsingDecls(), buildNamespaceList(), buildPageList(), buildSequenceList(), buildTypedefList(), buildVarList(), QDir::cd(), checkPageRelations(), Doxygen::classSDict, cleanUpDoxygen(), QCache< type >::clear(), combineUsingRelations(), computeClassRelations(), computeDirDependencies(), computeMemberReferences(), computeMemberRelations(), computePageRelations(), computeTemplateClassRelations(), VhdlDocGen::computeVhdlComponentRelations(), Config_getBool, Config_getInt, Config_getList, Config_getString, countDataStructures(), countMembers(), createOutputDirectory(), createTemplateInstanceMembers(), QDir::currentDirPath(), QCString::data(), distributeMemberGroupDocumentation(), Statistics::end(), Doxygen::entryDBFileName, err(), QDir::exists(), exitDoxygen(), FALSE, Doxygen::filterDBFileName, findClassEntries(), findDefineDocumentation(), findDirDocumentation(), findDocumentedEnumValues(), findEnumDocumentation(), findEnums(), findFriends(), findGroupScope(), findIncludedUsingDirectives(), findInheritedTemplateInstances(), findMainPage(), findMainPageTagFiles(), findMemberDocumentation(), findObjCMethodDefinitions(), findSectionsInDocumentation(), findTagLessClasses(), findUsedTemplateInstances(), findUsingDeclarations(), findUsingDeclImports(), findUsingDirectives(), QInternalList< type >::first(), flushCachedTemplateRelations(), flushUnresolvedRelations(), Doxygen::functionNameLinkedMap, g_classEntries, g_s, g_useOutputTemplate, g_usingDeclarations, generateDiskNames(), CitationManager::generatePage(), generateXRefPages(), Portable::getenv(), getFullVersion(), getPrefixIndex(), Doxygen::hiddenClasses, inheritDocumentation(), LayoutDocManager::init(), FormulaManager::instance(), CitationManager::instance(), LayoutDocManager::instance(), IO_ReadOnly, QCString::isEmpty(), Doxygen::lookupCache, Doxygen::memberNameLinkedMap, mergeCategories(), QDir::mkdir(), msg(), QInternalList< type >::next(), Doxygen::objDBFileName, QFile::open(), OPTIMIZE_OUTPUT_SLICE, organizeSubGroups(), LayoutDocManager::parse(), parseFiles(), Portable::pathListSeparator(), Portable::pid(), QCString::prepend(), qstricmp(), FormulaManager::readFormulas(), readTagFile(), QDir::remove(), resolveClassNestingRelations(), resolveUserReferences(), searchInputFiles(), setAnonymousEnumType(), QCollection::setAutoDelete(), Portable::setenv(), QDir::setPath(), SDict< T >::sort(), sortMemberLists(), QCString::sprintf(), stopDoxygen(), transferFunctionDocumentation(), transferFunctionReferences(), transferRelatedFunctionDocumentation(), TRUE, QString::utf8(), vhdlCorrectMemberProperties(), and warn_uncond().

Referenced by main().

◆ printNavTree()

void printNavTree ( Entry root,
int  indent 

◆ processTagLessClasses()

static void processTagLessClasses ( ClassDef rootCd,
ClassDef cd,
ClassDef tagParentCd,
const QCString prefix,
int  count 

Look through the members of class cd and its public members.

If there is a member m of a tag less struct/union, then we create a duplicate of the struct/union with the name of the member to identify it. So if cd has name S, then the tag less struct/union will get name S.m Since tag less structs can be nested we need to call this function recursively. Later on we need to patch the member types so we keep track of the hierarchy of classes we create.

Definition at line 1350 of file doxygen.cpp.

References ClassDef::addTaggedInnerClass(), createTagLessInstance(), QListIterator< type >::current(), QCString::find(), ClassDef::getClassSDict(), ClassDef::getMemberList(), Definition::isAnonymous(), QCString::isEmpty(), SDict< ClassDef >::Iterator, MemberListType_pubAttribs, Definition::name(), QCString::prepend(), MemberDef::setAccessorType(), ClassDef::setTagLessReference(), substitute(), QListIterator< type >::toFirst(), and MemberDef::typeString().

Referenced by findTagLessClasses().

◆ readAliases()

◆ readConfiguration()

◆ readDir()

◆ readFileOrDirectory()

◆ readTagFile()

◆ resolveClassNestingRelations()

◆ resolveSymlink()

◆ resolveUserReferences()

◆ scopeIsTemplate()

static bool scopeIsTemplate ( const Definition d)

◆ searchInputFiles()

◆ setAnonymousEnumType()

static void setAnonymousEnumType ( )

◆ sortMemberLists()

◆ statistics()

◆ stopDoxygen()

static void stopDoxygen ( int  )

◆ substituteTemplatesInArgList()

static void substituteTemplatesInArgList ( const std::vector< ArgumentList > &  srcTempArgLists,
const std::vector< ArgumentList > &  dstTempArgLists,
const ArgumentList src,
ArgumentList dst 

◆ substituteTemplatesInString()

static QCString substituteTemplatesInString ( const std::vector< ArgumentList > &  srcTempArgLists,
const std::vector< ArgumentList > &  dstTempArgLists,
const QCString src 

◆ transferFunctionDocumentation()

static void transferFunctionDocumentation ( )

Definition at line 3649 of file doxygen.cpp.

References combineDeclarationAndDefinition(), and Doxygen::functionNameLinkedMap.

Referenced by parseInput().

◆ transferFunctionReferences()

◆ transferRelatedFunctionDocumentation()

static void transferRelatedFunctionDocumentation ( )

◆ usage()

static void usage ( const char *  name,
const char *  versionString 

Definition at line 9606 of file doxygen.cpp.

References msg().

Referenced by readConfiguration().

◆ vhdlCorrectMemberProperties()

static void vhdlCorrectMemberProperties ( )

◆ writeTagFile()

Variable Documentation

◆ g_classEntries

std::unordered_map< std::string, const Entry* > g_classEntries

◆ g_compoundKeywordDict

QDict<void> g_compoundKeywordDict(7)

◆ g_dumpSymbolMap

bool g_dumpSymbolMap = FALSE

Definition at line 177 of file doxygen.cpp.

Referenced by generateOutput(), and readConfiguration().

◆ g_inputFiles

StringList g_inputFiles

Definition at line 172 of file doxygen.cpp.

Referenced by clearAll(), parseFiles(), and searchInputFiles().

◆ g_outputList

◆ g_pathsVisited

QDict<void> g_pathsVisited(1009)

Referenced by readDir().

◆ g_s

◆ g_successfulRun

bool g_successfulRun = FALSE

Definition at line 176 of file doxygen.cpp.

Referenced by exitDoxygen(), and generateOutput().

◆ g_useOutputTemplate

bool g_useOutputTemplate = FALSE

Definition at line 178 of file doxygen.cpp.

Referenced by generateFileSources(), generateOutput(), parseInput(), and readConfiguration().

◆ g_usingDeclarations

QDict<FileDef> g_usingDeclarations(1009)