Doxygen
Toggle main menu visibility
Loading...
Searching...
No Matches
stlsupport.cpp
Go to the documentation of this file.
1
/******************************************************************************
2
*
3
* Copyright (C) 1997-2019 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
// own header
17
#include "
stlsupport.h
"
18
19
// other includes
20
#include "
entry.h
"
21
#include "
config.h
"
22
23
/** A struct contained the data for an STL class */
24
struct
STLInfo
25
{
26
const
char
*
className
;
27
const
char
*
baseClass1
;
28
const
char
*
baseClass2
;
29
const
char
*
templType1
;
30
const
char
*
templName1
;
31
const
char
*
templType2
;
32
const
char
*
templName2
;
33
bool
virtualInheritance
;
34
bool
iterators
;
35
};
36
37
static
STLInfo
g_stlinfo
[] =
38
{
39
// className baseClass1 baseClass2 templType1 templName1 templType2 templName2 virtInheritance // iterators
40
{
"allocator"
,
nullptr
,
nullptr
,
"T"
,
"elements"
,
nullptr
,
nullptr
,
false
,
false
},
41
{
"auto_ptr"
,
nullptr
,
nullptr
,
"T"
,
"ptr"
,
nullptr
,
nullptr
,
false
,
false
},
// deprecated
42
{
"smart_ptr"
,
nullptr
,
nullptr
,
"T"
,
"ptr"
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
43
{
"unique_ptr"
,
nullptr
,
nullptr
,
"T"
,
"ptr"
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
44
{
"shared_ptr"
,
nullptr
,
nullptr
,
"T"
,
"ptr"
,
nullptr
,
nullptr
,
false
,
false
},
// C++14
45
{
"weak_ptr"
,
nullptr
,
nullptr
,
"T"
,
"ptr"
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
46
{
"atomic"
,
nullptr
,
nullptr
,
"T"
,
"ptr"
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
47
{
"atomic_ref"
,
nullptr
,
nullptr
,
"T"
,
"ptr"
,
nullptr
,
nullptr
,
false
,
false
},
// C++20
48
{
"lock_guard"
,
nullptr
,
nullptr
,
"T"
,
"ptr"
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
49
{
"unique_lock"
,
nullptr
,
nullptr
,
"T"
,
"ptr"
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
50
{
"shared_lock"
,
nullptr
,
nullptr
,
"T"
,
"ptr"
,
nullptr
,
nullptr
,
false
,
false
},
// C++14
51
{
"ios_base"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
52
{
"error_code"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
53
{
"error_category"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
54
{
"system_error"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
55
{
"error_condition"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
56
{
"thread"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
57
{
"jthread"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
58
{
"mutex"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
59
{
"timed_mutex"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
60
{
"recursive_mutex"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
61
{
"recursive_timed_mutex"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
// C++11
62
{
"shared_mutex"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
// C++17
63
{
"shared_timed_mutex"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
// C++14
64
{
"basic_ios"
,
"ios_base"
,
nullptr
,
"Char"
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
65
{
"basic_istream"
,
"basic_ios<Char>"
,
nullptr
,
"Char"
,
nullptr
,
nullptr
,
nullptr
,
true
,
false
},
66
{
"basic_ostream"
,
"basic_ios<Char>"
,
nullptr
,
"Char"
,
nullptr
,
nullptr
,
nullptr
,
true
,
false
},
67
{
"basic_iostream"
,
"basic_istream<Char>"
,
"basic_ostream<Char>"
,
"Char"
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
68
{
"basic_ifstream"
,
"basic_istream<Char>"
,
nullptr
,
"Char"
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
69
{
"basic_ofstream"
,
"basic_ostream<Char>"
,
nullptr
,
"Char"
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
70
{
"basic_fstream"
,
"basic_iostream<Char>"
,
nullptr
,
"Char"
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
71
{
"basic_istringstream"
,
"basic_istream<Char>"
,
nullptr
,
"Char"
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
72
{
"basic_ostringstream"
,
"basic_ostream<Char>"
,
nullptr
,
"Char"
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
73
{
"basic_stringstream"
,
"basic_iostream<Char>"
,
nullptr
,
"Char"
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
74
{
"ios"
,
"basic_ios<char>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
75
{
"wios"
,
"basic_ios<wchar_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
76
{
"istream"
,
"basic_istream<char>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
77
{
"wistream"
,
"basic_istream<wchar_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
78
{
"ostream"
,
"basic_ostream<char>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
79
{
"wostream"
,
"basic_ostream<wchar_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
80
{
"ifstream"
,
"basic_ifstream<char>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
81
{
"wifstream"
,
"basic_ifstream<wchar_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
82
{
"ofstream"
,
"basic_ofstream<char>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
83
{
"wofstream"
,
"basic_ofstream<wchar_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
84
{
"fstream"
,
"basic_fstream<char>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
85
{
"wfstream"
,
"basic_fstream<wchar_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
86
{
"istringstream"
,
"basic_istringstream<char>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
87
{
"wistringstream"
,
"basic_istringstream<wchar_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
88
{
"ostringstream"
,
"basic_ostringstream<char>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
89
{
"wostringstream"
,
"basic_ostringstream<wchar_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
90
{
"stringstream"
,
"basic_stringstream<char>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
91
{
"wstringstream"
,
"basic_stringstream<wchar_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
92
{
"basic_string"
,
nullptr
,
nullptr
,
"Char"
,
nullptr
,
nullptr
,
nullptr
,
false
,
true
},
93
{
"string"
,
"basic_string<char>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
true
},
94
{
"wstring"
,
"basic_string<wchar_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
true
},
95
{
"u8string"
,
"basic_string<char8_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
true
},
// C++20
96
{
"u16string"
,
"basic_string<char16_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
true
},
// C++11
97
{
"u32string"
,
"basic_string<char32_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
true
},
// C++11
98
{
"basic_string_view"
,
nullptr
,
nullptr
,
"Char"
,
nullptr
,
nullptr
,
nullptr
,
false
,
true
},
99
{
"string_view"
,
"basic_string_view<char>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
true
},
// C++17
100
{
"wstring_view"
,
"basic_string_view<wchar_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
true
},
// C++17
101
{
"u8string_view"
,
"basic_string_view<char8_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
true
},
// C++20
102
{
"u16string_view"
,
"basic_string_view<char16_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
true
},
// C++17
103
{
"u32string_view"
,
"basic_string_view<char32_t>"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
true
},
// C++17
104
{
"complex"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
105
{
"bitset"
,
nullptr
,
nullptr
,
"Bits"
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
106
{
"deque"
,
nullptr
,
nullptr
,
"T"
,
"elements"
,
nullptr
,
nullptr
,
false
,
true
},
107
{
"list"
,
nullptr
,
nullptr
,
"T"
,
"elements"
,
nullptr
,
nullptr
,
false
,
true
},
108
{
"forward_list"
,
nullptr
,
nullptr
,
"T"
,
"elements"
,
nullptr
,
nullptr
,
false
,
true
},
// C++11
109
{
"pair"
,
nullptr
,
nullptr
,
"T1"
,
"first_type"
,
"T2"
,
"second_type"
,
false
,
false
},
110
{
"map"
,
nullptr
,
nullptr
,
"K"
,
"keys"
,
"T"
,
"elements"
,
false
,
true
},
111
{
"unordered_map"
,
nullptr
,
nullptr
,
"K"
,
"keys"
,
"T"
,
"elements"
,
false
,
true
},
// C++11
112
{
"multimap"
,
nullptr
,
nullptr
,
"K"
,
"keys"
,
"T"
,
"elements"
,
false
,
true
},
113
{
"unordered_multimap"
,
nullptr
,
nullptr
,
"K"
,
"keys"
,
"T"
,
"elements"
,
false
,
true
},
// C++11
114
{
"set"
,
nullptr
,
nullptr
,
"K"
,
"keys"
,
nullptr
,
nullptr
,
false
,
true
},
115
{
"unordered_set"
,
nullptr
,
nullptr
,
"K"
,
"keys"
,
nullptr
,
nullptr
,
false
,
true
},
// C++11
116
{
"multiset"
,
nullptr
,
nullptr
,
"K"
,
"keys"
,
nullptr
,
nullptr
,
false
,
true
},
117
{
"unordered_multiset"
,
nullptr
,
nullptr
,
"K"
,
"keys"
,
nullptr
,
nullptr
,
false
,
true
},
// C++11
118
{
"array"
,
nullptr
,
nullptr
,
"T"
,
"elements"
,
nullptr
,
nullptr
,
false
,
true
},
// C++11
119
{
"vector"
,
nullptr
,
nullptr
,
"T"
,
"elements"
,
nullptr
,
nullptr
,
false
,
true
},
120
{
"span"
,
nullptr
,
nullptr
,
"T"
,
"elements"
,
nullptr
,
nullptr
,
false
,
true
},
// C++20
121
{
"queue"
,
nullptr
,
nullptr
,
"T"
,
"elements"
,
nullptr
,
nullptr
,
false
,
false
},
122
{
"priority_queue"
,
nullptr
,
nullptr
,
"T"
,
"elements"
,
nullptr
,
nullptr
,
false
,
false
},
123
{
"stack"
,
nullptr
,
nullptr
,
"T"
,
"elements"
,
nullptr
,
nullptr
,
false
,
false
},
124
{
"valarray"
,
nullptr
,
nullptr
,
"T"
,
"elements"
,
nullptr
,
nullptr
,
false
,
false
},
125
{
"exception"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
126
{
"bad_alloc"
,
"exception"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
127
{
"bad_cast"
,
"exception"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
128
{
"bad_typeid"
,
"exception"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
129
{
"logic_error"
,
"exception"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
130
{
"ios_base::failure"
,
"exception"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
131
{
"runtime_error"
,
"exception"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
132
{
"bad_exception"
,
"exception"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
133
{
"domain_error"
,
"logic_error"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
134
{
"invalid_argument"
,
"logic_error"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
135
{
"length_error"
,
"logic_error"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
136
{
"out_of_range"
,
"logic_error"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
137
{
"range_error"
,
"runtime_error"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
138
{
"overflow_error"
,
"runtime_error"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
139
{
"underflow_error"
,
"runtime_error"
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
},
140
{
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
false
,
false
}
141
};
142
143
static
void
addSTLMember
(
const
std::shared_ptr<Entry> &root,
const
char
*type,
const
char
*name)
144
{
145
std::shared_ptr<Entry> memEntry = std::make_shared<Entry>();
146
memEntry->name = name;
147
memEntry->type = type;
148
memEntry->protection = Protection::Public;
149
memEntry->section = EntryType::makeVariable();
150
memEntry->brief =
"STL member"
;
151
memEntry->hidden =
false
;
152
memEntry->artificial =
true
;
153
root->moveToSubEntryAndKeep(memEntry);
154
}
155
156
static
void
addSTLIterator
(
const
std::shared_ptr<Entry> &classEntry,
const
DString
&name)
157
{
158
std::shared_ptr<Entry> iteratorClassEntry = std::make_shared<Entry>();
159
iteratorClassEntry->fileName =
"[STL]"
;
160
iteratorClassEntry->startLine = 1;
161
iteratorClassEntry->name = name;
162
iteratorClassEntry->section = EntryType::makeClass();
163
iteratorClassEntry->brief =
"STL iterator class"
;
164
iteratorClassEntry->hidden =
false
;
165
iteratorClassEntry->artificial=
true
;
166
classEntry->moveToSubEntryAndKeep(iteratorClassEntry);
167
}
168
169
static
void
addSTLClass
(
const
std::shared_ptr<Entry> &root,
const
STLInfo
*info)
170
{
171
//printf("Adding STL class %s\n",info->className);
172
DString
fullName = info->
className
;
173
fullName.
prepend
(
"std::"
);
174
175
// add fake Entry for the class
176
std::shared_ptr<Entry> classEntry = std::make_shared<Entry>();
177
classEntry->fileName =
"[STL]"
;
178
classEntry->startLine = 1;
179
classEntry->name = fullName;
180
classEntry->section = EntryType::makeClass();
181
classEntry->brief =
"STL class"
;
182
classEntry->hidden =
false
;
183
classEntry->artificial=
true
;
184
185
// add template arguments to class
186
if
(info->
templType1
!=
nullptr
)
187
{
188
ArgumentList
al;
189
Argument
a;
190
a.
type
=
"typename"
;
191
a.
name
=info->
templType1
;
192
al.
push_back
(a);
193
if
(info->
templType2
!=
nullptr
)
// another template argument
194
{
195
a.
type
=
"typename"
;
196
a.
name
=info->
templType2
;
197
al.
push_back
(a);
198
}
199
classEntry->tArgLists.push_back(al);
200
}
201
// add member variables
202
if
(info->
templName1
!=
nullptr
)
203
{
204
addSTLMember
(classEntry,info->
templType1
,info->
templName1
);
205
}
206
if
(info->
templName2
!=
nullptr
)
207
{
208
addSTLMember
(classEntry,info->
templType2
,info->
templName2
);
209
}
210
if
(fullName==
"std::auto_ptr"
||
211
fullName==
"std::smart_ptr"
||
212
fullName==
"std::shared_ptr"
||
213
fullName==
"std::weak_ptr"
||
214
fullName==
"std::unique_ptr"
)
215
{
216
std::shared_ptr<Entry> memEntry = std::make_shared<Entry>();
217
memEntry->name =
"operator->"
;
218
memEntry->args =
"()"
;
219
memEntry->type =
"T*"
;
220
memEntry->protection = Protection::Public;
221
memEntry->section = EntryType::makeFunction();
222
memEntry->brief =
"STL member"
;
223
memEntry->hidden =
false
;
224
memEntry->artificial =
false
;
225
classEntry->moveToSubEntryAndKeep(memEntry);
226
}
227
Specifier
virt = info->
virtualInheritance
? Specifier::Virtual : Specifier::Normal;
228
if
(info->
baseClass1
!=
nullptr
)
229
{
230
classEntry->extends.emplace_back(info->
baseClass1
, Protection::Public, virt);
231
}
232
if
(info->
baseClass2
!=
nullptr
)
233
{
234
classEntry->extends.emplace_back(info->
baseClass2
, Protection::Public, virt);
235
}
236
if
(info->
iterators
)
237
{
238
// add iterator class
239
addSTLIterator
(classEntry,fullName+
"::iterator"
);
240
addSTLIterator
(classEntry,fullName+
"::const_iterator"
);
241
addSTLIterator
(classEntry,fullName+
"::reverse_iterator"
);
242
addSTLIterator
(classEntry,fullName+
"::const_reverse_iterator"
);
243
}
244
root->moveToSubEntryAndKeep(classEntry);
245
}
246
247
248
static
void
addSTLClasses
(
const
std::shared_ptr<Entry> &root)
249
{
250
std::shared_ptr<Entry> namespaceEntry = std::make_shared<Entry>();
251
namespaceEntry->fileName =
"[STL]"
;
252
namespaceEntry->startLine = 1;
253
namespaceEntry->name =
"std"
;
254
namespaceEntry->section = EntryType::makeNamespace();
255
namespaceEntry->brief =
"STL namespace"
;
256
namespaceEntry->hidden =
false
;
257
namespaceEntry->artificial=
true
;
258
259
STLInfo
*info =
g_stlinfo
;
260
while
(info->
className
!=
nullptr
)
261
{
262
addSTLClass
(namespaceEntry,info);
263
info++;
264
}
265
266
root->moveToSubEntryAndKeep(namespaceEntry);
267
}
268
269
void
addSTLSupport
(std::shared_ptr<Entry> &root)
270
{
271
if
(
Config_getBool
(BUILTIN_STL_SUPPORT))
272
{
273
addSTLClasses
(root);
274
}
275
}
Argument
This class contains the information about the argument of a function or template.
Definition
arguments.h:27
Argument::name
DString name
Definition
arguments.h:45
Argument::type
DString type
Definition
arguments.h:43
ArgumentList
This class represents an function or template argument list.
Definition
arguments.h:66
ArgumentList::push_back
void push_back(const Argument &a)
Definition
arguments.h:103
DString
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
Definition
dstring.h:84
DString::prepend
DString & prepend(const char *s)
Definition
dstring.h:515
config.h
Config_getBool
#define Config_getBool(name)
Definition
config.h:33
entry.h
addSTLMember
static void addSTLMember(const std::shared_ptr< Entry > &root, const char *type, const char *name)
Definition
stlsupport.cpp:143
g_stlinfo
static STLInfo g_stlinfo[]
Definition
stlsupport.cpp:37
addSTLClass
static void addSTLClass(const std::shared_ptr< Entry > &root, const STLInfo *info)
Definition
stlsupport.cpp:169
addSTLIterator
static void addSTLIterator(const std::shared_ptr< Entry > &classEntry, const DString &name)
Definition
stlsupport.cpp:156
addSTLClasses
static void addSTLClasses(const std::shared_ptr< Entry > &root)
Definition
stlsupport.cpp:248
addSTLSupport
void addSTLSupport(std::shared_ptr< Entry > &root)
Add stub entries for the most used classes in the standard template library.
Definition
stlsupport.cpp:269
stlsupport.h
STLInfo
A struct contained the data for an STL class.
Definition
stlsupport.cpp:25
STLInfo::templType2
const char * templType2
Definition
stlsupport.cpp:31
STLInfo::templName2
const char * templName2
Definition
stlsupport.cpp:32
STLInfo::baseClass2
const char * baseClass2
Definition
stlsupport.cpp:28
STLInfo::templType1
const char * templType1
Definition
stlsupport.cpp:29
STLInfo::baseClass1
const char * baseClass1
Definition
stlsupport.cpp:27
STLInfo::iterators
bool iterators
Definition
stlsupport.cpp:34
STLInfo::templName1
const char * templName1
Definition
stlsupport.cpp:30
STLInfo::virtualInheritance
bool virtualInheritance
Definition
stlsupport.cpp:33
STLInfo::className
const char * className
Definition
stlsupport.cpp:26
Specifier
Specifier
Definition
types.h:80
src
stlsupport.cpp
Generated by
1.19.0