NodeList
Represents a list of Node instances or nodes.
using System.Collections;
using System.Collections.Generic;
using System.IO;
namespace AngleSharp.Dom.Collections
{
internal sealed class NodeList : INodeList, IEnumerable<INode>, IEnumerable, IMarkupFormattable
{
private readonly List<Node> _entries;
internal static readonly NodeList Empty = new NodeList();
public Node this[int index] {
get {
return _entries[index];
}
set {
_entries[index] = value;
}
}
INode INodeList.this[int index] {
get {
return this[index];
}
}
public int Length => _entries.Count;
internal NodeList()
{
_entries = new List<Node>();
}
internal void Add(Node node)
{
_entries.Add(node);
}
internal void AddRange(NodeList nodeList)
{
_entries.AddRange(nodeList._entries);
}
internal void Insert(int index, Node node)
{
_entries.Insert(index, node);
}
internal void Remove(Node node)
{
_entries.Remove(node);
}
internal void RemoveAt(int index)
{
_entries.RemoveAt(index);
}
internal bool Contains(Node node)
{
return _entries.Contains(node);
}
public void ToHtml(TextWriter writer, IMarkupFormatter formatter)
{
for (int i = 0; i < _entries.Count; i++) {
_entries[i].ToHtml(writer, formatter);
}
}
public IEnumerator<INode> GetEnumerator()
{
return _entries.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return _entries.GetEnumerator();
}
}
}