using System;

namespace Cryville.Common.Pdt {
	/// <summary>
	/// Indicates that the attributed member is an element list.
	/// </summary>
	/// <remarks>
	/// <para>An element list is a <see cref="System.Collections.IDictionary" /> or <see cref="Cryville.Common.Collections.IPairList" /> that represents a collection of PDT elements. There must be at most one element list in a class.</para>
	/// </remarks>
	[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
	public class ElementListAttribute : Attribute { }

	/// <summary>
	/// Indicates that the attributed member is a property list.
	/// </summary>
	/// <remarks>
	/// <para>A property list is a <see cref="System.Collections.IDictionary" /> or <see cref="Cryville.Common.Collections.IPairList" /> that represents a collection of PDT properties. There must be at most one property list in a class.</para>
	/// </remarks>
	[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
	public class PropertyListAttribute : Attribute { }
}
