class IDL::Type::Integer
def self.bits
def self.bits self::BITS end
def self.is_unsigned?
def self.is_unsigned? self::Range.first.zero? end
def in_range?(val)
def in_range?(val) val >= self.min && val <= self.max end
def max
def max self.class::Range.last end
def min
def min self.class::Range.first end
def narrow(obj)
def narrow(obj) typeerror(obj) unless ::Integer === obj typeerror(obj) unless self.class::Range === obj obj end
def next(val)
def next(val) val < self.max ? val + 1 : self.min end
def range_length
def range_length 1 + (self.class::Range.last - self.class::Range.first) end