37 using Vec = std::vector<T>;
71 static bool lessThan(
const MemberDef *md1,
const MemberDef *md2)
92 MemberDef *
find(
const QCString &name)
94 auto it = std::find_if(
m_members.begin(),
m_members.end(),[name=name](
auto &el) { return el->name()==name; });
125 const ClassDef *cd,
const NamespaceDef *nd,
const FileDef *fd,
const GroupDef *gd,
const ModuleDef *mod,
126 int indentLevel,
const ClassDef *inheritedFrom,
const QCString &inheritId)
const;
128 const ClassDef *cd,
const NamespaceDef *nd,
const FileDef *fd,
const GroupDef *gd,
const ModuleDef *mod,
129 const QCString &title,
const QCString &subtitle,
130 bool showEnumValues=
FALSE,
bool showInline=
FALSE,
131 const ClassDef *inheritedFrom=
nullptr,MemberListType lt=MemberListType::PubMethods(),
bool showSectionTitle=
true)
const;
133 const Definition *
container,
const QCString &title,
134 bool showEnumValues=
FALSE,
bool showInline=
FALSE)
const;
137 const QCString &scopeName,
const DefinitionMutable *
container,
int hierarchyLevel=0)
const;
138 void writeTagFile(TextStream &,
bool useQualifiedName=
false,
bool showNamespaceMembers=
true);
164class MemberLists :
public std::vector< std::unique_ptr<MemberList> >
172 auto it = std::find_if(
begin(),
end(),[<](
const auto &ml) {
return ml->listType()==lt; });
173 if (it!=
end())
return *it;
175 emplace_back(std::make_unique<MemberList>(lt,con));
A model of a group of symbols.
Container class representing a vector of objects with keys.
A model of a class/file/namespace member symbol.
bool needsSorting() const
int numDecEnumValues() const
int numDocMembers() const
int numDocEnumValues() const
void writeDeclarations(OutputList &ol, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, const ModuleDef *mod, const QCString &title, const QCString &subtitle, bool showEnumValues=FALSE, bool showInline=FALSE, const ClassDef *inheritedFrom=nullptr, MemberListType lt=MemberListType::PubMethods(), bool showSectionTitle=true) const
Writes the list of members to the output.
int countEnumValues(const MemberDef *md) const
MemberListContainer container() const
MemberList(MemberListType lt, MemberListContainer container)
int numDecMembers() const
MemberGroupRefList m_memberGroupRefList
void writePlainDeclarations(OutputList &ol, bool inGroup, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, const ModuleDef *mod, int indentLevel, const ClassDef *inheritedFrom, const QCString &inheritId) const
void setAnonymousEnumType()
int countInheritableMembers(const ClassDef *inheritedFrom) const
MemberListContainer m_container
void setNeedsSorting(bool b)
void writeSimpleDocumentation(OutputList &ol, const Definition *container) const
MemberListType listType() const
MemberListType m_listType
void writeDocumentation(OutputList &ol, const QCString &scopeName, const Definition *container, const QCString &title, bool showEnumValues=FALSE, bool showInline=FALSE) const
void addMemberGroup(MemberGroup *mg)
void writeDocumentationPage(OutputList &ol, const QCString &scopeName, const DefinitionMutable *container, int hierarchyLevel=0) const
const MemberGroupRefList & getMemberGroupList() const
const std::unique_ptr< MemberList > & get(MemberListType lt, MemberListContainer con)
A vector of MemberDef object.
const_reference operator[](size_type pos) const
Vec::difference_type difference_type
iterator erase(const_iterator pos)
reference operator[](size_type pos)
void remove(const MemberDef *md)
static bool lessThan(const MemberDef *md1, const MemberDef *md2)
const_reference back() const
const_iterator end() const noexcept
bool empty() const noexcept
Vec::allocator_type allocator_type
void push_back(T &&value)
const_iterator begin() const noexcept
iterator erase(iterator pos)
bool contains(const MemberDef *md) const
void inSort(MemberDef *md)
Vec::value_type value_type
size_type size() const noexcept
const_reference front() const
iterator begin() noexcept
void push_back(const T &value)
Vec::const_iterator const_iterator
MemberDef * find(const QCString &name)
Vec::const_reference const_reference
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
#define ONLY_DEFAULT_MOVABLE(cls)
Macro to help implementing the rule of 5 for a class that can be moved but not copied.
DirIterator begin(DirIterator it) noexcept
DirIterator end(const DirIterator &) noexcept
static void addListReferences()
static void writeTagFile()
static void findSectionsInDocumentation()
int genericCompareMembers(const MemberDef *c1, const MemberDef *c2)
This file contains a number of basic enums and types.