Nicolas Cannasse преди 2 години
родител
ревизия
04db8f44da
променени са 1 файла, в които са добавени 8 реда и са изтрити 0 реда
  1. 8 0
      std/haxe/EnumFlags.hx

+ 8 - 0
std/haxe/EnumFlags.hx

@@ -40,6 +40,14 @@ abstract EnumFlags<T:EnumValue>(Int) {
 		this = i;
 		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.
 		Checks if the index of enum instance `v` is set.