haxe/src/haxe/ds/Vector.cs
// Generated by Haxe 4.3.7

#pragma warning disable 109, 114, 219, 429, 168, 162
namespace haxe.ds._Vector {
	public sealed class Vector_Impl_ {
		
		public static T @get<T>(T[] this1, int index) {
			return global::haxe.lang.Runtime.genericCast<T>(this1[index]);
		}
		
		
		public static T @set<T>(T[] this1, int index, T val) {
			return this1[index] = val;
		}
		
		
		
		
		public static int get_length<T>(T[] this1) {
			return ( this1 as global::System.Array ).Length;
		}
		
		
		public static void fill<T>(T[] this1, T @value) {
			int _g = 0;
			int _g1 = ( ((T[]) (this1) ) as global::System.Array ).Length;
			while (( _g < _g1 )) {
				int i = _g++;
				this1[i] = @value;
			}
			
		}
		
		
		public static void blit<T>(T[] src, int srcPos, T[] dest, int destPos, int len) {
			global::System.Array.Copy(((global::System.Array) (src) ), ((int) (srcPos) ), ((global::System.Array) (dest) ), ((int) (destPos) ), ((int) (len) ));
		}
		
		
		public static global::Array<T> toArray<T>(T[] this1) {
			global::Array<T> a = new global::Array<T>();
			int len = ( ((T[]) (this1) ) as global::System.Array ).Length;
			{
				int _g = 0;
				int _g1 = len;
				while (( _g < _g1 )) {
					int i = _g++;
					a[i] = global::haxe.lang.Runtime.genericCast<T>(((T[]) (this1) )[i]);
				}
				
			}
			
			return a;
		}
		
		
		public static T[] toData<T>(T[] this1) {
			return this1;
		}
		
		
		public static T[] fromData<T>(T[] data) {
			return ((T[]) (data) );
		}
		
		
		public static T[] fromArrayCopy<T>(global::Array<T> array) {
			T[] ret = new T[array.length];
			global::cs.Lib.p_nativeArray<T>(((global::Array<T>) (array) ), ((global::System.Array) (ret) ));
			return ((T[]) (ret) );
		}
		
		
		public static void sort<T>(T[] this1, global::haxe.lang.Function f) {
			throw ((global::System.Exception) (global::haxe.Exception.thrown("not yet supported")) );
		}
		
		
	}
}