BitMasks

Documentation for BitMasks.

BitMasks.combination_pairsFunction
combination_pairs(T::Type{<:BitMask})

Return a vector of name => combination::T pairs for all values of type T that that do not define a new flag, but rather define combinations of flags.

See also: combinations

BitMasks.combinationsFunction
combinations(T::Type{<:BitMask})

Return a vector of values of type T that do not define a new flag, but rather define combinations of flags.

BitMasks.enabled_flagsMethod

Return the bitmask flags present in mask; that is, all the BitMask flags for which in(flag, mask).

BitMasks.@bitmaskMacro
@bitmask [exported = false] BitFlags::UInt32 begin
    FLAG_A = 1
    FLAG_B = 2
    FLAG_C = 2^2 # == 4 (if you didn't know)
    FLAG_AB = FLAG_A | FLAG_B
end

Enumeration of bitmask flags that can be combined with &, | and xor, forbidding the combination of flags from different BitMasks.

If exported is set to true with a first argument of the form exported = <false|true>, then all the values and the defined type will be exported.