Use C++ iterators for Lists in many situations
This commit is contained in:
@@ -66,9 +66,9 @@ void OptimizedTranslation::generate(const Ref<Translation> &p_from) {
|
||||
int total_compression_size = 0;
|
||||
int total_string_size = 0;
|
||||
|
||||
for (List<StringName>::Element *E = keys.front(); E; E = E->next()) {
|
||||
for (StringName &E : keys) {
|
||||
//hash string
|
||||
CharString cs = E->get().operator String().utf8();
|
||||
CharString cs = E.operator String().utf8();
|
||||
uint32_t h = hash(0, cs.get_data());
|
||||
Pair<int, CharString> p;
|
||||
p.first = idx;
|
||||
@@ -76,7 +76,7 @@ void OptimizedTranslation::generate(const Ref<Translation> &p_from) {
|
||||
buckets.write[h % size].push_back(p);
|
||||
|
||||
//compress string
|
||||
CharString src_s = p_from->get_message(E->get()).operator String().utf8();
|
||||
CharString src_s = p_from->get_message(E).operator String().utf8();
|
||||
CompressedString ps;
|
||||
ps.orig_len = src_s.size();
|
||||
ps.offset = total_compression_size;
|
||||
|
||||
@@ -841,8 +841,8 @@ Vector<String> Translation::_get_message_list() const {
|
||||
void Translation::_set_messages(const Dictionary &p_messages) {
|
||||
List<Variant> keys;
|
||||
p_messages.get_key_list(&keys);
|
||||
for (List<Variant>::Element *E = keys.front(); E; E = E->next()) {
|
||||
translation_map[E->get()] = p_messages[E->get()];
|
||||
for (Variant &E : keys) {
|
||||
translation_map[E] = p_messages[E];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -47,8 +47,7 @@ void TranslationPO::print_translation_map() {
|
||||
|
||||
List<StringName> context_l;
|
||||
translation_map.get_key_list(&context_l);
|
||||
for (List<StringName>::Element *E = context_l.front(); E; E = E->next()) {
|
||||
StringName ctx = E->get();
|
||||
for (StringName &ctx : context_l) {
|
||||
file->store_line(" ===== Context: " + String::utf8(String(ctx).utf8()) + " ===== ");
|
||||
const HashMap<StringName, Vector<StringName>> &inner_map = translation_map[ctx];
|
||||
|
||||
@@ -74,8 +73,7 @@ Dictionary TranslationPO::_get_messages() const {
|
||||
|
||||
List<StringName> context_l;
|
||||
translation_map.get_key_list(&context_l);
|
||||
for (List<StringName>::Element *E = context_l.front(); E; E = E->next()) {
|
||||
StringName ctx = E->get();
|
||||
for (StringName &ctx : context_l) {
|
||||
const HashMap<StringName, Vector<StringName>> &id_str_map = translation_map[ctx];
|
||||
|
||||
Dictionary d2;
|
||||
@@ -98,8 +96,7 @@ void TranslationPO::_set_messages(const Dictionary &p_messages) {
|
||||
|
||||
List<Variant> context_l;
|
||||
p_messages.get_key_list(&context_l);
|
||||
for (List<Variant>::Element *E = context_l.front(); E; E = E->next()) {
|
||||
StringName ctx = E->get();
|
||||
for (Variant &ctx : context_l) {
|
||||
const Dictionary &id_str_map = p_messages[ctx];
|
||||
|
||||
HashMap<StringName, Vector<StringName>> temp_map;
|
||||
@@ -121,8 +118,8 @@ Vector<String> TranslationPO::_get_message_list() const {
|
||||
get_message_list(&msgs);
|
||||
|
||||
Vector<String> v;
|
||||
for (List<StringName>::Element *E = msgs.front(); E; E = E->next()) {
|
||||
v.push_back(E->get());
|
||||
for (StringName &E : msgs) {
|
||||
v.push_back(E);
|
||||
}
|
||||
|
||||
return v;
|
||||
@@ -281,13 +278,13 @@ void TranslationPO::get_message_list(List<StringName> *r_messages) const {
|
||||
List<StringName> context_l;
|
||||
translation_map.get_key_list(&context_l);
|
||||
|
||||
for (List<StringName>::Element *E = context_l.front(); E; E = E->next()) {
|
||||
if (String(E->get()) != "") {
|
||||
for (StringName &E : context_l) {
|
||||
if (String(E) != "") {
|
||||
continue;
|
||||
}
|
||||
|
||||
List<StringName> msgid_l;
|
||||
translation_map[E->get()].get_key_list(&msgid_l);
|
||||
translation_map[E].get_key_list(&msgid_l);
|
||||
|
||||
for (List<StringName>::Element *E2 = msgid_l.front(); E2; E2 = E2->next()) {
|
||||
r_messages->push_back(E2->get());
|
||||
@@ -300,8 +297,8 @@ int TranslationPO::get_message_count() const {
|
||||
translation_map.get_key_list(&context_l);
|
||||
|
||||
int count = 0;
|
||||
for (List<StringName>::Element *E = context_l.front(); E; E = E->next()) {
|
||||
count += translation_map[E->get()].size();
|
||||
for (StringName &E : context_l) {
|
||||
count += translation_map[E].size();
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
@@ -3421,11 +3421,8 @@ String String::format(const Variant &values, String placeholder) const {
|
||||
List<Variant> keys;
|
||||
d.get_key_list(&keys);
|
||||
|
||||
for (List<Variant>::Element *E = keys.front(); E; E = E->next()) {
|
||||
String key = E->get();
|
||||
String val = d[E->get()];
|
||||
|
||||
new_string = new_string.replace(placeholder.replace("_", key), val);
|
||||
for (Variant &key : keys) {
|
||||
new_string = new_string.replace(placeholder.replace("_", key), d[key]);
|
||||
}
|
||||
} else {
|
||||
ERR_PRINT(String("Invalid type: use Array or Dictionary.").ascii().get_data());
|
||||
|
||||
Reference in New Issue
Block a user