using System;
using System.Collections;
using System.Collections.Generic;
namespace Umbraco.Cms.Core.Composing
{
///
/// Provides a base class for builder collections.
///
/// The type of the items.
public abstract class BuilderCollectionBase : IBuilderCollection
{
private readonly LazyReadOnlyCollection _items;
/// Initializes a new instance of the with items.
///
/// The items.
public BuilderCollectionBase(Func> items) => _items = new LazyReadOnlyCollection(items);
///
public int Count => _items.Count;
///
/// Gets an enumerator.
///
public IEnumerator GetEnumerator() => ((IEnumerable)_items).GetEnumerator();
///
/// Gets an enumerator.
///
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}
}