Doxygen
Loading...
Searching...
No Matches
memberlist.cpp File Reference
#include "memberlist.h"
#include "classdef.h"
#include "config.h"
#include "docparser.h"
#include "doxygen.h"
#include "filedef.h"
#include "groupdef.h"
#include "language.h"
#include "membergroup.h"
#include "message.h"
#include "moduledef.h"
#include "namespacedef.h"
#include "outputlist.h"
#include "util.h"
#include "vhdldocgen.h"
Include dependency graph for memberlist.cpp:

Go to the source code of this file.

Functions

int genericCompareMembers (const MemberDef *c1, const MemberDef *c2)

Function Documentation

◆ genericCompareMembers()

int genericCompareMembers ( const MemberDef * c1,
const MemberDef * c2 )

Definition at line 49 of file memberlist.cpp.

50{
51 bool sortConstructorsFirst = Config_getBool(SORT_MEMBERS_CTORS_1ST);
52 if (sortConstructorsFirst)
53 {
54 int ord1 = c1->isConstructor() ? 2 : (c1->isDestructor() ? 1 : 0);
55 int ord2 = c2->isConstructor() ? 2 : (c2->isDestructor() ? 1 : 0);
56 if (ord1 > ord2)
57 return -1;
58 else if (ord2 > ord1)
59 return 1;
60 }
61 // sort on name, first case in-sensitive
62 int cmp = dstricmp_sort(c1->name(),c2->name());
63 // then on qualified name
64 if (cmp==0)
65 {
66 cmp = dstricmp_sort(c1->qualifiedName(),c2->qualifiedName());
67 }
68 // then on argument list
69 if (cmp==0 && !c1->argsString().empty() && !c2->argsString().empty())
70 {
71 cmp = dstricmp_sort(c1->argsString(),c2->argsString());
72 }
73 // then on file in which the item is defined
74 if (cmp==0)
75 {
77 }
78 // then on line number at which the member is defined
79 if (cmp==0)
80 {
81 cmp = c2->getDefLine()-c1->getDefLine();
82 }
83 return cmp;
84}
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
Definition dstring.h:148
virtual DString getDefFileName() const =0
virtual int getDefLine() const =0
virtual const DString & name() const =0
virtual DString qualifiedName() const =0
virtual bool isDestructor() const =0
virtual bool isConstructor() const =0
virtual DString argsString() const =0
#define Config_getBool(name)
Definition config.h:33
int dstricmp_sort(const char *str1, const char *str2)
Definition dstring.h:67

References MemberDef::argsString(), Config_getBool, dstricmp_sort(), DString::empty(), Definition::getDefFileName(), Definition::getDefLine(), MemberDef::isConstructor(), MemberDef::isDestructor(), Definition::name(), and Definition::qualifiedName().

Referenced by MemberVector::lessThan().