module BinData::BitField
def define_methods(bit_class, nbits, endian)
def define_methods(bit_class, nbits, endian) bit_class.module_eval <<-END def assign(val) #{create_clamp_code(nbits)} super(val) end def do_write(io) io.writebits(_value, #{nbits}, :#{endian}) end def do_num_bytes #{nbits / 8.0} end #--------------- private def read_and_return_value(io) io.readbits(#{nbits}, :#{endian}) end def sensible_default 0 end END end