| 1234567891011121314151617181920212223242526 | 
							- // -*-c++-*-
 
- // vim: set ft=cpp:
 
- /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
 
-    file LICENSE.rst or https://cmake.org/licensing for details.  */
 
- #pragma once
 
- namespace cm {
 
- namespace internals {
 
- template <typename Container, typename Predicate>
 
- void erase_if(Container& cont, Predicate pred)
 
- {
 
-   for (typename Container::iterator iter = cont.begin(), last = cont.end();
 
-        iter != last;) {
 
-     if (pred(*iter)) {
 
-       iter = cont.erase(iter);
 
-     } else {
 
-       ++iter;
 
-     }
 
-   }
 
- }
 
- } // namespace internals
 
- } // namespace cm
 
 
  |