COIN-OR::LEMON - Graph Library

Ticket #631: destory.diff

File destory.diff, 2.7 KB (added by Alpar Juttner, 4 years ago)
  • lemon/bits/array_map.

    old new  
    219219          int jd = nf->id(it);;
    220220          if (id != jd) {
    221221            allocator.construct(&(new_values[jd]), values[jd]);
    222             allocator.destroy(&(values[jd]));
     222            std::allocator_traits<std::allocator<Value>>::destroy(allocator, &(values[jd]));
    223223          }
    224224        }
    225225        if (capacity != 0) allocator.deallocate(values, capacity);
     
    261261          }
    262262          if (found) continue;
    263263          allocator.construct(&(new_values[id]), values[id]);
    264           allocator.destroy(&(values[id]));
     264          std::allocator_traits<std::allocator<Value>>::destroy(allocator, &(values[id]));
    265265        }
    266266        if (capacity != 0) allocator.deallocate(values, capacity);
    267267        values = new_values;
     
    279279    // and it overrides the erase() member function of the observer base.
    280280    virtual void erase(const Key& key) {
    281281      int id = Parent::notifier()->id(key);
    282       allocator.destroy(&(values[id]));
     282      std::allocator_traits<std::allocator<Value>>::destroy(allocator, &(values[id]));
    283283    }
    284284
    285285    // \brief Erase more keys from the map.
     
    289289    virtual void erase(const std::vector<Key>& keys) {
    290290      for (int i = 0; i < int(keys.size()); ++i) {
    291291        int id = Parent::notifier()->id(keys[i]);
    292         allocator.destroy(&(values[id]));
     292        std::allocator_traits<std::allocator<Value>>::destroy(allocator, &(values[id]));
    293293      }
    294294    }
    295295
     
    317317        Item it;
    318318        for (nf->first(it); it != INVALID; nf->next(it)) {
    319319          int id = nf->id(it);
    320           allocator.destroy(&(values[id]));
     320          std::allocator_traits<std::allocator<Value>>::destroy(allocator, &(values[id]));
    321321        }
    322322        allocator.deallocate(values, capacity);
    323323        capacity = 0;
  • lemon/path.

    old new  
    582582    void clear() {
    583583      while (first != 0) {
    584584        last = first->next;
    585         alloc.destroy(first);
     585        std::allocator_traits<std::allocator<Node>>::destroy(alloc, first);
    586586        alloc.deallocate(first, 1);
    587587        first = last;
    588588      }
     
    617617      } else {
    618618        last = 0;
    619619      }
    620       alloc.destroy(node);
     620      std::allocator_traits<std::allocator<Node>>::destroy(alloc, node);
    621621      alloc.deallocate(node, 1);
    622622    }
    623623
     
    650650      } else {
    651651        first = 0;
    652652      }
    653       alloc.destroy(node);
     653      std::allocator_traits<std::allocator<Node>>::destroy(alloc, node);
    654654      alloc.deallocate(node, 1);
    655655    }
    656656