60using ModuleMap = std::unordered_map<std::string,ModuleDef *>;
148 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)
ModuleLinkedMap & modules()
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 addRequirementReferences()
void findSectionsInDocumentation()
void collectExportedSymbols()
void resolvePartitionsRecursively(ModuleDef *intfMod, ModuleDef *mod)
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.
bool isEmpty() const
Returns TRUE iff the string is empty.
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