Doxygen
Loading...
Searching...
No Matches
Index Class Reference

#include <src/index.h>

Classes

struct  Private
 

Public Types

using MemberIndexList = std::vector<const MemberDef *>
 
using MemberIndexMap = std::map<std::string,MemberIndexList>
 

Public Member Functions

void countDataStructures ()
 
void addClassMemberNameToIndex (const MemberDef *md)
 
void addFileMemberNameToIndex (const MemberDef *md)
 
void addNamespaceMemberNameToIndex (const MemberDef *md)
 
void addModuleMemberNameToIndex (const MemberDef *md)
 
void sortMemberIndexLists ()
 
int numAnnotatedClasses () const
 
int numAnnotatedClassesPrinted () const
 
int numHierarchyClasses () const
 
int numAnnotatedInterfaces () const
 
int numAnnotatedInterfacesPrinted () const
 
int numHierarchyInterfaces () const
 
int numAnnotatedStructs () const
 
int numAnnotatedStructsPrinted () const
 
int numAnnotatedExceptions () const
 
int numAnnotatedExceptionsPrinted () const
 
int numHierarchyExceptions () const
 
int numDocumentedGroups () const
 
int numDocumentedNamespaces () const
 
int numDocumentedConcepts () const
 
int numDocumentedModules () const
 
int numIndexedPages () const
 
int numDocumentedFiles () const
 
int numDocumentedPages () const
 
int numDocumentedDirs () const
 
int numDocumentedClassMembers (ClassMemberHighlight::Enum e) const
 
int numDocumentedFileMembers (FileMemberHighlight::Enum e) const
 
int numDocumentedNamespaceMembers (NamespaceMemberHighlight::Enum e) const
 
int numDocumentedModuleMembers (ModuleMemberHighlight::Enum e) const
 
MemberIndexMap isClassIndexLetterUsed (ClassMemberHighlight::Enum e) const
 
MemberIndexMap isFileIndexLetterUsed (FileMemberHighlight::Enum e) const
 
MemberIndexMap isNamespaceIndexLetterUsed (NamespaceMemberHighlight::Enum e) const
 
MemberIndexMap isModuleIndexLetterUsed (ModuleMemberHighlight::Enum e) const
 

Static Public Member Functions

static Indexinstance ()
 

Private Member Functions

void resetDocumentedClassMembers (int i)
 
void resetDocumentedFileMembers (int i)
 
void resetDocumentedNamespaceMembers (int i)
 
void resetDocumentedModuleMembers (int i)
 
void incrementDocumentedClassMembers (int i, const std::string &letter, const MemberDef *md)
 
void incrementDocumentedFileMembers (int i, const std::string &letter, const MemberDef *md)
 
void incrementDocumentedNamespaceMembers (int i, const std::string &letter, const MemberDef *md)
 
void incrementDocumentedModuleMembers (int i, const std::string &letter, const MemberDef *md)
 
 Index ()
 
 ~Index ()
 

Private Attributes

std::unique_ptr< Privatep
 

Detailed Description

Definition at line 164 of file index.h.

Member Typedef Documentation

◆ MemberIndexList

using Index::MemberIndexList = std::vector<const MemberDef *>

Definition at line 167 of file index.h.

◆ MemberIndexMap

using Index::MemberIndexMap = std::map<std::string,MemberIndexList>

Definition at line 168 of file index.h.

Constructor & Destructor Documentation

◆ Index()

Index::Index ( )
private

Definition at line 100 of file index.cpp.

100 : p(std::make_unique<Private>())
101{
102}
std::unique_ptr< Private > p
Definition index.h:221

References p.

Referenced by instance(), and ~Index().

◆ ~Index()

Index::~Index ( )
privatedefault

References Index().

Member Function Documentation

◆ addClassMemberNameToIndex()

void Index::addClassMemberNameToIndex ( const MemberDef * md)

Definition at line 2836 of file index.cpp.

2837{
2838 bool hideFriendCompounds = Config_getBool(HIDE_FRIEND_COMPOUNDS);
2839 const ClassDef *cd=nullptr;
2840
2841 if (md->isLinkableInProject() &&
2842 (cd=md->getClassDef()) &&
2843 cd->isLinkableInProject() &&
2845 {
2846 QCString n = md->name();
2847 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
2848 if (!letter.empty())
2849 {
2850 letter = convertUTF8ToLower(letter);
2851 bool isFriendToHide = hideFriendCompounds &&
2852 (QCString(md->typeString())=="friend class" ||
2853 QCString(md->typeString())=="friend struct" ||
2854 QCString(md->typeString())=="friend union");
2855 if (!(md->isFriend() && isFriendToHide) &&
2856 (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
2857 )
2858 {
2860 }
2861 if (md->isFunction() || md->isSlot() || md->isSignal())
2862 {
2864 }
2865 else if (md->isVariable())
2866 {
2868 }
2869 else if (md->isTypedef())
2870 {
2872 }
2873 else if (md->isEnumerate())
2874 {
2876 }
2877 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
2878 {
2880 }
2881 else if (md->isProperty())
2882 {
2884 }
2885 else if (md->isEvent())
2886 {
2888 }
2889 else if (md->isRelated() || md->isForeign() ||
2890 (md->isFriend() && !isFriendToHide))
2891 {
2893 }
2894 }
2895 }
2896}
virtual bool isImplicitTemplateInstance() const =0
virtual bool isLinkableInProject() const =0
virtual const QCString & name() const =0
void incrementDocumentedClassMembers(int i, const std::string &letter, const MemberDef *md)
Definition index.cpp:193
virtual QCString typeString() const =0
virtual bool isSignal() const =0
virtual bool isFriend() const =0
virtual bool isForeign() const =0
virtual bool isRelated() const =0
virtual const ClassDef * getClassDef() const =0
virtual bool isTypedef() const =0
virtual bool isSlot() const =0
virtual bool isEvent() const =0
virtual bool isFunction() const =0
virtual bool isEnumerate() const =0
virtual bool isVariable() const =0
virtual bool isStrong() const =0
virtual const MemberDef * getEnumScope() const =0
virtual bool isEnumValue() const =0
virtual bool isProperty() const =0
const std::string & str() const
Definition qcstring.h:537
#define Config_getBool(name)
Definition config.h:33
std::string convertUTF8ToLower(const std::string &input)
Converts the input string into a lower case version, also taking into account non-ASCII characters th...
Definition utf8.cpp:187
std::string getUTF8CharAt(const std::string &input, size_t pos)
Returns the UTF8 character found at byte position pos in the input string.
Definition utf8.cpp:127
int getPrefixIndex(const QCString &name)
Definition util.cpp:3590

References ClassMemberHighlight::All, Config_getBool, convertUTF8ToLower(), ClassMemberHighlight::Enums, ClassMemberHighlight::EnumValues, ClassMemberHighlight::Events, ClassMemberHighlight::Functions, MemberDef::getClassDef(), MemberDef::getEnumScope(), getPrefixIndex(), getUTF8CharAt(), incrementDocumentedClassMembers(), MemberDef::isEnumerate(), MemberDef::isEnumValue(), MemberDef::isEvent(), MemberDef::isForeign(), MemberDef::isFriend(), MemberDef::isFunction(), ClassDef::isImplicitTemplateInstance(), Definition::isLinkableInProject(), MemberDef::isProperty(), MemberDef::isRelated(), MemberDef::isSignal(), MemberDef::isSlot(), MemberDef::isStrong(), MemberDef::isTypedef(), MemberDef::isVariable(), Definition::name(), ClassMemberHighlight::Properties, ClassMemberHighlight::Related, QCString::str(), ClassMemberHighlight::Typedefs, MemberDef::typeString(), and ClassMemberHighlight::Variables.

◆ addFileMemberNameToIndex()

void Index::addFileMemberNameToIndex ( const MemberDef * md)

Definition at line 2948 of file index.cpp.

2949{
2950 const FileDef *fd=md->getFileDef();
2951 if (fd && fd->isLinkableInProject() && md->isLinkableInProject())
2952 {
2953 QCString n = md->name();
2954 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
2955 if (!letter.empty())
2956 {
2957 letter = convertUTF8ToLower(letter);
2958 if (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
2959 {
2961 }
2962 if (md->isFunction())
2963 {
2965 }
2966 else if (md->isVariable())
2967 {
2969 }
2970 else if (md->isTypedef())
2971 {
2973 }
2974 else if (md->isSequence())
2975 {
2977 }
2978 else if (md->isDictionary())
2979 {
2981 }
2982 else if (md->isEnumerate())
2983 {
2985 }
2986 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
2987 {
2989 }
2990 else if (md->isDefine())
2991 {
2993 }
2994 }
2995 }
2996}
void incrementDocumentedFileMembers(int i, const std::string &letter, const MemberDef *md)
Definition index.cpp:199
virtual bool isSequence() const =0
virtual const FileDef * getFileDef() const =0
virtual bool isDictionary() const =0
virtual bool isDefine() const =0

References FileMemberHighlight::All, convertUTF8ToLower(), FileMemberHighlight::Defines, FileMemberHighlight::Dictionaries, FileMemberHighlight::Enums, FileMemberHighlight::EnumValues, FileMemberHighlight::Functions, MemberDef::getEnumScope(), MemberDef::getFileDef(), getPrefixIndex(), getUTF8CharAt(), incrementDocumentedFileMembers(), MemberDef::isDefine(), MemberDef::isDictionary(), MemberDef::isEnumerate(), MemberDef::isEnumValue(), MemberDef::isFunction(), Definition::isLinkableInProject(), MemberDef::isSequence(), MemberDef::isStrong(), MemberDef::isTypedef(), MemberDef::isVariable(), Definition::name(), FileMemberHighlight::Sequences, QCString::str(), FileMemberHighlight::Typedefs, and FileMemberHighlight::Variables.

◆ addModuleMemberNameToIndex()

void Index::addModuleMemberNameToIndex ( const MemberDef * md)

Definition at line 3000 of file index.cpp.

3001{
3002 const ModuleDef *mod = md->getModuleDef();
3003 if (mod && mod->isPrimaryInterface() && mod->isLinkableInProject() && md->isLinkableInProject())
3004 {
3005 QCString n = md->name();
3006 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
3007 if (!letter.empty())
3008 {
3009 letter = convertUTF8ToLower(letter);
3010 if (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
3011 {
3013 }
3014 if (md->isFunction())
3015 {
3017 }
3018 else if (md->isVariable())
3019 {
3021 }
3022 else if (md->isTypedef())
3023 {
3025 }
3026 else if (md->isEnumerate())
3027 {
3029 }
3030 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
3031 {
3033 }
3034 }
3035 }
3036}
void incrementDocumentedModuleMembers(int i, const std::string &letter, const MemberDef *md)
Definition index.cpp:211
virtual const ModuleDef * getModuleDef() const =0
virtual bool isPrimaryInterface() const =0

References ModuleMemberHighlight::All, convertUTF8ToLower(), ModuleMemberHighlight::Enums, ModuleMemberHighlight::EnumValues, ModuleMemberHighlight::Functions, MemberDef::getEnumScope(), MemberDef::getModuleDef(), getPrefixIndex(), getUTF8CharAt(), incrementDocumentedModuleMembers(), MemberDef::isEnumerate(), MemberDef::isEnumValue(), MemberDef::isFunction(), Definition::isLinkableInProject(), ModuleDef::isPrimaryInterface(), MemberDef::isStrong(), MemberDef::isTypedef(), MemberDef::isVariable(), Definition::name(), QCString::str(), ModuleMemberHighlight::Typedefs, and ModuleMemberHighlight::Variables.

◆ addNamespaceMemberNameToIndex()

void Index::addNamespaceMemberNameToIndex ( const MemberDef * md)

Definition at line 2900 of file index.cpp.

2901{
2902 const NamespaceDef *nd=md->getNamespaceDef();
2903 if (nd && nd->isLinkableInProject() && md->isLinkableInProject())
2904 {
2905 QCString n = md->name();
2906 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
2907 if (!letter.empty())
2908 {
2909 letter = convertUTF8ToLower(letter);
2910 if (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
2911 {
2913 }
2914 if (md->isFunction())
2915 {
2917 }
2918 else if (md->isVariable())
2919 {
2921 }
2922 else if (md->isTypedef())
2923 {
2925 }
2926 else if (md->isSequence())
2927 {
2929 }
2930 else if (md->isDictionary())
2931 {
2933 }
2934 else if (md->isEnumerate())
2935 {
2937 }
2938 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
2939 {
2941 }
2942 }
2943 }
2944}
void incrementDocumentedNamespaceMembers(int i, const std::string &letter, const MemberDef *md)
Definition index.cpp:205
virtual const NamespaceDef * getNamespaceDef() const =0

References NamespaceMemberHighlight::All, convertUTF8ToLower(), NamespaceMemberHighlight::Dictionaries, NamespaceMemberHighlight::Enums, NamespaceMemberHighlight::EnumValues, NamespaceMemberHighlight::Functions, MemberDef::getEnumScope(), MemberDef::getNamespaceDef(), getPrefixIndex(), getUTF8CharAt(), incrementDocumentedNamespaceMembers(), MemberDef::isDictionary(), MemberDef::isEnumerate(), MemberDef::isEnumValue(), MemberDef::isFunction(), Definition::isLinkableInProject(), MemberDef::isSequence(), MemberDef::isStrong(), MemberDef::isTypedef(), MemberDef::isVariable(), Definition::name(), NamespaceMemberHighlight::Sequences, QCString::str(), NamespaceMemberHighlight::Typedefs, and NamespaceMemberHighlight::Variables.

◆ countDataStructures()

void Index::countDataStructures ( )

Definition at line 262 of file index.cpp.

263{
264 for (int j=0;j<ClassMemberHighlight::Total;j++)
265 {
267 }
268 for (int j=0;j<NamespaceMemberHighlight::Total;j++)
269 {
271 }
272 for (int j=0;j<FileMemberHighlight::Total;j++)
273 {
275 }
276 for (int j=0;j<ModuleMemberHighlight::Total;j++)
277 {
279 }
280
281 bool sliceOpt = Config_getBool(OPTIMIZE_OUTPUT_SLICE);
282 p->annotatedClasses = countAnnotatedClasses(&p->annotatedClassesPrinted, ClassDef::Class); // "classes" + "annotated"
283 p->hierarchyClasses = countClassHierarchy(ClassDef::Class); // "hierarchy"
284 // "interfaces" + "annotated"
285 p->annotatedInterfaces = sliceOpt ? countAnnotatedClasses(&p->annotatedInterfacesPrinted, ClassDef::Interface) : 0;
286 // "interfacehierarchy"
287 p->hierarchyInterfaces = sliceOpt ? countClassHierarchy(ClassDef::Interface) : 0;
288 // "structs" + "annotated"
289 p->annotatedStructs = sliceOpt ? countAnnotatedClasses(&p->annotatedStructsPrinted, ClassDef::Struct) : 0;
290 // "exceptions" + "annotated"
291 p->annotatedExceptions = sliceOpt ? countAnnotatedClasses(&p->annotatedExceptionsPrinted, ClassDef::Exception) : 0;
292 // "exceptionhierarchy"
293 p->hierarchyExceptions = sliceOpt ? countClassHierarchy(ClassDef::Exception) : 0;
294 countFiles(p->documentedFiles,p->documentedFiles); // "files"
295 countRelatedPages(p->documentedPages,p->indexedPages); // "pages"
296 p->documentedGroups = countGroups(); // "topics"
297 p->documentedNamespaces = countNamespaces(); // "namespaces"
298 p->documentedConcepts = countConcepts(); // "concepts"
299 p->documentedDirs = countDirs(); // "dirs"
300 p->documentedModules = ModuleManager::instance().numDocumentedModules();
301 // "globals"
302 // "namespacemembers"
303 // "functions"
304}
@ Interface
Definition classdef.h:112
@ Exception
Definition classdef.h:115
void resetDocumentedNamespaceMembers(int i)
Definition index.cpp:168
void resetDocumentedModuleMembers(int i)
Definition index.cpp:174
void resetDocumentedClassMembers(int i)
Definition index.cpp:156
void resetDocumentedFileMembers(int i)
Definition index.cpp:162
int numDocumentedModules() const
static ModuleManager & instance()
static int countConcepts()
Definition index.cpp:1673
static int countClassHierarchy(ClassDef::CompoundType ct)
Definition index.cpp:1105
static void countRelatedPages(int &docPages, int &indexPages)
Definition index.cpp:3783
static int countGroups()
Definition index.cpp:3914
static int countDirs()
Definition index.cpp:3930
static void countFiles(int &htmlFiles, int &files)
Definition index.cpp:1432
static int countAnnotatedClasses(int *cp, ClassDef::CompoundType ct)
Definition index.cpp:2093
static int countNamespaces()
Definition index.cpp:1662

References ClassDef::Class, Config_getBool, countAnnotatedClasses(), countClassHierarchy(), countConcepts(), countDirs(), countFiles(), countGroups(), countNamespaces(), countRelatedPages(), ClassDef::Exception, ModuleManager::instance(), ClassDef::Interface, ModuleManager::numDocumentedModules(), p, resetDocumentedClassMembers(), resetDocumentedFileMembers(), resetDocumentedModuleMembers(), resetDocumentedNamespaceMembers(), ClassDef::Struct, ClassMemberHighlight::Total, FileMemberHighlight::Total, ModuleMemberHighlight::Total, and NamespaceMemberHighlight::Total.

Referenced by parseInput().

◆ incrementDocumentedClassMembers()

void Index::incrementDocumentedClassMembers ( int i,
const std::string & letter,
const MemberDef * md )
private

Definition at line 193 of file index.cpp.

194{
195 p->documentedClassMembers[i]++;
196 MemberIndexMap_add(p->classIndexLetterUsed[i],letter,md);
197}
static void MemberIndexMap_add(Index::MemberIndexMap &map, const std::string &letter, const MemberDef *md)
Definition index.cpp:180

References MemberIndexMap_add(), and p.

Referenced by addClassMemberNameToIndex().

◆ incrementDocumentedFileMembers()

void Index::incrementDocumentedFileMembers ( int i,
const std::string & letter,
const MemberDef * md )
private

Definition at line 199 of file index.cpp.

200{
201 p->documentedFileMembers[i]++;
202 MemberIndexMap_add(p->fileIndexLetterUsed[i],letter,md);
203}

References MemberIndexMap_add(), and p.

Referenced by addFileMemberNameToIndex().

◆ incrementDocumentedModuleMembers()

void Index::incrementDocumentedModuleMembers ( int i,
const std::string & letter,
const MemberDef * md )
private

Definition at line 211 of file index.cpp.

212{
213 p->documentedModuleMembers[i]++;
214 MemberIndexMap_add(p->moduleIndexLetterUsed[i],letter,md);
215}

References MemberIndexMap_add(), and p.

Referenced by addModuleMemberNameToIndex().

◆ incrementDocumentedNamespaceMembers()

void Index::incrementDocumentedNamespaceMembers ( int i,
const std::string & letter,
const MemberDef * md )
private

Definition at line 205 of file index.cpp.

206{
207 p->documentedNamespaceMembers[i]++;
208 MemberIndexMap_add(p->namespaceIndexLetterUsed[i],letter,md);
209}

References MemberIndexMap_add(), and p.

Referenced by addNamespaceMemberNameToIndex().

◆ instance()

◆ isClassIndexLetterUsed()

Index::MemberIndexMap Index::isClassIndexLetterUsed ( ClassMemberHighlight::Enum e) const

Definition at line 136 of file index.cpp.

137{
138 return p->classIndexLetterUsed[static_cast<int>(e)];
139}

References p.

Referenced by renderQuickLinksAsJs().

◆ isFileIndexLetterUsed()

Index::MemberIndexMap Index::isFileIndexLetterUsed ( FileMemberHighlight::Enum e) const

Definition at line 141 of file index.cpp.

142{
143 return p->fileIndexLetterUsed[static_cast<int>(e)];
144}

References p.

Referenced by renderQuickLinksAsJs().

◆ isModuleIndexLetterUsed()

Index::MemberIndexMap Index::isModuleIndexLetterUsed ( ModuleMemberHighlight::Enum e) const

Definition at line 151 of file index.cpp.

152{
153 return p->moduleIndexLetterUsed[static_cast<int>(e)];
154}

References p.

Referenced by renderQuickLinksAsJs().

◆ isNamespaceIndexLetterUsed()

Index::MemberIndexMap Index::isNamespaceIndexLetterUsed ( NamespaceMemberHighlight::Enum e) const

Definition at line 146 of file index.cpp.

147{
148 return p->namespaceIndexLetterUsed[static_cast<int>(e)];
149}

References p.

Referenced by renderQuickLinksAsJs().

◆ numAnnotatedClasses()

int Index::numAnnotatedClasses ( ) const

Definition at line 112 of file index.cpp.

112{ return p->annotatedClasses; }

References p.

◆ numAnnotatedClassesPrinted()

int Index::numAnnotatedClassesPrinted ( ) const

Definition at line 113 of file index.cpp.

113{ return p->annotatedClassesPrinted; }

References p.

◆ numAnnotatedExceptions()

int Index::numAnnotatedExceptions ( ) const

Definition at line 120 of file index.cpp.

120{ return p->annotatedExceptions; }

References p.

◆ numAnnotatedExceptionsPrinted()

int Index::numAnnotatedExceptionsPrinted ( ) const

Definition at line 121 of file index.cpp.

121{ return p->annotatedExceptionsPrinted; }

References p.

◆ numAnnotatedInterfaces()

int Index::numAnnotatedInterfaces ( ) const

Definition at line 115 of file index.cpp.

115{ return p->annotatedInterfaces; }

References p.

◆ numAnnotatedInterfacesPrinted()

int Index::numAnnotatedInterfacesPrinted ( ) const

Definition at line 116 of file index.cpp.

116{ return p->annotatedInterfacesPrinted; }

References p.

◆ numAnnotatedStructs()

int Index::numAnnotatedStructs ( ) const

Definition at line 118 of file index.cpp.

118{ return p->annotatedStructs; }

References p.

◆ numAnnotatedStructsPrinted()

int Index::numAnnotatedStructsPrinted ( ) const

Definition at line 119 of file index.cpp.

119{ return p->annotatedStructsPrinted; }

References p.

◆ numDocumentedClassMembers()

int Index::numDocumentedClassMembers ( ClassMemberHighlight::Enum e) const

Definition at line 131 of file index.cpp.

131{ return p->documentedClassMembers[e]; }

References p.

Referenced by renderQuickLinksAsJs().

◆ numDocumentedConcepts()

int Index::numDocumentedConcepts ( ) const

Definition at line 125 of file index.cpp.

125{ return p->documentedConcepts; }

References p.

◆ numDocumentedDirs()

int Index::numDocumentedDirs ( ) const

Definition at line 130 of file index.cpp.

130{ return p->documentedDirs; }

References p.

◆ numDocumentedFileMembers()

int Index::numDocumentedFileMembers ( FileMemberHighlight::Enum e) const

Definition at line 132 of file index.cpp.

132{ return p->documentedFileMembers[e]; }

References p.

Referenced by renderQuickLinksAsJs().

◆ numDocumentedFiles()

int Index::numDocumentedFiles ( ) const

Definition at line 128 of file index.cpp.

128{ return p->documentedFiles; }

References p.

◆ numDocumentedGroups()

int Index::numDocumentedGroups ( ) const

Definition at line 123 of file index.cpp.

123{ return p->documentedGroups; }

References p.

◆ numDocumentedModuleMembers()

int Index::numDocumentedModuleMembers ( ModuleMemberHighlight::Enum e) const

Definition at line 134 of file index.cpp.

134{ return p->documentedModuleMembers[e]; }

References p.

Referenced by renderQuickLinksAsJs().

◆ numDocumentedModules()

int Index::numDocumentedModules ( ) const

Definition at line 126 of file index.cpp.

126{ return p->documentedModules; }

References p.

◆ numDocumentedNamespaceMembers()

int Index::numDocumentedNamespaceMembers ( NamespaceMemberHighlight::Enum e) const

Definition at line 133 of file index.cpp.

133{ return p->documentedNamespaceMembers[e]; }

References p.

Referenced by renderQuickLinksAsJs().

◆ numDocumentedNamespaces()

int Index::numDocumentedNamespaces ( ) const

Definition at line 124 of file index.cpp.

124{ return p->documentedNamespaces; }

References p.

◆ numDocumentedPages()

int Index::numDocumentedPages ( ) const

Definition at line 129 of file index.cpp.

129{ return p->documentedPages; }

References p.

◆ numHierarchyClasses()

int Index::numHierarchyClasses ( ) const

Definition at line 114 of file index.cpp.

114{ return p->hierarchyClasses; }

References p.

◆ numHierarchyExceptions()

int Index::numHierarchyExceptions ( ) const

Definition at line 122 of file index.cpp.

122{ return p->hierarchyExceptions; }

References p.

◆ numHierarchyInterfaces()

int Index::numHierarchyInterfaces ( ) const

Definition at line 117 of file index.cpp.

117{ return p->hierarchyInterfaces; }

References p.

◆ numIndexedPages()

int Index::numIndexedPages ( ) const

Definition at line 127 of file index.cpp.

127{ return p->indexedPages; }

References p.

◆ resetDocumentedClassMembers()

void Index::resetDocumentedClassMembers ( int i)
private

Definition at line 156 of file index.cpp.

157{
158 p->documentedClassMembers[i]=0;
159 p->classIndexLetterUsed[i].clear();
160}

References p.

Referenced by countDataStructures().

◆ resetDocumentedFileMembers()

void Index::resetDocumentedFileMembers ( int i)
private

Definition at line 162 of file index.cpp.

163{
164 p->documentedFileMembers[i]=0;
165 p->fileIndexLetterUsed[i].clear();
166}

References p.

Referenced by countDataStructures().

◆ resetDocumentedModuleMembers()

void Index::resetDocumentedModuleMembers ( int i)
private

Definition at line 174 of file index.cpp.

175{
176 p->documentedModuleMembers[i]=0;
177 p->moduleIndexLetterUsed[i].clear();
178}

References p.

Referenced by countDataStructures().

◆ resetDocumentedNamespaceMembers()

void Index::resetDocumentedNamespaceMembers ( int i)
private

Definition at line 168 of file index.cpp.

169{
170 p->documentedNamespaceMembers[i]=0;
171 p->namespaceIndexLetterUsed[i].clear();
172}

References p.

Referenced by countDataStructures().

◆ sortMemberIndexLists()

void Index::sortMemberIndexLists ( )

Definition at line 218 of file index.cpp.

219{
220 auto sortMemberIndexList = [](MemberIndexMap &map)
221 {
222 for (auto &[name,list] : map)
223 {
224 std::stable_sort(list.begin(),list.end(),
225 [](const MemberDef *md1,const MemberDef *md2)
226 {
227 // consider candidates A::a, B::b, B::a, A::b, A::A, B::B,
228 // want after sorting: A::A, A::a, B::a, B::B, A::b, B::b
229 // so we can later group entries
230 // - A: A
231 // - a: A, B
232 // - B: B
233 // - b: A, B
234 int result = qstricmp_sort(md1->name(),md2->name());
235 if (result==0) // next compare with full scope
236 {
237 result = qstricmp_sort(md1->qualifiedName(),md2->qualifiedName());
238 }
239 return result<0;
240 });
241 }
242 };
243
244 for (auto &idx : p->classIndexLetterUsed)
245 {
246 sortMemberIndexList(idx);
247 }
248 for (auto &idx : p->fileIndexLetterUsed)
249 {
250 sortMemberIndexList(idx);
251 }
252 for (auto &idx : p->namespaceIndexLetterUsed)
253 {
254 sortMemberIndexList(idx);
255 }
256 for (auto &idx : p->moduleIndexLetterUsed)
257 {
258 sortMemberIndexList(idx);
259 }
260}
std::map< std::string, MemberIndexList > MemberIndexMap
Definition index.h:168

Member Data Documentation

◆ p


The documentation for this class was generated from the following files: