# Copyright (c) 2024 Yuki Kimoto
# MIT License

class Packer::Specifier {
  allow Packer;
  
  private enum {
    TYPE_NONE,
    TYPE_BYTE,
    TYPE_SHORT,
    TYPE_INT,
    TYPE_LONG,
    TYPE_FLOAT,
    TYPE_DOUBLE,
    TYPE_STRING,
  }
  
  private enum {
    ENDIAN_NONE,
    ENDIAN_LITTLE_ENDIAN,
    ENDIAN_BIG_ENDIAN,
  }
  
  # Fields
  has type : int;
  
  has is_numeric_object : int;
  
  has length : int;
  
  has endian : int;
}