diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2015-04-05 12:43:57 +0300 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2015-04-05 12:44:30 +0300 |
commit | f8b4632fd03b84f651b0b722d565caa68dc95b42 (patch) | |
tree | 2b3fb66ece741bd6e7e8cdb9f1869606c199653b /common | |
parent | ea83980191de966e28dad33be06addc8db832373 (diff) |
Use std::remove_if instead of a manual loop
Diffstat (limited to 'common')
-rw-r--r-- | common/DSUtilLite/DSMResourceBag.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/common/DSUtilLite/DSMResourceBag.cpp b/common/DSUtilLite/DSMResourceBag.cpp index 94e97d78..82f82c18 100644 --- a/common/DSUtilLite/DSMResourceBag.cpp +++ b/common/DSUtilLite/DSMResourceBag.cpp @@ -1,6 +1,7 @@ #include "stdafx.h" #include "DSMResourceBag.h" +#include <algorithm> CDSMResource::CDSMResource() : mime(L"application/octet-stream") @@ -137,13 +138,7 @@ STDMETHODIMP CDSMResourceBag::ResRemoveAll(DWORD_PTR tag) CAutoLock lock(&m_csResources); if (tag) { - auto crit = m_resources.begin(); - while (crit != m_resources.end()) { - if (crit->tag == tag) - crit = m_resources.erase(crit); - else - ++crit; - } + m_resources.erase(std::remove_if(m_resources.begin(), m_resources.end(), [&](const CDSMResource &r) { return r.tag == tag; }), m_resources.end()); } else { m_resources.clear(); } |