// Operations (type-safe ICloneable) /// <summary> /// /// </summary> /// <returns></returns> public UndoBlockCollection Clone() { UndoBlockCollection tc = new UndoBlockCollection(); tc.AddRange(this); tc.Capacity = this.m_array.Length; tc.m_version = this.m_version; return(tc); }
/// <summary> /// /// </summary> /// <param name="collection"></param> public void AddRange(UndoBlockCollection collection) { // for (int i=0; i < collection.Count; ++i) Add(collection[i]); ++m_version; Capacity += collection.Count; Array.Copy(collection.m_array, 0, this.m_array, m_count, collection.m_count); m_count += collection.Count; }
// Construction public Enumerator(UndoBlockCollection tc) { m_collection = tc; m_index = -1; m_version = tc.m_version; }
/// <summary> /// /// </summary> /// <param name="collection"></param> public UndoBlockCollection(UndoBlockCollection collection) { AddRange(collection); }