Custom operator for OptionSetType
RawValueがUInt32の場合
func -=<O: OptionSetType where O.RawValue == UInt32>(inout lhs: O, rhs: O) {
lhs = O(rawValue: lhs.rawValue ^ rhs.rawValue)
}
func +=<O: OptionSetType where O.RawValue == UInt32>(inout lhs: O, rhs: O) {
lhs = O(rawValue: lhs.rawValue | rhs.rawValue)
}
func +<O: OptionSetType where O.RawValue == UInt32>(lhs: O, rhs: O) -> O {
return O(rawValue: lhs.rawValue | rhs.rawValue)
}
func -<O: OptionSetType where O.RawValue == UInt32>(lhs: O, rhs: O) -> O {
return O(rawValue: lhs.rawValue ^ rhs.rawValue)
}