module BinData::Struct::ByteAlignPlugin
def do_read(io)
def do_read(io) offset = 0 instantiate_all_objs @field_objs.each do |f| next unless include_obj?(f) if align_obj?(f) nbytes = bytes_to_align(f, offset.ceil) offset = offset.ceil + nbytes io.readbytes(nbytes) end f.do_read(io) nbytes = f.do_num_bytes offset = (nbytes.is_a?(Integer) ? offset.ceil : offset) + nbytes end end