ida_bitrange ============ .. py:module:: ida_bitrange .. autoapi-nested-parse:: Definition of the bitrange_t class. Attributes ---------- .. autoapisummary:: ida_bitrange.SWIG_PYTHON_LEGACY_BOOL Classes ------- .. autoapisummary:: ida_bitrange.bitrange_t Module Contents --------------- .. py:data:: SWIG_PYTHON_LEGACY_BOOL .. py:class:: bitrange_t(bit_ofs: uint16 = 0, size_in_bits: uint16 = 0) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: init(bit_ofs: uint16, size_in_bits: uint16) -> None Initialize offset and size to given values. .. py:method:: reset() -> None Make the bitrange empty. .. py:method:: empty() -> bool Is the bitrange empty? .. py:method:: bitoff() -> uint Get offset of 1st bit. .. py:method:: bitsize() -> uint Get size of the value in bits. .. py:method:: bytesize() -> uint Size of the value in bytes. .. py:method:: mask64() -> uint64 Convert to mask of 64 bits. .. py:method:: has_common(r: bitrange_t) -> bool Does have common bits with another bitrange? .. py:method:: apply_mask(subrange: bitrange_t) -> bool Apply mask to a bitrange :param subrange: range *inside* the main bitrange to keep After this operation the main bitrange will be truncated to have only the bits that are specified by subrange. Example: [off=8,nbits=4], subrange[off=1,nbits=2] => [off=9,nbits=2] :returns: success .. py:method:: intersect(r: bitrange_t) -> None Intersect two ranges. .. py:method:: create_union(r: bitrange_t) -> None Create union of 2 ranges including the hole between them. .. py:method:: sub(r: bitrange_t) -> bool Subtract a bitrange. .. py:method:: shift_down(cnt: uint) -> None Shift range down (left) .. py:method:: shift_up(cnt: uint) -> None Shift range up (right) .. py:method:: extract(src: void const *, is_mf: bool) -> bool .. py:method:: inject(dst: void *, src: bytevec_t const &, is_mf: bool) -> bool .. py:method:: compare(r: bitrange_t) -> int