IterImageSegs15C - mdaus/nitro GitHub Wiki

Iterating image segments


Using just the iterator:

       /*  Walk each image and show  */
       nitf_ListIterator iter = nitf_List_begin(record->images);
       nitf_ListIterator end = nitf_List_end(record->images);

       while (nitf_ListIterator_notEqualTo(&iter, &end))
       {
           nitf_ImageSegment *segment = (nitf_ImageSegment *) nitf_ListIterator_get(&iter);
           ...
           nitf_ListIterator_increment(&iter);
       }


Using an integer counter. This method is less efficient than the first, but is occasionally more convenient:

       /*  Walk each image and show  */
      int i, last;
      ...
      last = (int)nitf_List_size(list);
      for (i = 0; i < last; i++)
      {
           nitf_ListIterator iter = nitf_List_at(list, i);
           nitf_ImageSegment *segment = (nitf_ImageSegment *) nitf_ListIterator_get(&iter);
           ...
       }


This same approach works for other segments as well.
⚠️ **GitHub.com Fallback** ⚠️