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 163 of file index.h.

Member Typedef Documentation

◆ MemberIndexList

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

Definition at line 166 of file index.h.

◆ MemberIndexMap

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

Definition at line 167 of file index.h.

Constructor & Destructor Documentation

◆ Index()

Index::Index ( )
private

Definition at line 104 of file index.cpp.

104 : p(std::make_unique<Private>())
105{
106}
std::unique_ptr< Private > p
Definition index.h:220

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

2872{
2873 bool hideFriendCompounds = Config_getBool(HIDE_FRIEND_COMPOUNDS);
2874 const ClassDef *cd=nullptr;
2875
2876 if (md->isLinkableInProject() &&
2877 (cd=md->getClassDef()) &&
2878 cd->isLinkableInProject() &&
2880 {
2881 DString n = md->name();
2882 std::string letter = getUTF8CharAt(n.str(),getPrefixIndex(n));
2883 if (!letter.empty())
2884 {
2885 letter = convertUTF8ToLower(letter);
2886 bool isFriendToHide = hideFriendCompounds &&
2887 (md->typeString()=="friend class" ||
2888 md->typeString()=="friend struct" ||
2889 md->typeString()=="friend union");
2890 if (!(md->isFriend() && isFriendToHide) &&
2891 (!md->isEnumValue() || (md->getEnumScope() && !md->getEnumScope()->isStrong()))
2892 )
2893 {
2895 }
2896 if (md->isFunction() || md->isSlot() || md->isSignal())
2897 {
2899 }
2900 else if (md->isVariable())
2901 {
2903 }
2904 else if (md->isTypedef())
2905 {
2907 }
2908 else if (md->isEnumerate())
2909 {
2911 }
2912 else if (md->isEnumValue() && md->getEnumScope() && !md->getEnumScope()->isStrong())
2913 {
2915 }
2916 else if (md->isProperty())
2917 {
2919 }
2920 else if (md->isEvent())
2921 {
2923 }
2924 else if (md->isRelated() || md->isForeign() ||
2925 (md->isFriend() && !isFriendToHide))
2926 {
2928 }
2929 }
2930 }
2931}
virtual bool isImplicitTemplateInstance() const =0
const std::string & str() const
Definition dstring.h:645
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:197
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:191
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:131
int getPrefixIndex(const DString &name)
Definition util.cpp:2651

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

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

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

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

267{
268 for (int j=0;j<ClassMemberHighlight::Total;j++)
269 {
271 }
272 for (int j=0;j<NamespaceMemberHighlight::Total;j++)
273 {
275 }
276 for (int j=0;j<FileMemberHighlight::Total;j++)
277 {
279 }
280 for (int j=0;j<ModuleMemberHighlight::Total;j++)
281 {
283 }
284
285 bool sliceOpt = Config_getBool(OPTIMIZE_OUTPUT_SLICE);
286 p->annotatedClasses = countAnnotatedClasses(&p->annotatedClassesPrinted, ClassDef::Class); // "classes" + "annotated"
287 p->hierarchyClasses = countClassHierarchy(ClassDef::Class); // "hierarchy"
288 // "interfaces" + "annotated"
289 p->annotatedInterfaces = sliceOpt ? countAnnotatedClasses(&p->annotatedInterfacesPrinted, ClassDef::Interface) : 0;
290 // "interfacehierarchy"
291 p->hierarchyInterfaces = sliceOpt ? countClassHierarchy(ClassDef::Interface) : 0;
292 // "structs" + "annotated"
293 p->annotatedStructs = sliceOpt ? countAnnotatedClasses(&p->annotatedStructsPrinted, ClassDef::Struct) : 0;
294 // "exceptions" + "annotated"
295 p->annotatedExceptions = sliceOpt ? countAnnotatedClasses(&p->annotatedExceptionsPrinted, ClassDef::Exception) : 0;
296 // "exceptionhierarchy"
297 p->hierarchyExceptions = sliceOpt ? countClassHierarchy(ClassDef::Exception) : 0;
298 countFiles(p->documentedFiles,p->documentedFiles); // "files"
299 countRelatedPages(p->documentedPages,p->indexedPages); // "pages"
300 p->documentedGroups = countGroups(); // "topics"
301 p->documentedNamespaces = countNamespaces(); // "namespaces"
302 p->documentedConcepts = countConcepts(); // "concepts"
303 p->documentedDirs = countDirs(); // "dirs"
304 p->documentedModules = ModuleManager::instance().numDocumentedModules();
305 // "globals"
306 // "namespacemembers"
307 // "functions"
308}
@ Interface
Definition classdef.h:108
@ Exception
Definition classdef.h:111
void resetDocumentedNamespaceMembers(int i)
Definition index.cpp:172
void resetDocumentedModuleMembers(int i)
Definition index.cpp:178
void resetDocumentedClassMembers(int i)
Definition index.cpp:160
void resetDocumentedFileMembers(int i)
Definition index.cpp:166
int numDocumentedModules() const
static ModuleManager & instance()
static int countConcepts()
Definition index.cpp:1736
static int countClassHierarchy(ClassDef::CompoundType ct)
Definition index.cpp:1145
static void countRelatedPages(int &docPages, int &indexPages)
Definition index.cpp:3948
static int countGroups()
Definition index.cpp:4068
static int countDirs()
Definition index.cpp:4084
static void countFiles(int &htmlFiles, int &files)
Definition index.cpp:1472
static int countAnnotatedClasses(int *cp, ClassDef::CompoundType ct)
Definition index.cpp:2152
static int countNamespaces()
Definition index.cpp:1725

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

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

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

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

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

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

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

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

References MemberIndexMap_add(), and p.

Referenced by addNamespaceMemberNameToIndex().

◆ instance()

◆ isClassIndexLetterUsed()

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

Definition at line 140 of file index.cpp.

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

References p.

◆ isFileIndexLetterUsed()

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

Definition at line 145 of file index.cpp.

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

References p.

◆ isModuleIndexLetterUsed()

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

Definition at line 155 of file index.cpp.

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

References p.

◆ isNamespaceIndexLetterUsed()

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

Definition at line 150 of file index.cpp.

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

References p.

◆ numAnnotatedClasses()

int Index::numAnnotatedClasses ( ) const

Definition at line 116 of file index.cpp.

116{ return p->annotatedClasses; }

References p.

◆ numAnnotatedClassesPrinted()

int Index::numAnnotatedClassesPrinted ( ) const

Definition at line 117 of file index.cpp.

117{ return p->annotatedClassesPrinted; }

References p.

◆ numAnnotatedExceptions()

int Index::numAnnotatedExceptions ( ) const

Definition at line 124 of file index.cpp.

124{ return p->annotatedExceptions; }

References p.

◆ numAnnotatedExceptionsPrinted()

int Index::numAnnotatedExceptionsPrinted ( ) const

Definition at line 125 of file index.cpp.

125{ return p->annotatedExceptionsPrinted; }

References p.

◆ numAnnotatedInterfaces()

int Index::numAnnotatedInterfaces ( ) const

Definition at line 119 of file index.cpp.

119{ return p->annotatedInterfaces; }

References p.

◆ numAnnotatedInterfacesPrinted()

int Index::numAnnotatedInterfacesPrinted ( ) const

Definition at line 120 of file index.cpp.

120{ return p->annotatedInterfacesPrinted; }

References p.

◆ numAnnotatedStructs()

int Index::numAnnotatedStructs ( ) const

Definition at line 122 of file index.cpp.

122{ return p->annotatedStructs; }

References p.

◆ numAnnotatedStructsPrinted()

int Index::numAnnotatedStructsPrinted ( ) const

Definition at line 123 of file index.cpp.

123{ return p->annotatedStructsPrinted; }

References p.

◆ numDocumentedClassMembers()

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

Definition at line 135 of file index.cpp.

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

References p.

◆ numDocumentedConcepts()

int Index::numDocumentedConcepts ( ) const

Definition at line 129 of file index.cpp.

129{ return p->documentedConcepts; }

References p.

◆ numDocumentedDirs()

int Index::numDocumentedDirs ( ) const

Definition at line 134 of file index.cpp.

134{ return p->documentedDirs; }

References p.

◆ numDocumentedFileMembers()

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

Definition at line 136 of file index.cpp.

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

References p.

◆ numDocumentedFiles()

int Index::numDocumentedFiles ( ) const

Definition at line 132 of file index.cpp.

132{ return p->documentedFiles; }

References p.

◆ numDocumentedGroups()

int Index::numDocumentedGroups ( ) const

Definition at line 127 of file index.cpp.

127{ return p->documentedGroups; }

References p.

◆ numDocumentedModuleMembers()

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

Definition at line 138 of file index.cpp.

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

References p.

◆ numDocumentedModules()

int Index::numDocumentedModules ( ) const

Definition at line 130 of file index.cpp.

130{ return p->documentedModules; }

References p.

◆ numDocumentedNamespaceMembers()

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

Definition at line 137 of file index.cpp.

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

References p.

◆ numDocumentedNamespaces()

int Index::numDocumentedNamespaces ( ) const

Definition at line 128 of file index.cpp.

128{ return p->documentedNamespaces; }

References p.

◆ numDocumentedPages()

int Index::numDocumentedPages ( ) const

Definition at line 133 of file index.cpp.

133{ return p->documentedPages; }

References p.

◆ numHierarchyClasses()

int Index::numHierarchyClasses ( ) const

Definition at line 118 of file index.cpp.

118{ return p->hierarchyClasses; }

References p.

◆ numHierarchyExceptions()

int Index::numHierarchyExceptions ( ) const

Definition at line 126 of file index.cpp.

126{ return p->hierarchyExceptions; }

References p.

◆ numHierarchyInterfaces()

int Index::numHierarchyInterfaces ( ) const

Definition at line 121 of file index.cpp.

121{ return p->hierarchyInterfaces; }

References p.

◆ numIndexedPages()

int Index::numIndexedPages ( ) const

Definition at line 131 of file index.cpp.

131{ return p->indexedPages; }

References p.

◆ resetDocumentedClassMembers()

void Index::resetDocumentedClassMembers ( int i)
private

Definition at line 160 of file index.cpp.

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

References p.

Referenced by countDataStructures().

◆ resetDocumentedFileMembers()

void Index::resetDocumentedFileMembers ( int i)
private

Definition at line 166 of file index.cpp.

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

References p.

Referenced by countDataStructures().

◆ resetDocumentedModuleMembers()

void Index::resetDocumentedModuleMembers ( int i)
private

Definition at line 178 of file index.cpp.

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

References p.

Referenced by countDataStructures().

◆ resetDocumentedNamespaceMembers()

void Index::resetDocumentedNamespaceMembers ( int i)
private

Definition at line 172 of file index.cpp.

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

References p.

Referenced by countDataStructures().

◆ sortMemberIndexLists()

void Index::sortMemberIndexLists ( )

Definition at line 222 of file index.cpp.

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

Member Data Documentation

◆ p


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