generated/runtime/Nodes/Collections/XNodeArray.cs
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ using System.Collections; using System.Collections.Generic; namespace Commvault.Powershell.Runtime.Json { public sealed partial class XNodeArray : JsonArray, ICollection<JsonNode> { private readonly List<JsonNode> items; internal XNodeArray() { items = new List<JsonNode>(); } internal XNodeArray(params JsonNode[] values) { items = new List<JsonNode>(values); } internal XNodeArray(System.Collections.Generic.List<JsonNode> values) { items = new List<JsonNode>(values); } public override JsonNode this[int index] => items[index]; internal override JsonType? ElementType => null; public bool IsReadOnly => false; public override int Count => items.Count; #region ICollection<XNode> Members public void Add(JsonNode item) { items.Add(item); } void ICollection<JsonNode>.Clear() { items.Clear(); } public bool Contains(JsonNode item) => items.Contains(item); void ICollection<JsonNode>.CopyTo(JsonNode[] array, int arrayIndex) { items.CopyTo(array, arrayIndex); } public bool Remove(JsonNode item) { return items.Remove(item); } #endregion #region IEnumerable Members IEnumerator<JsonNode> IEnumerable<JsonNode>.GetEnumerator() => items.GetEnumerator(); IEnumerator IEnumerable.GetEnumerator() => items.GetEnumerator(); #endregion } } |