Error Object::removeSymbols(
function_ref<Expected<bool>(const Symbol &)> ToRemove) {
Error Errs = Error::success();
- Symbols.erase(std::remove_if(std::begin(Symbols), std::end(Symbols),
- [ToRemove, &Errs](const Symbol &Sym) {
- Expected<bool> ShouldRemove = ToRemove(Sym);
- if (!ShouldRemove) {
- Errs = joinErrors(std::move(Errs),
- ShouldRemove.takeError());
- return false;
- }
- return *ShouldRemove;
- }),
- std::end(Symbols));
+ llvm::erase_if(Symbols, [ToRemove, &Errs](const Symbol &Sym) {
+ Expected<bool> ShouldRemove = ToRemove(Sym);
+ if (!ShouldRemove) {
+ Errs = joinErrors(std::move(Errs), ShouldRemove.takeError());
+ return false;
+ }
+ return *ShouldRemove;
+ });
updateSymbols();
return Errs;
void SymbolTable::removeSymbols(
function_ref<bool(const std::unique_ptr<SymbolEntry> &)> ToRemove) {
- Symbols.erase(
- std::remove_if(std::begin(Symbols), std::end(Symbols), ToRemove),
- std::end(Symbols));
+ llvm::erase_if(Symbols, ToRemove);
}
void Object::updateLoadCommandIndexes() {
void Object::removeSections(function_ref<bool(const Section &)> ToRemove) {
// TODO: remove reloc sections for the removed section, handle symbols, etc.
- Sections.erase(
- std::remove_if(std::begin(Sections), std::end(Sections), ToRemove),
- std::end(Sections));
+ llvm::erase_if(Sections, ToRemove);
}
} // end namespace wasm