Remove forEachMemFunSH in favor of for loop with auto

pull/103/head
Tatsuhiro Tsujikawa 2013-06-22 19:04:52 +09:00
parent 05d85e2965
commit 38d4574355
2 changed files with 9 additions and 17 deletions

View File

@ -125,9 +125,9 @@ void DefaultBtMessageDispatcher::doCancelSendingPieceAction
std::vector<std::shared_ptr<BtMessage> > tempQueue std::vector<std::shared_ptr<BtMessage> > tempQueue
(messageQueue_.begin(), messageQueue_.end()); (messageQueue_.begin(), messageQueue_.end());
for(const auto& i : tempQueue) {
forEachMemFunSH(tempQueue.begin(), tempQueue.end(), i->onCancelSendingPieceEvent(event);
&BtMessage::onCancelSendingPieceEvent, event); }
} }
// Cancel sending piece message to peer. // Cancel sending piece message to peer.
@ -178,8 +178,9 @@ void DefaultBtMessageDispatcher::doAbortOutstandingRequestAction
std::vector<std::shared_ptr<BtMessage> > tempQueue std::vector<std::shared_ptr<BtMessage> > tempQueue
(messageQueue_.begin(), messageQueue_.end()); (messageQueue_.begin(), messageQueue_.end());
forEachMemFunSH(tempQueue.begin(), tempQueue.end(), for(const auto& i : tempQueue) {
&BtMessage::onAbortOutstandingRequestEvent, event); i->onAbortOutstandingRequestEvent(event);
}
} }
namespace { namespace {
@ -247,8 +248,9 @@ void DefaultBtMessageDispatcher::doChokingAction()
std::vector<std::shared_ptr<BtMessage> > tempQueue std::vector<std::shared_ptr<BtMessage> > tempQueue
(messageQueue_.begin(), messageQueue_.end()); (messageQueue_.begin(), messageQueue_.end());
forEachMemFunSH(tempQueue.begin(), tempQueue.end(), for(const auto& i : tempQueue) {
&BtMessage::onChokingEvent, event); i->onChokingEvent(event);
}
} }
namespace { namespace {

View File

@ -86,16 +86,6 @@ std::pair<InputIterator, size_t> max_sequence(InputIterator first,
return std::pair<InputIterator, size_t>(maxfirst, maxlen); return std::pair<InputIterator, size_t>(maxfirst, maxlen);
} }
template<typename InputIterator, typename R, typename C, typename A,
typename ACompat>
static void forEachMemFunSH(InputIterator first, InputIterator last,
R (C::*f)(A), ACompat arg)
{
for(; first != last; ++first) {
((*first).get()->*f)(arg);
}
}
template<typename InputIterator, typename T> template<typename InputIterator, typename T>
InputIterator findSecond InputIterator findSecond
(InputIterator first, InputIterator last, const T& t) (InputIterator first, InputIterator last, const T& t)