Storing data based on address

In reply to m_r_m:

You need to explain better what you are trying to accomplish.

You could certainly do

out_data_q[outdata.dst_addr]].push_front(outdata);

But that seems like you would be wasting a lot of space because the dst_addr of each queue element you be the same for each index of the queue.

It might help to explain with a few scenarios of data that need to be operated on.