t = parse_template_param(first, last, db);
size_t k1 = db.names.size();
if (t != first && k1 == k0 + 1) {
- db.subs.push_back(
- typename C::sub_type(1, db.names.back(), db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
first = t;
} else {
for (; k1 != k0; --k1)
if (t != first) {
if (db.names.empty())
return first;
- db.subs.push_back(
- typename C::sub_type(1, db.names.back(), db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
first = t;
}
break;
if (db.names.empty())
return first;
db.names.back().first.insert(0, "std::");
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
first = t;
}
}
if (t1 != t) {
if (is_function)
db.subs.pop_back();
- db.subs.emplace_back(db.names.get_allocator());
+ db.subs.emplace_back();
for (size_t k = k0; k < k1; ++k) {
if (is_function) {
size_t p = db.names[k].second.size();
if (db.names.empty())
return first;
first = t;
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
}
break;
case 'C':
return first;
db.names.back().first.append(" complex");
first = t;
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
}
break;
case 'F':
if (db.names.empty())
return first;
first = t;
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
}
break;
case 'G':
return first;
db.names.back().first.append(" imaginary");
first = t;
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
}
break;
case 'M':
if (db.names.empty())
return first;
first = t;
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
}
break;
case 'O': {
t = parse_type(first + 1, last, db);
size_t k1 = db.names.size();
if (t != first + 1) {
- db.subs.emplace_back(db.names.get_allocator());
+ db.subs.emplace_back();
for (size_t k = k0; k < k1; ++k) {
if (db.names[k].second.substr(0, 2) == " [") {
db.names[k].first += " (";
t = parse_type(first + 1, last, db);
size_t k1 = db.names.size();
if (t != first + 1) {
- db.subs.emplace_back(db.names.get_allocator());
+ db.subs.emplace_back();
for (size_t k = k0; k < k1; ++k) {
if (db.names[k].second.substr(0, 2) == " [") {
db.names[k].first += " (";
t = parse_type(first + 1, last, db);
size_t k1 = db.names.size();
if (t != first + 1) {
- db.subs.emplace_back(db.names.get_allocator());
+ db.subs.emplace_back();
for (size_t k = k0; k < k1; ++k) {
if (db.names[k].second.substr(0, 2) == " [") {
db.names[k].first += " (";
t = parse_template_param(first, last, db);
size_t k1 = db.names.size();
if (t != first) {
- db.subs.emplace_back(db.names.get_allocator());
+ db.subs.emplace_back();
for (size_t k = k0; k < k1; ++k)
db.subs.back().push_back(db.names[k]);
if (db.try_to_parse_template_args && k1 == k0 + 1) {
auto args = db.names.back().move_full();
db.names.pop_back();
db.names.back().first += std::move(args);
- db.subs.push_back(typename C::sub_type(
- 1, db.names.back(), db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
t = t1;
}
}
db.names.push_back(type + " " + proto);
}
}
- db.subs.push_back(typename C::sub_type(
- 1, db.names.back(), db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
first = t2;
}
}
if (t != first) {
if (db.names.empty())
return first;
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
first = t;
}
} else {
db.names.back().first += template_args;
// Need to create substitution for <template-template-param>
// <template-args>
- db.subs.push_back(typename C::sub_type(
- 1, db.names.back(), db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
first = t;
}
}
t = parse_type(first + 2, last, db);
size_t k1 = db.names.size();
if (t != first + 2) {
- db.subs.emplace_back(db.names.get_allocator());
+ db.subs.emplace_back();
for (size_t k = k0; k < k1; ++k)
db.subs.back().push_back(db.names[k]);
first = t;
if (t != first) {
if (db.names.empty())
return first;
- db.subs.push_back(typename C::sub_type(
- 1, db.names.back(), db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
first = t;
return first;
}
if (t != first) {
if (db.names.empty())
return first;
- db.subs.push_back(typename C::sub_type(
- 1, db.names.back(), db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
first = t;
return first;
}
if (t != first) {
if (db.names.empty())
return first;
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
first = t;
}
}
std::string args("<");
while (*t != 'E') {
if (db.tag_templates)
- db.template_param.emplace_back(db.names.get_allocator());
+ db.template_param.emplace_back();
size_t k0 = db.names.size();
const char *t1 = parse_template_arg(t, last, db);
size_t k1 = db.names.size();
if (t1 == t || t1 == last)
return first;
if (db.tag_templates) {
- db.template_param.back().emplace_back(db.names.get_allocator());
+ db.template_param.back().emplace_back();
for (size_t k = k0; k < k1; ++k)
db.template_param.back().back().push_back(db.names[k]);
}
return first;
if (!db.names.back().first.empty()) {
db.names.back().first += "::" + name;
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
} else
db.names.back().first = name;
pop_subs = true;
db.names.back().first += "::" + name;
else
db.names.back().first = name;
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
pop_subs = true;
t0 = t1;
} else
db.names.back().first += "::" + name;
else
db.names.back().first = name;
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
pop_subs = true;
t0 = t1;
} else
if (db.names.empty())
return first;
db.names.back().first += name;
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
t0 = t1;
component_ends_with_template_args = true;
} else
db.names.back().first += "::" + name;
else
db.names.back().first = name;
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
pop_subs = true;
t0 = t1;
} else
{
if (db.names.empty())
return first;
- db.subs.push_back(typename C::sub_type(1, db.names.back(),
- db.names.get_allocator()));
+ db.subs.push_back(typename C::sub_type(1, db.names.back()));
t0 = t1;
t1 = parse_template_args(t0, last, db);
if (t1 != t0) {