class BinData::Struct

def each_pair(include_all = false)

+include_all+ is true.
Does not include anonymous or hidden fields unless

Calls the given block for each field_name-field_obj pair.
def each_pair(include_all = false)
  instantiate_all_objs
  pairs = @field_names.zip(@field_objs).select do |name, _obj|
    name || include_all
  end
  if block_given?
    pairs.each { |el| yield(el) }
  else
    pairs.each
  end
end