37 {
"allocator",
nullptr,
nullptr,
"T",
"elements",
nullptr,
nullptr,
false,
false },
38 {
"auto_ptr",
nullptr,
nullptr,
"T",
"ptr",
nullptr,
nullptr,
false,
false },
39 {
"smart_ptr",
nullptr,
nullptr,
"T",
"ptr",
nullptr,
nullptr,
false,
false },
40 {
"unique_ptr",
nullptr,
nullptr,
"T",
"ptr",
nullptr,
nullptr,
false,
false },
41 {
"shared_ptr",
nullptr,
nullptr,
"T",
"ptr",
nullptr,
nullptr,
false,
false },
42 {
"weak_ptr",
nullptr,
nullptr,
"T",
"ptr",
nullptr,
nullptr,
false,
false },
43 {
"atomic",
nullptr,
nullptr,
"T",
"ptr",
nullptr,
nullptr,
false,
false },
44 {
"atomic_ref",
nullptr,
nullptr,
"T",
"ptr",
nullptr,
nullptr,
false,
false },
45 {
"lock_guard",
nullptr,
nullptr,
"T",
"ptr",
nullptr,
nullptr,
false,
false },
46 {
"unique_lock",
nullptr,
nullptr,
"T",
"ptr",
nullptr,
nullptr,
false,
false },
47 {
"shared_lock",
nullptr,
nullptr,
"T",
"ptr",
nullptr,
nullptr,
false,
false },
48 {
"ios_base",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
49 {
"error_code",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
50 {
"error_category",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
51 {
"system_error",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
52 {
"error_condition",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
53 {
"thread",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
54 {
"jthread",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
55 {
"mutex",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
56 {
"timed_mutex",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
57 {
"recursive_mutex",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
58 {
"recursive_timed_mutex",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
59 {
"shared_mutex",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
60 {
"shared_timed_mutex",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
61 {
"basic_ios",
"ios_base",
nullptr,
"Char",
nullptr,
nullptr,
nullptr,
false,
false },
62 {
"basic_istream",
"basic_ios<Char>",
nullptr,
"Char",
nullptr,
nullptr,
nullptr,
true,
false },
63 {
"basic_ostream",
"basic_ios<Char>",
nullptr,
"Char",
nullptr,
nullptr,
nullptr,
true,
false },
64 {
"basic_iostream",
"basic_istream<Char>",
"basic_ostream<Char>",
"Char",
nullptr,
nullptr,
nullptr,
false,
false },
65 {
"basic_ifstream",
"basic_istream<Char>",
nullptr,
"Char",
nullptr,
nullptr,
nullptr,
false,
false },
66 {
"basic_ofstream",
"basic_ostream<Char>",
nullptr,
"Char",
nullptr,
nullptr,
nullptr,
false,
false },
67 {
"basic_fstream",
"basic_iostream<Char>",
nullptr,
"Char",
nullptr,
nullptr,
nullptr,
false,
false },
68 {
"basic_istringstream",
"basic_istream<Char>",
nullptr,
"Char",
nullptr,
nullptr,
nullptr,
false,
false },
69 {
"basic_ostringstream",
"basic_ostream<Char>",
nullptr,
"Char",
nullptr,
nullptr,
nullptr,
false,
false },
70 {
"basic_stringstream",
"basic_iostream<Char>",
nullptr,
"Char",
nullptr,
nullptr,
nullptr,
false,
false },
71 {
"ios",
"basic_ios<char>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
72 {
"wios",
"basic_ios<wchar_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
73 {
"istream",
"basic_istream<char>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
74 {
"wistream",
"basic_istream<wchar_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
75 {
"ostream",
"basic_ostream<char>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
76 {
"wostream",
"basic_ostream<wchar_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
77 {
"ifstream",
"basic_ifstream<char>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
78 {
"wifstream",
"basic_ifstream<wchar_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
79 {
"ofstream",
"basic_ofstream<char>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
80 {
"wofstream",
"basic_ofstream<wchar_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
81 {
"fstream",
"basic_fstream<char>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
82 {
"wfstream",
"basic_fstream<wchar_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
83 {
"istringstream",
"basic_istringstream<char>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
84 {
"wistringstream",
"basic_istringstream<wchar_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
85 {
"ostringstream",
"basic_ostringstream<char>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
86 {
"wostringstream",
"basic_ostringstream<wchar_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
87 {
"stringstream",
"basic_stringstream<char>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
88 {
"wstringstream",
"basic_stringstream<wchar_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
89 {
"basic_string",
nullptr,
nullptr,
"Char",
nullptr,
nullptr,
nullptr,
false,
true },
90 {
"string",
"basic_string<char>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
true },
91 {
"wstring",
"basic_string<wchar_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
true },
92 {
"u8string",
"basic_string<char8_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
true },
93 {
"u16string",
"basic_string<char16_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
true },
94 {
"u32string",
"basic_string<char32_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
true },
95 {
"basic_string_view",
nullptr,
nullptr,
"Char",
nullptr,
nullptr,
nullptr,
false,
true },
96 {
"string_view",
"basic_string_view<char>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
true },
97 {
"wstring_view",
"basic_string_view<wchar_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
true },
98 {
"u8string_view",
"basic_string_view<char8_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
true },
99 {
"u16string_view",
"basic_string_view<char16_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
true },
100 {
"u32string_view",
"basic_string_view<char32_t>",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
true },
101 {
"complex",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
102 {
"bitset",
nullptr,
nullptr,
"Bits",
nullptr,
nullptr,
nullptr,
false,
false },
103 {
"deque",
nullptr,
nullptr,
"T",
"elements",
nullptr,
nullptr,
false,
true },
104 {
"list",
nullptr,
nullptr,
"T",
"elements",
nullptr,
nullptr,
false,
true },
105 {
"forward_list",
nullptr,
nullptr,
"T",
"elements",
nullptr,
nullptr,
false,
true },
106 {
"pair",
nullptr,
nullptr,
"T1",
"first_type",
"T2",
"second_type",
false,
false },
107 {
"map",
nullptr,
nullptr,
"K",
"keys",
"T",
"elements",
false,
true },
108 {
"unordered_map",
nullptr,
nullptr,
"K",
"keys",
"T",
"elements",
false,
true },
109 {
"multimap",
nullptr,
nullptr,
"K",
"keys",
"T",
"elements",
false,
true },
110 {
"unordered_multimap",
nullptr,
nullptr,
"K",
"keys",
"T",
"elements",
false,
true },
111 {
"set",
nullptr,
nullptr,
"K",
"keys",
nullptr,
nullptr,
false,
true },
112 {
"unordered_set",
nullptr,
nullptr,
"K",
"keys",
nullptr,
nullptr,
false,
true },
113 {
"multiset",
nullptr,
nullptr,
"K",
"keys",
nullptr,
nullptr,
false,
true },
114 {
"unordered_multiset",
nullptr,
nullptr,
"K",
"keys",
nullptr,
nullptr,
false,
true },
115 {
"array",
nullptr,
nullptr,
"T",
"elements",
nullptr,
nullptr,
false,
true },
116 {
"vector",
nullptr,
nullptr,
"T",
"elements",
nullptr,
nullptr,
false,
true },
117 {
"span",
nullptr,
nullptr,
"T",
"elements",
nullptr,
nullptr,
false,
true },
118 {
"queue",
nullptr,
nullptr,
"T",
"elements",
nullptr,
nullptr,
false,
false },
119 {
"priority_queue",
nullptr,
nullptr,
"T",
"elements",
nullptr,
nullptr,
false,
false },
120 {
"stack",
nullptr,
nullptr,
"T",
"elements",
nullptr,
nullptr,
false,
false },
121 {
"valarray",
nullptr,
nullptr,
"T",
"elements",
nullptr,
nullptr,
false,
false },
122 {
"exception",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
123 {
"bad_alloc",
"exception",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
124 {
"bad_cast",
"exception",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
125 {
"bad_typeid",
"exception",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
126 {
"logic_error",
"exception",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
127 {
"ios_base::failure",
"exception",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
128 {
"runtime_error",
"exception",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
129 {
"bad_exception",
"exception",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
130 {
"domain_error",
"logic_error",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
131 {
"invalid_argument",
"logic_error",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
132 {
"length_error",
"logic_error",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
133 {
"out_of_range",
"logic_error",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
134 {
"range_error",
"runtime_error",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
135 {
"overflow_error",
"runtime_error",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
136 {
"underflow_error",
"runtime_error",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false },
137 {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
false,
false }
140static void addSTLMember(
const std::shared_ptr<Entry> &root,
const char *type,
const char *name)
142 std::shared_ptr<Entry> memEntry = std::make_shared<Entry>();
143 memEntry->name = name;
144 memEntry->type = type;
146 memEntry->section = EntryType::makeVariable();
147 memEntry->brief =
"STL member";
148 memEntry->hidden =
false;
149 memEntry->artificial =
true;
150 root->moveToSubEntryAndKeep(memEntry);
155 std::shared_ptr<Entry> iteratorClassEntry = std::make_shared<Entry>();
156 iteratorClassEntry->fileName =
"[STL]";
157 iteratorClassEntry->startLine = 1;
158 iteratorClassEntry->name = name;
159 iteratorClassEntry->section = EntryType::makeClass();
160 iteratorClassEntry->brief =
"STL iterator class";
161 iteratorClassEntry->hidden =
false;
162 iteratorClassEntry->artificial=
true;
163 classEntry->moveToSubEntryAndKeep(iteratorClassEntry);
173 std::shared_ptr<Entry> classEntry = std::make_shared<Entry>();
174 classEntry->fileName =
"[STL]";
175 classEntry->startLine = 1;
176 classEntry->name = fullName;
177 classEntry->section = EntryType::makeClass();
178 classEntry->brief =
"STL class";
179 classEntry->hidden =
false;
180 classEntry->artificial=
true;
196 classEntry->tArgLists.push_back(al);
207 if (fullName==
"std::auto_ptr" ||
208 fullName==
"std::smart_ptr" ||
209 fullName==
"std::shared_ptr" ||
210 fullName==
"std::weak_ptr" ||
211 fullName==
"std::unique_ptr")
213 std::shared_ptr<Entry> memEntry = std::make_shared<Entry>();
214 memEntry->name =
"operator->";
215 memEntry->args =
"()";
216 memEntry->type =
"T*";
218 memEntry->section = EntryType::makeFunction();
219 memEntry->brief =
"STL member";
220 memEntry->hidden =
false;
221 memEntry->artificial =
false;
222 classEntry->moveToSubEntryAndKeep(memEntry);
241 root->moveToSubEntryAndKeep(classEntry);
247 std::shared_ptr<Entry> namespaceEntry = std::make_shared<Entry>();
248 namespaceEntry->fileName =
"[STL]";
249 namespaceEntry->startLine = 1;
250 namespaceEntry->name =
"std";
251 namespaceEntry->section = EntryType::makeNamespace();
252 namespaceEntry->brief =
"STL namespace";
253 namespaceEntry->hidden =
false;
254 namespaceEntry->artificial=
true;
263 root->moveToSubEntryAndKeep(namespaceEntry);
This class represents an function or template argument list.
void push_back(const Argument &a)
This is an alternative implementation of QCString.
QCString & prepend(const char *s)
#define Config_getBool(name)
static void addSTLMember(const std::shared_ptr< Entry > &root, const char *type, const char *name)
static STLInfo g_stlinfo[]
static void addSTLClass(const std::shared_ptr< Entry > &root, const STLInfo *info)
static void addSTLClasses(const std::shared_ptr< Entry > &root)
void addSTLSupport(std::shared_ptr< Entry > &root)
Add stub entries for the most used classes in the standard template library.
static void addSTLIterator(const std::shared_ptr< Entry > &classEntry, const QCString &name)
This class contains the information about the argument of a function or template.
A struct contained the data for an STL class.
Specifier
Virtualness of a member.