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(), and NON_COPYABLE.

Member Function Documentation

◆ addClassMemberNameToIndex()

void Index::addClassMemberNameToIndex ( const MemberDef * md)

Definition at line 2873 of file index.cpp.

2874{
2875 bool hideFriendCompounds = Config_getBool(HIDE_FRIEND_COMPOUNDS);
2876 const ClassDef *cd=nullptr;
2877
2878 if (md->isLinkableInProject() &&
2879 (cd=md->getClassDef()) &&
2880 cd->isLinkableInProject() &&
2882 {
2883 DString n = md->name();
2884 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
2885 if (!letter.empty())
2886 {
2887 letter = convertUTF8ToLower(letter);
2888 bool isFriendToHide = hideFriendCompounds &&
2889 (md->typeString()=="friend class" ||
2890 md->typeString()=="friend struct" ||
2891 md->typeString()=="friend union");
2892 if (!(md->isFriend() && isFriendToHide) &&
2893 (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
2894 )
2895 {
2897 }
2898 if (md->isFunction() || md->isSlot() || md->isSignal())
2899 {
2901 }
2902 else if (md->isVariable())
2903 {
2905 }
2906 else if (md->isTypedef())
2907 {
2909 }
2910 else if (md->isEnumerate())
2911 {
2913 }
2914 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
2915 {
2917 }
2918 else if (md->isProperty())
2919 {
2921 }
2922 else if (md->isEvent())
2923 {
2925 }
2926 else if (md->isRelated() || md->isForeign() ||
2927 (md->isFriend() && !isFriendToHide))
2928 {
2930 }
2931 }
2932 }
2933}
virtual bool isImplicitTemplateInstance() const =0
const std::string & str() const
Definition dstring.h:634
virtual const DString & name() const =0
virtual bool isLinkableInProject() const =0
void incrementDocumentedClassMembers(int i, const std::string &letter, const MemberDef *md)
Definition index.cpp:195
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 DString typeString() const =0
virtual const MemberDef * getEnumScope() const =0
virtual bool isEnumValue() const =0
virtual bool isProperty() const =0
#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 DString &name)
Definition util.cpp:3269

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, DString::str(), ClassMemberHighlight::Typedefs, MemberDef::typeString(), and ClassMemberHighlight::Variables.

◆ addFileMemberNameToIndex()

void Index::addFileMemberNameToIndex ( const MemberDef * md)

Definition at line 2985 of file index.cpp.

2986{
2987 const FileDef *fd=md->getFileDef();
2988 if (fd && fd->isLinkableInProject() && md->isLinkableInProject())
2989 {
2990 DString n = md->name();
2991 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
2992 if (!letter.empty())
2993 {
2994 letter = convertUTF8ToLower(letter);
2995 if (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
2996 {
2998 }
2999 if (md->isFunction())
3000 {
3002 }
3003 else if (md->isVariable())
3004 {
3006 }
3007 else if (md->isTypedef())
3008 {
3010 }
3011 else if (md->isSequence())
3012 {
3014 }
3015 else if (md->isDictionary())
3016 {
3018 }
3019 else if (md->isEnumerate())
3020 {
3022 }
3023 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
3024 {
3026 }
3027 else if (md->isDefine())
3028 {
3030 }
3031 }
3032 }
3033}
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, DString::str(), FileMemberHighlight::Typedefs, and FileMemberHighlight::Variables.

◆ addModuleMemberNameToIndex()

void Index::addModuleMemberNameToIndex ( const MemberDef * md)

Definition at line 3037 of file index.cpp.

3038{
3039 const ModuleDef *mod = md->getModuleDef();
3040 if (mod && mod->isPrimaryInterface() && mod->isLinkableInProject() && md->isLinkableInProject())
3041 {
3042 DString n = md->name();
3043 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
3044 if (!letter.empty())
3045 {
3046 letter = convertUTF8ToLower(letter);
3047 if (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
3048 {
3050 }
3051 if (md->isFunction())
3052 {
3054 }
3055 else if (md->isVariable())
3056 {
3058 }
3059 else if (md->isTypedef())
3060 {
3062 }
3063 else if (md->isEnumerate())
3064 {
3066 }
3067 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
3068 {
3070 }
3071 }
3072 }
3073}
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(), DString::str(), ModuleMemberHighlight::Typedefs, and ModuleMemberHighlight::Variables.

◆ addNamespaceMemberNameToIndex()

void Index::addNamespaceMemberNameToIndex ( const MemberDef * md)

Definition at line 2937 of file index.cpp.

2938{
2939 const NamespaceDef *nd=md->getNamespaceDef();
2940 if (nd && nd->isLinkableInProject() && md->isLinkableInProject())
2941 {
2942 DString n = md->name();
2943 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
2944 if (!letter.empty())
2945 {
2946 letter = convertUTF8ToLower(letter);
2947 if (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
2948 {
2950 }
2951 if (md->isFunction())
2952 {
2954 }
2955 else if (md->isVariable())
2956 {
2958 }
2959 else if (md->isTypedef())
2960 {
2962 }
2963 else if (md->isSequence())
2964 {
2966 }
2967 else if (md->isDictionary())
2968 {
2970 }
2971 else if (md->isEnumerate())
2972 {
2974 }
2975 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
2976 {
2978 }
2979 }
2980 }
2981}
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, DString::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:1738
static int countClassHierarchy(ClassDef::CompoundType ct)
Definition index.cpp:1147
static void countRelatedPages(int &docPages, int &indexPages)
Definition index.cpp:3950
static int countGroups()
Definition index.cpp:4070
static int countDirs()
Definition index.cpp:4086
static void countFiles(int &htmlFiles, int &files)
Definition index.cpp:1474
static int countAnnotatedClasses(int *cp, ClassDef::CompoundType ct)
Definition index.cpp:2154
static int countNamespaces()
Definition index.cpp:1727

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 = dstricmp_sort(md1->name(),md2->name());
237 if (result==0) // next compare with full scope
238 {
239 result = dstricmp_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: