Use this type to have access to the bitwise operators of C# enums that have a cs.system.FlagsAttribute attribute.

Usage example:

	import cs.system.reflection.BindingFlags;
	var binding = new Flags(BindingFlags.Public) | BindingFlags.Static | BindingFlags.NonPublic;

Constructor

inlinenew (?initial:Null<T>)

Creates a new Flags type with an optional initial value. If no initial value was specified, the default enum value for an empty flags attribute is specified

Methods

inlineadd (flags:Flags<T>):Flags<T>

Accessible through the bitwise OR operator (|). Returns a new Flags type with the flags passed at flags added to it.

inlinebitAnd (flags:Flags<T>):Flags<T>

Accessible through the bitwise AND operator (&). Returns a new Flags type with the flags that are set on both this and flags

inlinebitNeg ():Flags<T>

Accesible through the bitwise negation operator (~). Returns a new Flags type with all unset flags as set - but the ones that are set already.

inlinebitXor (flags:Flags<T>):Flags<T>

Accessible through the bitwise XOR operator (^).

inlinehas (flag:T):Bool

Returns whether flag is present on this type

inlinehasAll (flags:Flags<T>):Bool

Returns whether this type has all flags set by flags also set

inlinehasAny (flags:Flags<T>):Bool

Returns whether this type has any flag set by flags also set

inlineremove (flags:Flags<T>):Flags<T>

Returns a new Flags type with all flags set by flags unset