package org.lennel.utils {

    import flash.util.ByteArray;
    import flash.util.trace;
    
    public class UIntByteArray {
        private var __n:ByteArray
        
        private var __blength:uint = 0;
        public function UIntByteArray()
        {
            __n = new ByteArray();
        }
        public function push(value:uint):void
        {
            __n.position = __blength;
            __blength += 4;
            __n.writeUnsignedInt(value);
        }
        public function getItemAt(pIndex:uint):uint
        {
            __n.position = pIndex << 2;
            return __n.readUnsignedInt();
        }
        public function setItemAt(pIndex:uint,value:uint):void
        {
            __n.position = pIndex << 2;
            __n.writeUnsignedInt(value);
            
        }
        public function get length():uint
        {
            //trace("l = " +String(__n.length)+" : "+String(__n.length >> 2));
            //return __n.length >> 2;
            return __blength >> 2;
        }
        public function toString():String
        {
            __n.position =0 ;
            return __n.readUTFBytes(__n.length);
        }
    }
}