102 ML_TYPE(PubMethods, Public, Invalid, Invalid, "pub-methods", "public-func" ) \
103 ML_TYPE(ProMethods, Protected, PubMethods, Invalid, "pro-methods", "protected-func" ) \
104 ML_TYPE(PacMethods, Package, Invalid, Invalid, "pac-methods", "package-func" ) \
105 ML_TYPE(PriMethods, Private, PubMethods, ProMethods, "pri-methods", "private-func" ) \
106 ML_TYPE(PubStaticMethods, Public, Invalid, Invalid, "pub-static-methods", "public-static-func" ) \
107 ML_TYPE(ProStaticMethods, Protected, PubStaticMethods, Invalid, "pro-static-methods", "protected-static-func" ) \
108 ML_TYPE(PacStaticMethods, Package, Invalid, Invalid, "pac-static-methods", "package-static-func" ) \
109 ML_TYPE(PriStaticMethods, Private, PubStaticMethods, ProStaticMethods, "pri-static-methods", "private-static-func" ) \
110 ML_TYPE(PubSlots, Public, Invalid, Invalid, "pub-slots", "public-slot" ) \
111 ML_TYPE(ProSlots, Protected, PubSlots, Invalid, "pro-slots", "protected-slot" ) \
112 ML_TYPE(PriSlots, Private, PubSlots, ProSlots, "pri-slots", "private-slot" ) \
113 ML_TYPE(PubAttribs, Public, Invalid, Invalid, "pub-attribs", "public-attrib" ) \
114 ML_TYPE(ProAttribs, Protected, PubAttribs, Invalid, "pro-attribs", "protected-attrib" ) \
115 ML_TYPE(PacAttribs, Package, Invalid, Invalid, "pac-attribs", "package-attrib" ) \
116 ML_TYPE(PriAttribs, Private, PubAttribs, ProAttribs, "pri-attribs", "private-attrib" ) \
117 ML_TYPE(PubStaticAttribs, Public, Invalid, Invalid, "pub-static-attribs", "public-static-attrib" ) \
118 ML_TYPE(ProStaticAttribs, Protected, PubStaticAttribs, Invalid, "pro-static-attribs", "protected-static-attrib" ) \
119 ML_TYPE(PacStaticAttribs, Package, Invalid, Invalid, "pac-static-attribs", "package-static-attrib" ) \
120 ML_TYPE(PriStaticAttribs, Private, PubStaticAttribs, ProStaticAttribs, "pri-static-attribs", "private-static-attrib" ) \
121 ML_TYPE(PubTypes, Public, Invalid, Invalid, "pub-types", "public-type" ) \
122 ML_TYPE(ProTypes, Protected, PubTypes, Invalid, "pro-types", "protected-type" ) \
123 ML_TYPE(PacTypes, Package, Invalid, Invalid, "pac-types", "package-type" ) \
124 ML_TYPE(PriTypes, Private, PubTypes, ProTypes, "pri-types", "private-type" ) \
125 ML_TYPE(Related, OnlyPublic, Invalid, Invalid, "related", "related" ) \
126 ML_TYPE(Signals, OnlyPublic, Invalid, Invalid, "signals", "signal" ) \
127 ML_TYPE(Friends, OnlyPublic, Invalid, Invalid, "friends", "friend" ) \
128 ML_TYPE(DcopMethods, OnlyPublic, Invalid, Invalid, "dcop-methods", "dcop-func" ) \
129 ML_TYPE(Properties, OnlyPublic, Invalid, Invalid, "properties", "property" ) \
130 ML_TYPE(Events, OnlyPublic, Invalid, Invalid, "events", "event" ) \
131 ML_TYPE(AllMembersList, OnlyPublic, Invalid, Invalid, "", "" ) \
132 ML_TYPE(EnumFields, OnlyPublic, Invalid, Invalid, "enum-fields", "" ) \
133 ML_TYPE(MemberGroup, OnlyPublic, Invalid, Invalid, "", "" ) \
134 ML_TYPE(Interfaces, OnlyPublic, Invalid, Invalid, "interfaces", "interfaces" ) \
135 ML_TYPE(Services, OnlyPublic, Invalid, Invalid, "services", "services" ) \
136 ML_TYPE(DecDefineMembers, Declaration, Invalid, Invalid, "define-members", "define" ) \
137 ML_TYPE(DecProtoMembers, Declaration, Invalid, Invalid, "proto-members", "prototype" ) \
138 ML_TYPE(DecTypedefMembers, Declaration, Invalid, Invalid, "typedef-members", "typedef" ) \
139 ML_TYPE(DecEnumMembers, Declaration, Invalid, Invalid, "enum-members", "enum" ) \
140 ML_TYPE(DecFuncMembers, Declaration, Invalid, Invalid, "func-members", "func" ) \
141 ML_TYPE(DecVarMembers, Declaration, Invalid, Invalid, "var-members", "var" ) \
142 ML_TYPE(DecEnumValMembers, Declaration, Invalid, Invalid, "enumval-members", "" ) \
143 ML_TYPE(DecPubSlotMembers, Declaration, Invalid, Invalid, "pub-slot-members", "" ) \
144 ML_TYPE(DecProSlotMembers, Declaration, Invalid, Invalid, "pro-slot-members", "" ) \
145 ML_TYPE(DecPriSlotMembers, Declaration, Invalid, Invalid, "pri-slot-members", "" ) \
146 ML_TYPE(DecSignalMembers, Declaration, Invalid, Invalid, "signal-members", "" ) \
147 ML_TYPE(DecEventMembers, Declaration, Invalid, Invalid, "event-members", "" ) \
148 ML_TYPE(DecFriendMembers, Declaration, Invalid, Invalid, "friend-members", "" ) \
149 ML_TYPE(DecPropMembers, Declaration, Invalid, Invalid, "prop-members", "" ) \
150 ML_TYPE(DecSequenceMembers, Declaration, Invalid, Invalid, "sequence-members", "sequence" ) \
151 ML_TYPE(DecDictionaryMembers,Declaration, Invalid, Invalid, "dictionary-members", "dictionary" ) \
152 ML_TYPE(TypedefMembers, Detailed, Invalid, Invalid, "", "" ) \
153 ML_TYPE(EnumMembers, Detailed, Invalid, Invalid, "", "" ) \
154 ML_TYPE(EnumValMembers, Detailed, Invalid, Invalid, "", "" ) \
155 ML_TYPE(FunctionMembers, Detailed, Invalid, Invalid, "", "" ) \
156 ML_TYPE(RelatedMembers, Detailed, Invalid, Invalid, "", "" ) \
157 ML_TYPE(VariableMembers, Detailed, Invalid, Invalid, "", "" ) \
158 ML_TYPE(PropertyMembers, Detailed, Invalid, Invalid, "", "" ) \
159 ML_TYPE(EventMembers, Detailed, Invalid, Invalid, "", "" ) \
160 ML_TYPE(Constructors, Detailed, Invalid, Invalid, "", "" ) \
161 ML_TYPE(InterfaceMembers, Detailed, Invalid, Invalid, "interface-members", "" ) \
162 ML_TYPE(ServiceMembers, Detailed, Invalid, Invalid, "service-members", "" ) \
163 ML_TYPE(DocDefineMembers, Documentation,Invalid, Invalid, "", "" ) \
164 ML_TYPE(DocProtoMembers, Documentation,Invalid, Invalid, "", "" ) \
165 ML_TYPE(DocTypedefMembers, Documentation,Invalid, Invalid, "", "" ) \
166 ML_TYPE(DocEnumMembers, Documentation,Invalid, Invalid, "", "" ) \
167 ML_TYPE(DocFuncMembers, Documentation,Invalid, Invalid, "", "" ) \
168 ML_TYPE(DocVarMembers, Documentation,Invalid, Invalid, "", "" ) \
169 ML_TYPE(DocEnumValMembers, Documentation,Invalid, Invalid, "", "" ) \
170 ML_TYPE(DocPubSlotMembers, Documentation,Invalid, Invalid, "", "" ) \
171 ML_TYPE(DocProSlotMembers, Documentation,Invalid, Invalid, "", "" ) \
172 ML_TYPE(DocPriSlotMembers, Documentation,Invalid, Invalid, "", "" ) \
173 ML_TYPE(DocSignalMembers, Documentation,Invalid, Invalid, "", "" ) \
174 ML_TYPE(DocEventMembers, Documentation,Invalid, Invalid, "", "" ) \
175 ML_TYPE(DocFriendMembers, Documentation,Invalid, Invalid, "", "" ) \
176 ML_TYPE(DocPropMembers, Documentation,Invalid, Invalid, "", "" ) \
177 ML_TYPE(DocSequenceMembers, Documentation,Invalid, Invalid, "", "" ) \
178 ML_TYPE(DocDictionaryMembers,Documentation,Invalid, Invalid, "", "" ) \
202#define ML_TYPE(x,bits,to_pub,to_prot,label,xml_str) \
211#define ML_TYPE(x,bits,to_pub,to_prot,label,xml_str) \
212 static MemberListType x() { return MemberListType(static_cast<int>(x##_)|static_cast<int>(bits)); } \
213 bool is##x() const { return (m_type&TypeMask)==x##_; }
229#define ML_TYPE(x,bits,to_pub,to_prot,label,xml_str) \
230 case x##_ : return "["+std::string(#x)+bits_to_string()+"]";
245#define ML_TYPE(x,bits,to_pub,to_prot,label,xml_str) \
246 case x##_ : return label;
257#define ML_TYPE(x,bits,to_pub,to_prot,label,xml_str) \
258 case x##_ : return xml_str;
269#define ML_TYPE(x,bits,to_pub,to_prot,label,xml_str) \
270 case x##_ : return to_pub();
281#define ML_TYPE(x,bits,to_pub,to_prot,label,xml_str) \
282 case x##_ : return to_prot();
472#define TYPE_SPECIFIERS \
473 TSPEC(Template) TSPEC(Generic) TSPEC(Ref) TSPEC(Value) TSPEC(Interface) \
474 TSPEC(Struct) TSPEC(Union) TSPEC(Exception) TSPEC(Protocol) TSPEC(Category) \
475 TSPEC(SealedClass) TSPEC(AbstractClass) TSPEC(Enum) TSPEC(Service) TSPEC(Singleton) \
476 TSPEC(ForwardDecl) TSPEC(Local) TSPEC(EnumStruct) TSPEC(ConstExpr) TSPEC(PrivateGettable) \
477 TSPEC(ProtectedGettable) TSPEC(PrivateSettable) TSPEC(ProtectedSettable) TSPEC(Inline) TSPEC(Explicit) \
478 TSPEC(Mutable) TSPEC(Settable) TSPEC(Gettable) TSPEC(Readable) TSPEC(Writable) \
479 TSPEC(Final) TSPEC(Abstract) TSPEC(Addable) TSPEC(Removable) TSPEC(Raisable) \
480 TSPEC(Override) TSPEC(New) TSPEC(Sealed) TSPEC(Initonly) TSPEC(Optional) \
481 TSPEC(Required) TSPEC(NonAtomic) TSPEC(Copy) TSPEC(Retain) TSPEC(Assign) \
482 TSPEC(Strong) TSPEC(Weak) TSPEC(Unretained) TSPEC(Alias) TSPEC(ConstExp) \
483 TSPEC(Default) TSPEC(Delete) TSPEC(NoExcept) TSPEC(Attribute) TSPEC(Property) \
484 TSPEC(Readonly) TSPEC(Bound) TSPEC(Constrained) TSPEC(Transient) TSPEC(MaybeVoid) \
485 TSPEC(MaybeDefault) TSPEC(MaybeAmbiguous) TSPEC(Published) TSPEC(ConstEval) TSPEC(ConstInit) \
496 void reset() { std::memset(
this, 0,
sizeof(*
this)); }
500#define TSPEC(x) m_is##x = m_is##x || other.is##x();
508#define TSPEC(x) eq = eq && (t1.m_is##x == t2.m_is##x);
522 std::string result=
"[";
526 if (!first) result+=","; \
527 result+=#x; first=false; \
538 TypeSpecifier &set##x(bool b) { m_is##x = b; return *this; } \
539 bool is##x() const { return m_is##x; } \
583 ETYPE(Class, Compound|Scope) \
584 ETYPE(Namespace, Scope) \
585 ETYPE(Concept, None) \
586 ETYPE(ClassDoc, CompoundDoc|Doc) \
587 ETYPE(StructDoc, CompoundDoc|Doc) \
588 ETYPE(UnionDoc, CompoundDoc|Doc) \
589 ETYPE(ExceptionDoc, CompoundDoc|Doc) \
590 ETYPE(InterfaceDoc, CompoundDoc|Doc) \
591 ETYPE(ProtocolDoc, CompoundDoc|Doc) \
592 ETYPE(CategoryDoc, CompoundDoc|Doc) \
593 ETYPE(ServiceDoc, CompoundDoc|Doc) \
594 ETYPE(SingletonDoc, CompoundDoc|Doc) \
595 ETYPE(Source, File) \
596 ETYPE(Header, File) \
597 ETYPE(ModuleDoc, Doc) \
598 ETYPE(ConceptDoc, Doc) \
599 ETYPE(NamespaceDoc, Doc) \
600 ETYPE(EnumDoc, Doc) \
601 ETYPE(PageDoc, Doc) \
602 ETYPE(MemberDoc, Doc) \
603 ETYPE(OverloadDoc, Doc) \
604 ETYPE(Example, Doc) \
605 ETYPE(VariableDoc, Doc) \
606 ETYPE(FileDoc, Doc) \
607 ETYPE(DefineDoc, Doc) \
608 ETYPE(GroupDoc, Doc) \
609 ETYPE(MainpageDoc, Doc) \
610 ETYPE(MemberGrp, Doc) \
611 ETYPE(PackageDoc, Doc) \
613 ETYPE(Variable, None) \
614 ETYPE(Function, None) \
615 ETYPE(Typedef, None) \
616 ETYPE(Include, None) \
618 ETYPE(Define, None) \
619 ETYPE(UsingDir, None) \
620 ETYPE(UsingDecl, None) \
621 ETYPE(Package, None) \
622 ETYPE(ObjcImpl, None) \
623 ETYPE(ExportedInterface, None) \
624 ETYPE(IncludedService, None) \
625 ETYPE(ExampleLineno, None) \
633#define ETYPE(x,bits) \
634 static EntryType make##x() { return EntryType(static_cast<int>(x)|static_cast<int>(bits)); } \
635 bool is##x() const { return (m_type&TypeMask)==x; }
647#define ETYPE(x,bits) \
648 case x : return "["+std::string(#x)+bits_to_string()+"]";
660#define ETYPE(x,bits) \
ENTRY_TYPES bool isCompound() const
std::string to_string() const
friend bool operator!=(const EntryType &t1, const EntryType &t2)
friend bool operator==(const EntryType &t1, const EntryType &t2)
std::string bits_to_string() const
bool isCompoundDoc() const
bool isHtmlEnabled() const
void enableXml(int level)
bool isXmlEnabled() const
void enableLatex(int level)
void enableDocbook(int level)
void enableHtml(int level)
bool nothingEnabled() const
bool isDocbookEnabled() const
bool isLatexEnabled() const
constexpr bool isProtected() const
constexpr bool isOnlyPublic() const
MemberListType toProtected() const
constexpr bool isDetailed() const
MemberListType toPublic() const
static MemberListType Invalid()
friend bool operator==(const MemberListType &t1, const MemberListType &t2)
constexpr const char * toXML() const
friend bool operator!=(const MemberListType &t1, const MemberListType &t2)
constexpr const char * toLabel() const
constexpr bool isPrivate() const
ML_TYPES constexpr bool isPublic() const
constexpr bool isPackage() const
constexpr bool isInvalid() const
std::string to_string() const
constexpr bool isDocumentation() const
constexpr bool isDeclaration() const
std::string bits_to_string() const
constexpr TypeName type() const
std::string to_string() const
friend bool operator==(const TypeSpecifier &t1, const TypeSpecifier &t2)
friend bool operator!=(const TypeSpecifier &t1, const TypeSpecifier &t2)
void merge(const TypeSpecifier &other)
QCString groupname
name of the group
GroupPri_t
Grouping priority.
@ GROUPING_AUTO_ADD
membership in group was defined via @add[to]group
@ GROUPING_INGROUP
membership in group was defined by @ingroup
@ GROUPING_AUTO_WEAK
membership in group was defined via @weakgroup
@ GROUPING_AUTO_DEF
membership in group was defined via @defgroup
Grouping(const QCString &gn, GroupPri_t p)
static const char * getGroupPriName(GroupPri_t priority)
GroupPri_t pri
priority of this definition
MethodTypes
Kind of method.
constexpr const char * codeSymbolType2Str(CodeSymbolType type)
Protection
Protection level of members.
SrcLangExt
Language as given by extension.
Relationship
Kind of member relationship.
RelatesType
Type of member relation.
Specifier
Virtualness of a member.