module BinData::BitFieldFactory

def const_missing(name)

def const_missing(name)
  mappings = {
    /^Bit(\d+)$/    => :big,
    /^Bit(\d+)le$/  => :little,
    /^Sbit(\d+)$/   => [:big, :signed],
    /^Sbit(\d+)le$/ => [:little, :signed]
  }
  mappings.each_pair do |regex, args|
    if regex =~ name.to_s
      nbits = $1.to_i
      return BitField.define_class(name, nbits, *args)
    end
  end
  super(name)
end