title: How to iterate properly over the search results of a DMultiMap (DeCAL) in Delphi?
body: <p>I am using the DMultiMap container from <a href="http://sourceforge.net/projects/decal/" rel="nofollow">DeCAL</a> with Delphi 6 to store data. The key is a string which can appears several time in the map.</p>
  
  <p>I wonder how to iterate properly over all objects with a given key.</p>
  
  <p>Will this code:</p>
  
  <pre><code>function IterateOverObjects(map: DMultimap);
  var iter: DIterator;
  begin
    iter := map.locate(['abc']);
    while IterateOver(iter) do
    begin
      // do something with the value...
    end;
  end;
  </code></pre>
  
  <p>returns all the objects of with 'abc' as key? Or will it returns all the objects of the map starting from the first object with 'abc' as key?</p>
  
  <p><strong>Edit:</strong> Just tested. It returns all the objects of the map starting from the first object with 'abc' as key. What is then the best way to iterate over 'abc'?</p>