public BoolArray(BoolArray array) { this.ordered = array.ordered; length = array.length; items = new bool[length]; JavaSystem.Arraycopy(array.items, 0, items, 0, length); }
public override bool Equals(object o) { if (o == this) { return(true); } if (!(o is BoolArray)) { return(false); } BoolArray array = (BoolArray)o; int n = length; if (n != array.length) { return(false); } for (int i = 0; i < n; i++) { if (items[i] != array.items[i]) { return(false); } } return(true); }
public void AddAll(BoolArray array, int offset, int length) { if (offset + length > array.length) { throw new LSysException( "offset + length must be <= length: " + offset + " + " + length + " <= " + array.length); } AddAll(array.items, offset, length); }
public static BoolArray Range(int start, int end, bool value) { BoolArray array = new BoolArray(end - start); for (int i = start; i < end; i++) { array.Add(value); } return(array); }
public BoolArray Where(QueryEvent <Boolean> test) { BoolArray list = new BoolArray(); for (int i = 0; i < length; i++) { Boolean t = Boolean.ValueOf(Get(i)); if (test.Hit(t)) { list.Add(t.BooleanValue()); } } return(list); }
public BoolArray Splice(int begin, int end) { BoolArray longs = new BoolArray(Slice(begin, end)); if (end - begin >= length) { items = new bool[0]; length = 0; return(longs); } else { RemoveRange(begin, end - 1); } return(longs); }
public bool RemoveAll(BoolArray array) { int length = this.length; int startlength = length; bool[] items = this.items; for (int i = 0, n = array.length; i < n; i++) { bool item = array.Get(i); for (int ii = 0; ii < length; ii++) { if (item == items[ii]) { RemoveIndex(ii); length--; break; } } } return(length != startlength); }
public BoolArray Concat(BoolArray o) { return(new BoolArray(Concat(this.items, this.length, o.items, o.length))); }
public void AddAll(BoolArray array) { AddAll(array, 0, array.length); }