This notation looks a bit strange but I'm assuming if it compiles it is ok.  It might be cleaner to do something like

    UAVObjectField *field = *iter;

to be more explicit, and then work with field->pack