using System.Collections; using System.Collections.Generic; namespace Carbon.Json { public partial class XNodeArray : JsonArray, ICollection { private readonly List items; public XNodeArray() { items = new List(); } public XNodeArray(params JsonNode[] values) { items = new List(values); } public override JsonNode this[int index] => items[index]; public override JsonType? ElementType => null; public bool IsReadOnly => false; public override int Count => items.Count; #region ICollection Members public void Add(JsonNode item) { items.Add(item); } void ICollection.Clear() { items.Clear(); } public bool Contains(JsonNode item) => items.Contains(item); void ICollection.CopyTo(JsonNode[] array, int arrayIndex) { items.CopyTo(array, arrayIndex); } public bool Remove(JsonNode item) { return items.Remove(item); } #endregion #region IEnumerable Members IEnumerator IEnumerable.GetEnumerator() => items.GetEnumerator(); IEnumerator IEnumerable.GetEnumerator() => items.GetEnumerator(); #endregion } }