36 lines
1.1 KiB
Markdown
36 lines
1.1 KiB
Markdown
[inplace.vector.erasure]
|
|
|
|
# 23 Containers library [[containers]](./#containers)
|
|
|
|
## 23.3 Sequence containers [[sequences]](sequences#inplace.vector.erasure)
|
|
|
|
### 23.3.16 Class template inplace_vector [[inplace.vector]](inplace.vector#erasure)
|
|
|
|
#### 23.3.16.6 Erasure [inplace.vector.erasure]
|
|
|
|
[ð](#lib:erase,inplace_vector)
|
|
|
|
`template<class T, size_t N, class U = T>
|
|
constexpr size_t erase(inplace_vector<T, N>& c, const U& value);
|
|
`
|
|
|
|
[1](#1)
|
|
|
|
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L11330)
|
|
|
|
*Effects*: Equivalent to:auto it = remove(c.begin(), c.end(), value);auto r = distance(it, c.end());
|
|
c.erase(it, c.end());return r;
|
|
|
|
[ð](#lib:erase_if,inplace_vector)
|
|
|
|
`template<class T, size_t N, class Predicate>
|
|
constexpr size_t erase_if(inplace_vector<T, N>& c, Predicate pred);
|
|
`
|
|
|
|
[2](#2)
|
|
|
|
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L11348)
|
|
|
|
*Effects*: Equivalent to:auto it = remove_if(c.begin(), c.end(), pred);auto r = distance(it, c.end());
|
|
c.erase(it, c.end());return r;
|