Lines Matching refs:container

32 void IterateAndEraseIf(Container& container, Predicate pred) {
33 for (auto it = container.begin(); it != container.end();) {
35 it = container.erase(it);
78 // Returns true if the container is sorted.
81 // Note: Use reverse iterator on container to ensure we only require
122 // Returns true if the sorted container |a1| contains all elements of the sorted
123 // container |a2|.
133 // They provide a generic way to erase elements from a container.
142 void Erase(std::basic_string<CharT, Traits, Allocator>& container,
144 container.erase(std::remove(container.begin(), container.end(), value),
145 container.end());
149 void EraseIf(std::basic_string<CharT, Traits, Allocator>& container,
151 container.erase(std::remove_if(container.begin(), container.end(), pred),
152 container.end());
156 void Erase(std::deque<T, Allocator>& container, const Value& value) {
157 container.erase(std::remove(container.begin(), container.end(), value),
158 container.end());
162 void EraseIf(std::deque<T, Allocator>& container, Predicate pred) {
163 container.erase(std::remove_if(container.begin(), container.end(), pred),
164 container.end());
168 void Erase(std::vector<T, Allocator>& container, const Value& value) {
169 container.erase(std::remove(container.begin(), container.end(), value),
170 container.end());
174 void EraseIf(std::vector<T, Allocator>& container, Predicate pred) {
175 container.erase(std::remove_if(container.begin(), container.end(), pred),
176 container.end());
180 void Erase(std::forward_list<T, Allocator>& container, const Value& value) {
182 // heterogeneous types and does not force a conversion to the container's
184 container.remove_if([&](const T& cur) { return cur == value; });
188 void EraseIf(std::forward_list<T, Allocator>& container, Predicate pred) {
189 container.remove_if(pred);
193 void Erase(std::list<T, Allocator>& container, const Value& value) {
195 // types and does not force a conversion to the container's value type before
197 container.remove_if([&](const T& cur) { return cur == value; });
201 void EraseIf(std::list<T, Allocator>& container, Predicate pred) {
202 container.remove_if(pred);
206 void EraseIf(std::map<Key, T, Compare, Allocator>& container, Predicate pred) {
207 internal::IterateAndEraseIf(container, pred);
211 void EraseIf(std::multimap<Key, T, Compare, Allocator>& container,
213 internal::IterateAndEraseIf(container, pred);
217 void EraseIf(std::set<Key, Compare, Allocator>& container, Predicate pred) {
218 internal::IterateAndEraseIf(container, pred);
222 void EraseIf(std::multiset<Key, Compare, Allocator>& container,
224 internal::IterateAndEraseIf(container, pred);
233 void EraseIf(std::unordered_map<Key, T, Hash, KeyEqual, Allocator>& container,
235 internal::IterateAndEraseIf(container, pred);
245 std::unordered_multimap<Key, T, Hash, KeyEqual, Allocator>& container,
247 internal::IterateAndEraseIf(container, pred);
255 void EraseIf(std::unordered_set<Key, Hash, KeyEqual, Allocator>& container,
257 internal::IterateAndEraseIf(container, pred);
265 void EraseIf(std::unordered_multiset<Key, Hash, KeyEqual, Allocator>& container,
267 internal::IterateAndEraseIf(container, pred);