.. _maskbits: Maskbits ======== All statuses in jaeger are expressed as classes that subclass from `enum.IntFlag`. This allows them to behave as a series of values that can be combined with bitwise operations while also containing a representation of the name associated with a bit. `~enum.IntFlag` objects are ultimately just integers and can be used as such :: >>> dat_init = PositionerStatusV4_1.DATUM_INITIALIZED >>> dat_init >>> dat_init.name 'DATUM_INITIALIZED' >>> int(dat_init) 536870912 >>> isinstance(dat_init, int) True To create a new enumeration from an integer :: >>> PositionerStatusV4_1(117440512) Enumerations can be combined using bitwise operations :: >>> status = PositionerStatusV4_1.DATUM_INITIALIZED | PositionerStatusV4_1.SYSTEM_INITIALIZED >>> status.active_bits [, ] >>> status & PositionerStatusV4_1.ALPHA_DISPLACEMENT_COMPLETED Maskbits API ------------ .. automodule:: jaeger.maskbits :undoc-members: :member-order: bysource