// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
namespace ICSharpCode.AvalonEdit.Xml
{
///
/// Specailized attribute collection with attribute name caching
///
public class AXmlAttributeCollection: FilteredCollection>
{
/// Empty unbound collection
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes",
Justification = "InsertItem prevents modifying the Empty collection")]
public static readonly AXmlAttributeCollection Empty = new AXmlAttributeCollection();
/// Create unbound collection
protected AXmlAttributeCollection() {}
/// Wrap the given collection. Non-attributes are filtered
public AXmlAttributeCollection(AXmlObjectCollection source): base(source) {}
/// Wrap the given collection. Non-attributes are filtered. Items not matching the condition are filtered.
public AXmlAttributeCollection(AXmlObjectCollection source, Predicate