Îõ³h$Q Óà      !"#$%&'()*+,-./0123456789:;<=>?@AB Safe-Inferred>CDC7 Safe-Inferred…enumset€floor of binary logarithm - Intended for getting the position of a single set bit. This in turn is intended for implementing an E6 instance if you only know masks but no bit positions.enumset)set a bit - Intended for implementing an E6 instance if you only know masks but no bit positions. enumset subset a b is F if a is a subset of b.enumsetcould also be named member like in Set or elem as in '[]'enumsetcould also be named insert like in Setenumsetcould also be named delete like in SetenumsetÔSince this data type is intended for constructing flags, we choose the set union as GÇ. For intersection we would also not have a canonical identity element.    757 Safe-Inferred s enumsetHÁ should return an integer that represents the position of the aË value in the list of all enumeration items. In contrast to that, ' must return the according bit pattern. enumset9Combines a mask with a value, that matches this mask. In MaskedValue mask value, value must be a subset of mask."enumsetThe type parameter w> is the type of the underlying bit vector. The type parameter bÁ is a phantom type, that is specific for a certain range of bits.%enumset Mask w a b describes a field of a T w a that has type  Value w b. On the machine level a %— value is a vector of bits, where set bits represent the bits belonging to one record field. There must be only one mask value for every pair of types (a,b).(enumset÷The basic bit vector data type. It does not provide a lot of functionality, since that could not be done in a safe way. The type a¶ identifies the maintained flags. It may be an empty type but it may also be an enumeration of record fields with concrete values. In the latter case you are encouraged to define an à instance for this enumeration. Be aware that it is different from E of Prelude.,enumsetÒAll bits in Value must be contained in the mask. This condition is not checked by ,.According to names in  Data.Accessor it should be called set , but in  Data.Bits and thus  Data.EnumSet" this is already used in the pair set/clear. put/get resembles the pair in Control.Monad.State in the mtl package.1enumsetÃDecompose a flag set into flags. The flags are generated using the I and ú instance. We do not recommend to use the result list for further processing, since testing of flags is much faster using /$. However you may find it useful to J the list.2enumsetØCompose a flag set from a list of flags. However you may prefer to assemble flags using K or G on  s.4enumset mappend a b means that values stored in b# overwrite corresponding values in a. !"#$%&'()*+,-./012()*./21%&'0"#$ !+,- Safe-Inferred Ã=>?@AB=>?@ABÌ      !"#$$%%&''()*+,-!./012345"6789:;<=#>?@