more use of for-loop and emplace_back in bencode.hpp

This commit is contained in:
Alden Torres 2018-03-15 17:36:15 -04:00 committed by Arvid Norberg
parent 4e04e6993d
commit eeffbc0e8c
1 changed files with 7 additions and 8 deletions

View File

@ -173,22 +173,21 @@ namespace detail {
break;
case entry::list_t:
write_char(out, 'l');
for (entry::list_type::const_iterator i = e.list().begin(); i != e.list().end(); ++i)
ret += bencode_recursive(out, *i);
for (auto const& i : e.list())
ret += bencode_recursive(out, i);
write_char(out, 'e');
ret += 2;
break;
case entry::dictionary_t:
write_char(out, 'd');
for (entry::dictionary_type::const_iterator i = e.dict().begin();
i != e.dict().end(); ++i)
for (auto const& i : e.dict())
{
// write key
ret += write_integer(out, i->first.length());
ret += write_integer(out, i.first.length());
write_char(out, ':');
ret += write_string(i->first, out);
ret += write_string(i.first, out);
// write value
ret += bencode_recursive(out, i->second);
ret += bencode_recursive(out, i.second);
ret += 1;
}
write_char(out, 'e');
@ -260,7 +259,7 @@ namespace detail {
++in; // 'l'
while (*in != 'e')
{
ret.list().push_back(entry());
ret.list().emplace_back();
entry& e = ret.list().back();
bdecode_recursive(in, end, e, err, depth + 1);
if (err)