Mercurial > jhg
comparison src/org/tmatesoft/hg/internal/IntVector.java @ 680:58a6900f845d
Blame: alternative strategy to handle merge revisions: map(diff(p1->base->p2)) to understand merge intentions better
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Sun, 21 Jul 2013 17:15:34 +0200 |
parents | f41dd9a3b8af |
children |
comparison
equal
deleted
inserted
replaced
679:19f5167c2155 | 680:58a6900f845d |
---|---|
22 * Vector of primitive values | 22 * Vector of primitive values |
23 * | 23 * |
24 * @author Artem Tikhomirov | 24 * @author Artem Tikhomirov |
25 * @author TMate Software Ltd. | 25 * @author TMate Software Ltd. |
26 */ | 26 */ |
27 public class IntVector { | 27 public class IntVector implements Cloneable { |
28 | 28 |
29 private int[] data; | 29 private int[] data; |
30 private final int increment; | 30 private final int increment; |
31 private int count; | 31 private int count; |
32 | 32 |
55 } | 55 } |
56 for (int v : values) { | 56 for (int v : values) { |
57 data[count++] = v; | 57 data[count++] = v; |
58 } | 58 } |
59 } | 59 } |
60 | 60 |
61 public void addAll(IntVector other) { | |
62 final int otherLen = other.count; | |
63 if (count + otherLen > data.length) { | |
64 grow(count + otherLen); | |
65 } | |
66 for (int i = 0; i < otherLen; i++) { | |
67 data[count++] = other.data[i]; | |
68 } | |
69 } | |
70 | |
61 public int get(int i) { | 71 public int get(int i) { |
62 if (i < 0 || i >= count) { | 72 if (i < 0 || i >= count) { |
63 throw new IndexOutOfBoundsException(String.format("Index: %d, size: %d", i, count)); | 73 throw new IndexOutOfBoundsException(String.format("Index: %d, size: %d", i, count)); |
64 } | 74 } |
65 return data[i]; | 75 return data[i]; |
124 | 134 |
125 @Override | 135 @Override |
126 public String toString() { | 136 public String toString() { |
127 return String.format("%s[%d]", IntVector.class.getSimpleName(), size()); | 137 return String.format("%s[%d]", IntVector.class.getSimpleName(), size()); |
128 } | 138 } |
139 | |
140 @Override | |
141 public IntVector clone() { | |
142 try { | |
143 return (IntVector) super.clone(); | |
144 } catch (CloneNotSupportedException ex) { | |
145 throw new Error(ex); | |
146 } | |
147 } | |
129 | 148 |
130 /** | 149 /** |
131 * Use only when this instance won't be used any longer | 150 * Use only when this instance won't be used any longer |
132 */ | 151 */ |
133 int[] toArray(boolean internalIfSizeMatchCapacity) { | 152 int[] toArray(boolean internalIfSizeMatchCapacity) { |