22#include <unordered_set>
60inline constexpr uint32_t
operator&(
IncludeKind a, uint32_t mask) {
return static_cast<uint32_t
>(a) & mask; }
165 virtual
void addSourceRef(
int line,const Definition *d,const MemberDef *md) = 0;
212std::unique_ptr<FileDef>
createFileDef(const QCString &p,const QCString &n,const QCString &ref=QCString(),const QCString &dn=QCString());
218const FileDef *
toFileDef(const Definition *d);
222class FileList : public std::vector<const FileDef *>
230 std::vector<const FileDef *> files;
Clang parser object for a single translation unit, which consists of a source file and the directly o...
A abstract class representing of a compound symbol.
The common base class of all entity definitions found in the sources.
virtual const QCString & name() const =0
A model of a directory symbol.
A model of a file symbol.
virtual void addUsingDeclaration(const Definition *d)=0
virtual void removeMember(MemberDef *md)=0
virtual void setModuleDef(ModuleDef *mod)=0
virtual const NamespaceLinkedRefMap & getNamespaces() const =0
virtual void insertClass(ClassDef *cd)=0
virtual void findSectionsInDocumentation()=0
virtual void writeDocumentation(OutputList &ol)=0
virtual QCString includeName() const =0
virtual const MemberGroupList & getMemberGroups() const =0
virtual void countMembers()=0
virtual void computeAnchors()=0
virtual void insertConcept(ConceptDef *cd)=0
virtual void addIncludedUsingDirectives(FileDefSet &visitedFiles)=0
virtual void addIncludedByDependency(const FileDef *fd, const QCString &incName, IncludeKind kind)=0
virtual QCString fileVersion() const =0
virtual QCString getVersion() const =0
virtual const Definition * getSourceDefinition(int lineNr) const =0
virtual bool hasDetailedDescription() const =0
virtual bool hasIncludedByGraph() const =0
virtual void writeTagFile(TextStream &t)=0
virtual void overrideIncludeGraph(bool e)=0
virtual const MemberDef * getSourceMember(int lineNr) const =0
virtual ModuleDef * getModuleDef() const =0
virtual QCString getPath() const =0
virtual void writeSourceHeader(OutputList &ol)=0
virtual bool generateSourceFile() const =0
virtual void addSourceRef(int line, const Definition *d, const MemberDef *md)=0
virtual bool isIncluded(const QCString &name) const =0
virtual const LinkedRefMap< NamespaceDef > & getUsedNamespaces() const =0
virtual const LinkedRefMap< const Definition > & getUsedDefinitions() const =0
virtual int numDocMembers() const =0
virtual void sortMemberLists()=0
virtual QCString absFilePath() const =0
virtual void setDirDef(DirDef *dd)=0
virtual const ClassLinkedRefMap & getClasses() const =0
virtual QCString includedByDependencyGraphFileName() const =0
virtual void addListReferences()=0
virtual bool isSource() const =0
virtual QCString fileName() const =0
virtual bool hasIncludeGraph() const =0
virtual QCString title() const =0
virtual void parseSource(ClangTUParser *clangParser)=0
virtual const IncludeInfoList & includeFileList() const =0
virtual void getAllIncludeFilesRecursively(StringVector &incFiles) const =0
virtual void setDiskName(const QCString &name)=0
virtual int numDecMembers() const =0
virtual void writeSourceFooter(OutputList &ol)=0
virtual void writeSourceBody(OutputList &ol, ClangTUParser *clangParser)=0
virtual void writeMemberPages(OutputList &ol)=0
virtual bool subGrouping() const =0
virtual const MemberLists & getMemberLists() const =0
virtual void addUsingDirective(NamespaceDef *nd)=0
virtual MemberList * getMemberList(MemberListType lt) const =0
virtual void addMembersToMemberGroup()=0
virtual void overrideIncludedByGraph(bool e)=0
virtual bool isDocumentationFile() const =0
virtual const QCString & docName() const =0
virtual void distributeMemberGroupDocumentation()=0
virtual QCString includeDependencyGraphFileName() const =0
virtual const ConceptLinkedRefMap & getConcepts() const =0
virtual const IncludeInfoList & includedByFileList() const =0
virtual void combineUsingRelations()=0
virtual DirDef * getDirDef() const =0
virtual void insertMember(MemberDef *md)=0
virtual void addIncludeDependency(const FileDef *fd, const QCString &incName, IncludeKind kind)=0
virtual void insertNamespace(NamespaceDef *nd)=0
A model of a class/file/namespace member symbol.
A list of MemberDef objects as shown in documentation sections.
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.
#define ABSTRACT_BASE_CLASS(cls)
Macro to implement rule of 5 for an abstract base class.
std::vector< std::string > StringVector
constexpr uint32_t IncludeKind_ObjCMask
constexpr uint32_t operator|(IncludeKind a, IncludeKind b)
QCString includeClose(SrcLangExt lang, IncludeKind kind)
QCString includeStatement(SrcLangExt lang, IncludeKind kind)
bool compareFileDefs(const FileDef *fd1, const FileDef *fd2)
FileDef * toFileDef(Definition *d)
std::unique_ptr< FileDef > createFileDef(const QCString &p, const QCString &n, const QCString &ref=QCString(), const QCString &dn=QCString())
constexpr uint32_t operator&(IncludeKind a, uint32_t mask)
constexpr uint32_t IncludeKind_ImportMask
QCString includeOpen(SrcLangExt lang, IncludeKind kind)
constexpr uint32_t IncludeKind_SystemMask
constexpr uint32_t IncludeKind_LocalMask
std::unordered_set< const FileDef * > FileDefSet
FilesInDir(const QCString &p)
IncludeInfo(const FileDef *fd, const QCString &in, IncludeKind k)
SrcLangExt
Language as given by extension.