/// <summary> /// Add an element to the index using the default keys for this element. /// </summary> /// /// <param name="element"> /// The element to add /// </param> public void AddToIndex(IDomIndexedNode element) { foreach (ushort[] key in element.IndexKeysRanged()) { QueueAddToIndex(key, element); } if (element.HasChildren) { foreach (DomElement child in ((IDomContainer)element).ChildElements) { AddToIndex(child); } } }
/// <summary> /// Remove an element from the index. /// </summary> /// /// <param name="element"> /// The element to remove /// </param> public void RemoveFromIndex(IDomIndexedNode element) { if (element.HasChildren) { foreach (IDomElement child in ((IDomContainer)element).ChildElements) { if (child.IsIndexed) { RemoveFromIndex(child); } } } foreach (ushort[] key in element.IndexKeysRanged()) { QueueRemoveFromIndex(key); } }