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 102 of file index.cpp.

102 : p(std::make_unique<Private>())
103{
104}
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 2875 of file index.cpp.

2876{
2877 bool hideFriendCompounds = Config_getBool(HIDE_FRIEND_COMPOUNDS);
2878 const ClassDef *cd=nullptr;
2879
2880 if (md->isLinkableInProject() &&
2881 (cd=md->getClassDef()) &&
2882 cd->isLinkableInProject() &&
2884 {
2885 QCString n = md->name();
2886 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
2887 if (!letter.empty())
2888 {
2889 letter = convertUTF8ToLower(letter);
2890 bool isFriendToHide = hideFriendCompounds &&
2891 (md->typeString()=="friend class" ||
2892 md->typeString()=="friend struct" ||
2893 md->typeString()=="friend union");
2894 if (!(md->isFriend() && isFriendToHide) &&
2895 (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
2896 )
2897 {
2899 }
2900 if (md->isFunction() || md->isSlot() || md->isSignal())
2901 {
2903 }
2904 else if (md->isVariable())
2905 {
2907 }
2908 else if (md->isTypedef())
2909 {
2911 }
2912 else if (md->isEnumerate())
2913 {
2915 }
2916 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
2917 {
2919 }
2920 else if (md->isProperty())
2921 {
2923 }
2924 else if (md->isEvent())
2925 {
2927 }
2928 else if (md->isRelated() || md->isForeign() ||
2929 (md->isFriend() && !isFriendToHide))
2930 {
2932 }
2933 }
2934 }
2935}
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:195
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:552
#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:3230

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 2987 of file index.cpp.

2988{
2989 const FileDef *fd=md->getFileDef();
2990 if (fd && fd->isLinkableInProject() && md->isLinkableInProject())
2991 {
2992 QCString n = md->name();
2993 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
2994 if (!letter.empty())
2995 {
2996 letter = convertUTF8ToLower(letter);
2997 if (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
2998 {
3000 }
3001 if (md->isFunction())
3002 {
3004 }
3005 else if (md->isVariable())
3006 {
3008 }
3009 else if (md->isTypedef())
3010 {
3012 }
3013 else if (md->isSequence())
3014 {
3016 }
3017 else if (md->isDictionary())
3018 {
3020 }
3021 else if (md->isEnumerate())
3022 {
3024 }
3025 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
3026 {
3028 }
3029 else if (md->isDefine())
3030 {
3032 }
3033 }
3034 }
3035}
void incrementDocumentedFileMembers(int i, const std::string &letter, const MemberDef *md)
Definition index.cpp:201
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 3039 of file index.cpp.

3040{
3041 const ModuleDef *mod = md->getModuleDef();
3042 if (mod && mod->isPrimaryInterface() && mod->isLinkableInProject() && md->isLinkableInProject())
3043 {
3044 QCString n = md->name();
3045 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
3046 if (!letter.empty())
3047 {
3048 letter = convertUTF8ToLower(letter);
3049 if (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
3050 {
3052 }
3053 if (md->isFunction())
3054 {
3056 }
3057 else if (md->isVariable())
3058 {
3060 }
3061 else if (md->isTypedef())
3062 {
3064 }
3065 else if (md->isEnumerate())
3066 {
3068 }
3069 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
3070 {
3072 }
3073 }
3074 }
3075}
void incrementDocumentedModuleMembers(int i, const std::string &letter, const MemberDef *md)
Definition index.cpp:213
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 2939 of file index.cpp.

2940{
2941 const NamespaceDef *nd=md->getNamespaceDef();
2942 if (nd && nd->isLinkableInProject() && md->isLinkableInProject())
2943 {
2944 QCString n = md->name();
2945 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
2946 if (!letter.empty())
2947 {
2948 letter = convertUTF8ToLower(letter);
2949 if (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
2950 {
2952 }
2953 if (md->isFunction())
2954 {
2956 }
2957 else if (md->isVariable())
2958 {
2960 }
2961 else if (md->isTypedef())
2962 {
2964 }
2965 else if (md->isSequence())
2966 {
2968 }
2969 else if (md->isDictionary())
2970 {
2972 }
2973 else if (md->isEnumerate())
2974 {
2976 }
2977 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
2978 {
2980 }
2981 }
2982 }
2983}
void incrementDocumentedNamespaceMembers(int i, const std::string &letter, const MemberDef *md)
Definition index.cpp:207
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 264 of file index.cpp.

265{
266 for (int j=0;j<ClassMemberHighlight::Total;j++)
267 {
269 }
270 for (int j=0;j<NamespaceMemberHighlight::Total;j++)
271 {
273 }
274 for (int j=0;j<FileMemberHighlight::Total;j++)
275 {
277 }
278 for (int j=0;j<ModuleMemberHighlight::Total;j++)
279 {
281 }
282
283 bool sliceOpt = Config_getBool(OPTIMIZE_OUTPUT_SLICE);
284 p->annotatedClasses = countAnnotatedClasses(&p->annotatedClassesPrinted, ClassDef::Class); // "classes" + "annotated"
285 p->hierarchyClasses = countClassHierarchy(ClassDef::Class); // "hierarchy"
286 // "interfaces" + "annotated"
287 p->annotatedInterfaces = sliceOpt ? countAnnotatedClasses(&p->annotatedInterfacesPrinted, ClassDef::Interface) : 0;
288 // "interfacehierarchy"
289 p->hierarchyInterfaces = sliceOpt ? countClassHierarchy(ClassDef::Interface) : 0;
290 // "structs" + "annotated"
291 p->annotatedStructs = sliceOpt ? countAnnotatedClasses(&p->annotatedStructsPrinted, ClassDef::Struct) : 0;
292 // "exceptions" + "annotated"
293 p->annotatedExceptions = sliceOpt ? countAnnotatedClasses(&p->annotatedExceptionsPrinted, ClassDef::Exception) : 0;
294 // "exceptionhierarchy"
295 p->hierarchyExceptions = sliceOpt ? countClassHierarchy(ClassDef::Exception) : 0;
296 countFiles(p->documentedFiles,p->documentedFiles); // "files"
297 countRelatedPages(p->documentedPages,p->indexedPages); // "pages"
298 p->documentedGroups = countGroups(); // "topics"
299 p->documentedNamespaces = countNamespaces(); // "namespaces"
300 p->documentedConcepts = countConcepts(); // "concepts"
301 p->documentedDirs = countDirs(); // "dirs"
302 p->documentedModules = ModuleManager::instance().numDocumentedModules();
303 // "globals"
304 // "namespacemembers"
305 // "functions"
306}
@ Interface
Definition classdef.h:112
@ Exception
Definition classdef.h:115
void resetDocumentedNamespaceMembers(int i)
Definition index.cpp:170
void resetDocumentedModuleMembers(int i)
Definition index.cpp:176
void resetDocumentedClassMembers(int i)
Definition index.cpp:158
void resetDocumentedFileMembers(int i)
Definition index.cpp:164
int numDocumentedModules() const
static ModuleManager & instance()
static int countConcepts()
Definition index.cpp:1739
static int countClassHierarchy(ClassDef::CompoundType ct)
Definition index.cpp:1148
static void countRelatedPages(int &docPages, int &indexPages)
Definition index.cpp:3952
static int countGroups()
Definition index.cpp:4084
static int countDirs()
Definition index.cpp:4100
static void countFiles(int &htmlFiles, int &files)
Definition index.cpp:1475
static int countAnnotatedClasses(int *cp, ClassDef::CompoundType ct)
Definition index.cpp:2155
static int countNamespaces()
Definition index.cpp:1728

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 195 of file index.cpp.

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

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 201 of file index.cpp.

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

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 213 of file index.cpp.

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

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 207 of file index.cpp.

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

References MemberIndexMap_add(), and p.

Referenced by addNamespaceMemberNameToIndex().

◆ instance()

◆ isClassIndexLetterUsed()

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

Definition at line 138 of file index.cpp.

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

References p.

◆ isFileIndexLetterUsed()

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

Definition at line 143 of file index.cpp.

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

References p.

◆ isModuleIndexLetterUsed()

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

Definition at line 153 of file index.cpp.

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

References p.

◆ isNamespaceIndexLetterUsed()

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

Definition at line 148 of file index.cpp.

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

References p.

◆ numAnnotatedClasses()

int Index::numAnnotatedClasses ( ) const

Definition at line 114 of file index.cpp.

114{ return p->annotatedClasses; }

References p.

◆ numAnnotatedClassesPrinted()

int Index::numAnnotatedClassesPrinted ( ) const

Definition at line 115 of file index.cpp.

115{ return p->annotatedClassesPrinted; }

References p.

◆ numAnnotatedExceptions()

int Index::numAnnotatedExceptions ( ) const

Definition at line 122 of file index.cpp.

122{ return p->annotatedExceptions; }

References p.

◆ numAnnotatedExceptionsPrinted()

int Index::numAnnotatedExceptionsPrinted ( ) const

Definition at line 123 of file index.cpp.

123{ return p->annotatedExceptionsPrinted; }

References p.

◆ numAnnotatedInterfaces()

int Index::numAnnotatedInterfaces ( ) const

Definition at line 117 of file index.cpp.

117{ return p->annotatedInterfaces; }

References p.

◆ numAnnotatedInterfacesPrinted()

int Index::numAnnotatedInterfacesPrinted ( ) const

Definition at line 118 of file index.cpp.

118{ return p->annotatedInterfacesPrinted; }

References p.

◆ numAnnotatedStructs()

int Index::numAnnotatedStructs ( ) const

Definition at line 120 of file index.cpp.

120{ return p->annotatedStructs; }

References p.

◆ numAnnotatedStructsPrinted()

int Index::numAnnotatedStructsPrinted ( ) const

Definition at line 121 of file index.cpp.

121{ return p->annotatedStructsPrinted; }

References p.

◆ numDocumentedClassMembers()

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

Definition at line 133 of file index.cpp.

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

References p.

◆ numDocumentedConcepts()

int Index::numDocumentedConcepts ( ) const

Definition at line 127 of file index.cpp.

127{ return p->documentedConcepts; }

References p.

◆ numDocumentedDirs()

int Index::numDocumentedDirs ( ) const

Definition at line 132 of file index.cpp.

132{ return p->documentedDirs; }

References p.

◆ numDocumentedFileMembers()

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

Definition at line 134 of file index.cpp.

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

References p.

◆ numDocumentedFiles()

int Index::numDocumentedFiles ( ) const

Definition at line 130 of file index.cpp.

130{ return p->documentedFiles; }

References p.

◆ numDocumentedGroups()

int Index::numDocumentedGroups ( ) const

Definition at line 125 of file index.cpp.

125{ return p->documentedGroups; }

References p.

◆ numDocumentedModuleMembers()

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

Definition at line 136 of file index.cpp.

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

References p.

◆ numDocumentedModules()

int Index::numDocumentedModules ( ) const

Definition at line 128 of file index.cpp.

128{ return p->documentedModules; }

References p.

◆ numDocumentedNamespaceMembers()

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

Definition at line 135 of file index.cpp.

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

References p.

◆ numDocumentedNamespaces()

int Index::numDocumentedNamespaces ( ) const

Definition at line 126 of file index.cpp.

126{ return p->documentedNamespaces; }

References p.

◆ numDocumentedPages()

int Index::numDocumentedPages ( ) const

Definition at line 131 of file index.cpp.

131{ return p->documentedPages; }

References p.

◆ numHierarchyClasses()

int Index::numHierarchyClasses ( ) const

Definition at line 116 of file index.cpp.

116{ return p->hierarchyClasses; }

References p.

◆ numHierarchyExceptions()

int Index::numHierarchyExceptions ( ) const

Definition at line 124 of file index.cpp.

124{ return p->hierarchyExceptions; }

References p.

◆ numHierarchyInterfaces()

int Index::numHierarchyInterfaces ( ) const

Definition at line 119 of file index.cpp.

119{ return p->hierarchyInterfaces; }

References p.

◆ numIndexedPages()

int Index::numIndexedPages ( ) const

Definition at line 129 of file index.cpp.

129{ return p->indexedPages; }

References p.

◆ resetDocumentedClassMembers()

void Index::resetDocumentedClassMembers ( int i)
private

Definition at line 158 of file index.cpp.

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

References p.

Referenced by countDataStructures().

◆ resetDocumentedFileMembers()

void Index::resetDocumentedFileMembers ( int i)
private

Definition at line 164 of file index.cpp.

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

References p.

Referenced by countDataStructures().

◆ resetDocumentedModuleMembers()

void Index::resetDocumentedModuleMembers ( int i)
private

Definition at line 176 of file index.cpp.

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

References p.

Referenced by countDataStructures().

◆ resetDocumentedNamespaceMembers()

void Index::resetDocumentedNamespaceMembers ( int i)
private

Definition at line 170 of file index.cpp.

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

References p.

Referenced by countDataStructures().

◆ sortMemberIndexLists()

void Index::sortMemberIndexLists ( )

Definition at line 220 of file index.cpp.

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