Selaa lähdekoodia

partial support for #10981

Nicolas Cannasse 2 vuotta sitten
vanhempi
commit
04db8f44da
1 muutettua tiedostoa jossa 8 lisäystä ja 0 poistoa
  1. 8 0
      std/haxe/EnumFlags.hx

+ 8 - 0
std/haxe/EnumFlags.hx

@@ -40,6 +40,14 @@ abstract EnumFlags<T:EnumValue>(Int) {
 		this = i;
 	}
 
+	@:from static function from<T:EnumValue>(e:T) : EnumFlags<T> {
+		return new EnumFlags(1 << e.getIndex());
+	}
+
+	@:op(a|b) function or(f:haxe.EnumFlags<T>) : haxe.EnumFlags<T>;
+	@:op(a&b) function and(f:haxe.EnumFlags<T>) : haxe.EnumFlags<T>;
+	@:op(a^b) function xor(f:haxe.EnumFlags<T>) : haxe.EnumFlags<T>;
+
 	/**
 		Checks if the index of enum instance `v` is set.