Itr cache

This commit is contained in:
BotanEgg
2012-07-14 06:28:23 +08:00
parent ae09bee193
commit bb11d11a72
9 changed files with 118 additions and 58 deletions

View File

@@ -310,9 +310,11 @@ void PeerListWidget::loadPeers(const QTorrentHandle &h, bool force_hostname_reso
boost::system::error_code ec;
std::vector<peer_info> peers;
h.get_peer_info(peers);
std::vector<peer_info>::const_iterator itr;
QSet<QString> old_peers_set = m_peerItems.keys().toSet();
for (itr = peers.begin(); itr != peers.end(); ++itr) {
std::vector<peer_info>::const_iterator itr = peers.begin();
std::vector<peer_info>::const_iterator itrend = peers.end();
for ( ; itr != itrend; ++itr) {
peer_info peer = *itr;
QString peer_ip = misc::toQString(peer.ip.address().to_string(ec));
if (ec) continue;

View File

@@ -312,8 +312,10 @@ void TrackerList::deleteSelectedTrackers() {
// Iterate of trackers and remove selected ones
std::vector<announce_entry> remaining_trackers;
std::vector<announce_entry> trackers = h.trackers();
std::vector<announce_entry>::iterator it;
for (it = trackers.begin(); it != trackers.end(); ++it) {
std::vector<announce_entry>::iterator it = trackers.begin();
std::vector<announce_entry>::iterator itend = trackers.end();
for ( ; it != itend; ++it) {
if (!urls_to_remove.contains(misc::toQString((*it).url))) {
remaining_trackers.push_back(*it);
}

View File

@@ -87,8 +87,10 @@ public slots:
QList<QUrl> existingTrackers;
// Load from torrent handle
std::vector<libtorrent::announce_entry> tor_trackers = h.trackers();
std::vector<libtorrent::announce_entry>::iterator itr = tor_trackers.begin();
while(itr != tor_trackers.end()) {
std::vector<libtorrent::announce_entry>::iterator itrend = tor_trackers.end();
while(itr != itrend) {
existingTrackers << QUrl(misc::toQString(itr->url));
++itr;
}