cdm/src/main/java/ucar/nc2/Structure.java
public StructureDataIterator getStructureIterator(int bufferSize) throws java.io.IOException {
    return (getRank() < 2) ? new Structure.IteratorRank1(bufferSize) : new Structure.Iterator(bufferSize);
  }
public StructureDataIterator getStructureIterator(int bufferSize) throws java.io.IOException {
    return (getRank() < 2) ? new Structure.IteratorRank1(bufferSize) : new Structure.Iterator(bufferSize);
  }
public StructureDataIterator getStructureIterator ( int bufferSize ) throws java . io . IOException { return ( getRank ( ) < 2 ) ? new Structure . IteratorRank1 ( bufferSize ) : new Structure . Iterator ( bufferSize ) ; }
Get an efficient iterator over all the data in the Structure.

This is the efficient way to get all the data, it can be much faster than reading one record at a time,
and is optimized for large datasets.
This is accomplished by buffering bufferSize amount of data at once.

<pre>Example:

StructureDataIterator ii = structVariable.getStructureIterator(100 * 1000);
while (ii.hasNext()) {
StructureData sdata = ii.next();
}
</pre>
@param bufferSize size in bytes to buffer, set < 0 to use default size
@return StructureDataIterator over type StructureData
@throws java.io.IOException on read error
Get an efficient iterator over all the data in the Structure .