farm-ng-core
erase.h
Go to the documentation of this file.
1
// Copyright 2022, farm-ng inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#pragma once
16
17
#include <algorithm>
18
19
namespace
farm_ng
{
20
21
/// https://en.cppreference.com/w/cpp/container/deque/erase2
22
template
<
class
TContainer,
class
TPred>
23
size_t
eraseIf
(TContainer& c, TPred pred) {
24
auto
it = std::remove_if(c.begin(), c.end(), pred);
25
auto
r = std::distance(it, c.end());
26
c.erase(it, c.end());
27
return
r;
28
}
29
30
}
// namespace farm_ng
farm_ng
Definition:
backtrace.cpp:102
farm_ng::eraseIf
size_t eraseIf(TContainer &c, TPred pred)
https://en.cppreference.com/w/cpp/container/deque/erase2
Definition:
erase.h:23
projects
farm-ng-core
cpp
farm_ng
core
misc
erase.h
Generated by
1.8.17