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

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

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

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

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

2944{
2945 const NamespaceDef *nd=md->getNamespaceDef();
2946 if (nd && nd->isLinkableInProject() && md->isLinkableInProject())
2947 {
2948 QCString n = md->name();
2949 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
2950 if (!letter.empty())
2951 {
2952 letter = convertUTF8ToLower(letter);
2953 if (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
2954 {
2956 }
2957 if (md->isFunction())
2958 {
2960 }
2961 else if (md->isVariable())
2962 {
2964 }
2965 else if (md->isTypedef())
2966 {
2968 }
2969 else if (md->isSequence())
2970 {
2972 }
2973 else if (md->isDictionary())
2974 {
2976 }
2977 else if (md->isEnumerate())
2978 {
2980 }
2981 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
2982 {
2984 }
2985 }
2986 }
2987}
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:1743
static int countClassHierarchy(ClassDef::CompoundType ct)
Definition index.cpp:1152
static void countRelatedPages(int &docPages, int &indexPages)
Definition index.cpp:3956
static int countGroups()
Definition index.cpp:4076
static int countDirs()
Definition index.cpp:4092
static void countFiles(int &htmlFiles, int &files)
Definition index.cpp:1479
static int countAnnotatedClasses(int *cp, ClassDef::CompoundType ct)
Definition index.cpp:2159
static int countNamespaces()
Definition index.cpp:1732

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: