60using ModuleMap = std::unordered_map<std::string,ModuleDef *>;
146 std::unique_ptr<Private>
p;
A abstract class representing of a compound symbol.
The common base class of all entity definitions found in the sources.
Represents an unstructured piece of information, about an entity found in the sources.
A model of a file symbol.
Container class representing a vector of objects with keys.
Container class representing a vector of objects with keys.
A model of a class/file/namespace member symbol.
A list of MemberDef objects as shown in documentation sections.
Wrapper class for the MemberListType type.
virtual QCString partitionName() const =0
virtual const ImportInfoMap & getImports() const =0
virtual MemberList * getMemberList(MemberListType lt) const =0
virtual const MemberGroupList & getMemberGroups() const =0
virtual int countVisibleMembers() const =0
virtual const ModuleMap & partitions() const =0
virtual bool isPrimaryInterface() const =0
virtual Type moduleType() const =0
virtual const MemberLists & getMemberLists() const =0
virtual void writeDocumentation(OutputList &ol)=0
virtual FileList getUsedFiles() const =0
virtual const ImportInfoMap & getExports() const =0
virtual const ConceptLinkedRefMap & getConcepts() const =0
virtual const ClassLinkedRefMap & getClasses() const =0
virtual FileDef * getFileDef() const =0
virtual void writeTagFile(TextStream &tagFile) const =0
void writeDeclaration(OutputList &ol, const QCString &header, bool localNames) const
int numDocumentedModules() const
static ModuleManager & instance()
void addDocs(const Entry *root)
void collectExportedSymbolsRecursively(ModuleDef *intfMod, ModuleDef *mod)
void addHeader(const QCString &moduleFile, int line, const QCString &headerName, bool isSystem)
void addConceptToModule(const Entry *root, ConceptDef *cd)
void addTagInfo(const QCString &moduleFile, const QCString &tagName, const QCString &clangId)
void addClassToModule(const Entry *root, ClassDef *cd)
void createModuleDef(const QCString &fileName, int line, int column, bool exported, const QCString &moduleName, const QCString &partitionName=QCString())
ModuleDef * getPrimaryInterface(const QCString &moduleName) const
void addMemberToModule(const Entry *root, MemberDef *md)
void writeDocumentation(OutputList &ol)
void addMembersToMemberGroup()
std::unique_ptr< Private > p
void findSectionsInDocumentation()
void collectExportedSymbols()
void resolvePartitionsRecursively(ModuleDef *intfMod, ModuleDef *mod)
const ModuleLinkedMap & modules() const
void addImport(const QCString &moduleFile, int line, const QCString &importName, bool isExported, const QCString &partitionName=QCString())
void distributeMemberGroupDocumentation()
An abstract interface of a namespace symbol.
Class representing a list of output generators that are written to in parallel.
This is an alternative implementation of QCString.
Text streaming class that buffers data.
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
#define ABSTRACT_BASE_CLASS(cls)
Macro to implement rule of 5 for an abstract base class.
std::unordered_map< std::string, ModuleDef * > ModuleMap
std::vector< ImportInfo > ImportInfoList
ModuleDef * toModuleDef(Definition *d)
std::unordered_map< std::string, ImportInfoList > ImportInfoMap
ImportInfo(ModuleDef *def, const QCString &name, int l, const QCString &pName, bool isExported=false)
QCString qualifiedName() const