On Wed, 02 Feb 2011 05:11:34 -0500, Nrgyzer <[email protected]> wrote:

Hey guys,

I have an associative array like this: T[hash_t] myArray; (T means
the template type).

Is there any chance to cast/convert this array to an indexed array or
is it possible to iterate over specific indices? I know that there is
something like next() for the foreach-statement but when the array
contains some thousand instances and I only want iterate over (for
example) 5 elements I think that's the wrong way. It's for a game and
I think every next()-call influences the fps.

I hope there is any solution for my problem :) - Thanks!

dcollections contains more functionality than builtin AAs. The equivalent type in dcollections would be HashMap!(hash_t, T):

http://www.dsource.org/projects/dcollections

You might find this helps solve some problems. I don't really understand what you are asking for, if you want to iterate over "specific" indexes, wouldn't you just use those indexes to look up the elements you desire? i.e.:

foreach(i; specific_indexes) // specific_indexes is an array of the indexes you wish to use
{
   auto elem = myArray[i];
   ...
}

-Steve

Reply via email to