38 lines
1.1 KiB
Markdown
38 lines
1.1 KiB
Markdown
[vector.erasure]
|
|
|
|
# 23 Containers library [[containers]](./#containers)
|
|
|
|
## 23.3 Sequence containers [[sequences]](sequences#vector.erasure)
|
|
|
|
### 23.3.13 Class template vector [[vector]](vector#erasure)
|
|
|
|
#### 23.3.13.6 Erasure [vector.erasure]
|
|
|
|
[ð](#lib:erase,vector)
|
|
|
|
`template<class T, class Allocator, class U = T>
|
|
constexpr typename vector<T, Allocator>::size_type
|
|
erase(vector<T, Allocator>& c, const U& value);
|
|
`
|
|
|
|
[1](#1)
|
|
|
|
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L10410)
|
|
|
|
*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,vector)
|
|
|
|
`template<class T, class Allocator, class Predicate>
|
|
constexpr typename vector<T, Allocator>::size_type
|
|
erase_if(vector<T, Allocator>& c, Predicate pred);
|
|
`
|
|
|
|
[2](#2)
|
|
|
|
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L10429)
|
|
|
|
*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;
|