ISLEman
types.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  * Copyright (C) 1997-2015 by Dimitri van Heesch.
4  *
5  * Permission to use, copy, modify, and distribute this software and its
6  * documentation under the terms of the GNU General Public License is hereby
7  * granted. No representations are made about the suitability of this software
8  * for any purpose. It is provided "as is" without express or implied warranty.
9  * See the GNU General Public License for more details.
10  *
11  * Documents produced by Doxygen are derivative works derived from the
12  * input used in their production; they are not affected by this license.
13  *
14  */
15 
16 #ifndef TYPES_H
17 #define TYPES_H
18 
19 #include <qcstring.h>
20 
26 enum Protection { Public, Protected, Private, Package } ;
27 
29 enum Specifier { Normal, Virtual, Pure } ;
30 
32 enum MethodTypes { Method, Signal, Slot, DCOP, Property, Event };
33 
35 enum RelatesType { Simple, Duplicate, MemberOf };
36 
38 enum Relationship { Member, Related, Foreign };
39 
42 {
43  SrcLangExt_Unknown = 0x00000,
44  SrcLangExt_IDL = 0x00008,
45  SrcLangExt_Java = 0x00010,
46  SrcLangExt_CSharp = 0x00020,
47  SrcLangExt_D = 0x00040,
48  SrcLangExt_PHP = 0x00080,
49  SrcLangExt_ObjC = 0x00100,
50  SrcLangExt_Cpp = 0x00200,
51  SrcLangExt_JS = 0x00400,
52  SrcLangExt_Python = 0x00800,
53  SrcLangExt_Fortran = 0x01000,
54  SrcLangExt_VHDL = 0x02000,
55  SrcLangExt_XML = 0x04000,
56  SrcLangExt_Tcl = 0x08000,
57  SrcLangExt_Markdown = 0x10000,
58  SrcLangExt_SQL = 0x20000
59 };
60 
62 struct Grouping
63 {
65  enum GroupPri_t
66  {
67  GROUPING_LOWEST,
68  GROUPING_AUTO_WEAK = GROUPING_LOWEST,
71  GROUPING_AUTO_HIGHEST = GROUPING_AUTO_DEF,
73  GROUPING_HIGHEST = GROUPING_INGROUP
74  };
75 
76  static const char *getGroupPriName( GroupPri_t priority )
77  {
78  switch( priority )
79  {
80  case GROUPING_AUTO_WEAK:
81  return "@weakgroup";
82  case GROUPING_AUTO_ADD:
83  return "@addtogroup";
84  case GROUPING_AUTO_DEF:
85  return "@defgroup";
86  case GROUPING_INGROUP:
87  return "@ingroup";
88  }
89  return "???";
90  }
91 
92  Grouping( const char *gn, GroupPri_t p ) : groupname(gn), pri(p) {}
93  Grouping( const Grouping &g ) : groupname(g.groupname), pri(g.pri) {}
96 
97 };
98 
100 {
101  QCString type;
102  int itemId;
103 };
104 
105 enum MemberListType
106 {
107  MemberListType_privateLists = 0x0800,
108  MemberListType_detailedLists = 0x1000,
109  MemberListType_declarationLists = 0x2000,
110  MemberListType_documentationLists = 0x4000,
111 
112  MemberListType_pubMethods = 0,
113  MemberListType_proMethods = 1,
114  MemberListType_pacMethods = 2,
115  MemberListType_priMethods = 3 + MemberListType_privateLists,
116  MemberListType_pubStaticMethods = 4,
117  MemberListType_proStaticMethods = 5,
118  MemberListType_pacStaticMethods = 6,
119  MemberListType_priStaticMethods = 7 + MemberListType_privateLists,
120  MemberListType_pubSlots = 8,
121  MemberListType_proSlots = 9,
122  MemberListType_priSlots = 10 + MemberListType_privateLists,
123  MemberListType_pubAttribs = 11,
124  MemberListType_proAttribs = 12,
125  MemberListType_pacAttribs = 13,
126  MemberListType_priAttribs = 14 + MemberListType_privateLists,
127  MemberListType_pubStaticAttribs = 15,
128  MemberListType_proStaticAttribs = 16,
129  MemberListType_pacStaticAttribs = 17,
130  MemberListType_priStaticAttribs = 18 + MemberListType_privateLists,
131  MemberListType_pubTypes = 19,
132  MemberListType_proTypes = 20,
133  MemberListType_pacTypes = 21,
134  MemberListType_priTypes = 22 + MemberListType_privateLists,
135  MemberListType_related = 23,
136  MemberListType_signals = 24,
137  MemberListType_friends = 25,
138  MemberListType_dcopMethods = 26,
139  MemberListType_properties = 27,
140  MemberListType_events = 28,
141 
142  MemberListType_typedefMembers = 29 + MemberListType_detailedLists,
143  MemberListType_enumMembers = 30 + MemberListType_detailedLists,
144  MemberListType_enumValMembers = 31 + MemberListType_detailedLists,
145  MemberListType_functionMembers = 32 + MemberListType_detailedLists,
146  MemberListType_relatedMembers = 33 + MemberListType_detailedLists,
147  MemberListType_variableMembers = 34 + MemberListType_detailedLists,
148  MemberListType_propertyMembers = 35 + MemberListType_detailedLists,
149  MemberListType_eventMembers = 36 + MemberListType_detailedLists,
150  MemberListType_constructors = 37 + MemberListType_detailedLists,
151 
152  MemberListType_allMembersList = 38,
153 
154  MemberListType_decDefineMembers = 39 + MemberListType_declarationLists,
155  MemberListType_decProtoMembers = 40 + MemberListType_declarationLists,
156  MemberListType_decTypedefMembers = 41 + MemberListType_declarationLists,
157  MemberListType_decEnumMembers = 42 + MemberListType_declarationLists,
158  MemberListType_decFuncMembers = 43 + MemberListType_declarationLists,
159  MemberListType_decVarMembers = 44 + MemberListType_declarationLists,
160  MemberListType_decEnumValMembers = 45 + MemberListType_declarationLists,
161  MemberListType_decPubSlotMembers = 46 + MemberListType_declarationLists,
162  MemberListType_decProSlotMembers = 47 + MemberListType_declarationLists,
163  MemberListType_decPriSlotMembers = 48 + MemberListType_declarationLists,
164  MemberListType_decSignalMembers = 49 + MemberListType_declarationLists,
165  MemberListType_decEventMembers = 50 + MemberListType_declarationLists,
166  MemberListType_decFriendMembers = 51 + MemberListType_declarationLists,
167  MemberListType_decPropMembers = 52 + MemberListType_declarationLists,
168 
169  MemberListType_docDefineMembers = 53 + MemberListType_documentationLists,
170  MemberListType_docProtoMembers = 54 + MemberListType_documentationLists,
171  MemberListType_docTypedefMembers = 55 + MemberListType_documentationLists,
172  MemberListType_docEnumMembers = 56 + MemberListType_documentationLists,
173  MemberListType_docFuncMembers = 57 + MemberListType_documentationLists,
174  MemberListType_docVarMembers = 58 + MemberListType_documentationLists,
175  MemberListType_docEnumValMembers = 59 + MemberListType_documentationLists,
176  MemberListType_docPubSlotMembers = 60 + MemberListType_documentationLists,
177  MemberListType_docProSlotMembers = 61 + MemberListType_documentationLists,
178  MemberListType_docPriSlotMembers = 62 + MemberListType_documentationLists,
179  MemberListType_docSignalMembers = 63 + MemberListType_documentationLists,
180  MemberListType_docEventMembers = 64 + MemberListType_documentationLists,
181  MemberListType_docFriendMembers = 65 + MemberListType_documentationLists,
182  MemberListType_docPropMembers = 66 + MemberListType_documentationLists,
183 
184  MemberListType_redefinedBy = 67,
185  MemberListType_enumFields = 68,
186  MemberListType_memberGroup = 69,
187 
188  // this one is for the summary section on the class page
189  MemberListType_interfaces = 70,
190  // this one is for the detailed section on the class page
191  MemberListType_interfaceMembers = 71 + MemberListType_detailedLists,
192  MemberListType_services = 72,
193  MemberListType_serviceMembers = 73 + MemberListType_detailedLists,
194 };
195 
196 enum MemberType
197 {
198  MemberType_Define,
199  MemberType_Function,
200  MemberType_Variable,
201  MemberType_Typedef,
202  MemberType_Enumeration,
203  MemberType_EnumValue,
204  MemberType_Signal,
205  MemberType_Slot,
206  MemberType_Friend,
207  MemberType_DCOP,
208  MemberType_Property,
209  MemberType_Event,
210  MemberType_Interface,
211  MemberType_Service,
212 };
213 
214 enum FortranFormat
215 {
216  FortranFormat_Unknown,
217  FortranFormat_Free,
218  FortranFormat_Fixed
219 };
220 
221 #endif
Grouping info.
Definition: types.h:62
membership in group was defined via @weakgroup
Definition: types.h:68
membership in group was defined via @defgroup
Definition: types.h:70
GroupPri_t
Grouping priority.
Definition: types.h:65
GroupPri_t pri
priority of this definition
Definition: types.h:95
SrcLangExt
Language as given by extension.
Definition: types.h:41
Relationship
Kind of member relationship.
Definition: types.h:38
membership in group was defined by @ingroup
Definition: types.h:72
Specifier
Virtualness of a member.
Definition: types.h:29
QCString groupname
name of the group
Definition: types.h:94
Definition: types.h:99
MethodTypes
Kind of method.
Definition: types.h:32
Protection
Protection level of members.
Definition: types.h:26
RelatesType
Type of member relation.
Definition: types.h:35
This is an alternative implementation of QCString.
Definition: qcstring.h:131
membership in group was defined via @add[to]group
Definition: types.h:69