24 private int current = 0;
25 private object locker =
new object();
26 public int Count {
get;
private set; }
39 public virtual void Put(ref T item) {
51 array[current] = item;
58 public void Get(out T t,
int index = 0) {
63 int effectiveIndex = current - index;
64 if (effectiveIndex < 0) {
68 t = array[effectiveIndex];
74 public void Resize(
int newCapacity) {
80 T[] newArray =
new T[newCapacity];
82 for (
int i =
Count - 1; i >= 0; i--) {
87 this.array = newArray;
virtual void Put(ref T item)
void Resize(int newCapacity)
void Get(out T t, int index=0)
CircularObjectBuffer(int capacity)