class BinData::BaseArgProcessor

def separate_args(_obj_class, obj_args)

[value, parameters, parent]. Called by #extract_args.
Separates the arguments passed to BinData::Base.new into
def separate_args(_obj_class, obj_args)
  args = obj_args.dup
  value = parameters = parent = nil
  if args.length > 1 && args.last.is_a?(BinData::Base)
    parent = args.pop
  end
  if args.length > 0 && args.last.is_a?(Hash)
    parameters = args.pop
  end
  if args.length > 0
    value = args.pop
  end
  parameters ||= @@empty_hash
  [value, parameters, parent]
end