//Auto-generated by kalyptus. DO NOT EDIT.
namespace DOM {
	using Kimono;
	using System;
	using Qyoto;
	/// <remarks>
	///  The <code>ArrayList</code> interface provides the abstraction of
	///  an ordered collection of nodes, without defining or constraining
	///  how this collection is implemented.
	///   The items in the <code>ArrayList</code> are accessible via an
	///  integral index, starting from 0.
	///  </remarks>		<short>    The <code>NodeList</code> interface provides the abstraction of  an ordered collection of nodes, without defining or constraining  how this collection is implemented.</short>
	[SmokeClass("DOM::NodeList")]
	public class NodeList : Object, IDisposable {
		protected SmokeInvocation interceptor = null;
		private IntPtr smokeObject;
		protected NodeList(Type dummy) {}
		protected void CreateProxy() {
			interceptor = new SmokeInvocation(typeof(NodeList), this);
		}
		// DOM::NodeList* NodeList(const DOM::NodeListImpl* arg1); >>>> NOT CONVERTED
		public NodeList() : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("NodeList", "NodeList()", typeof(void));
		}
		public NodeList(DOM.NodeList other) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("NodeList#", "NodeList(const DOM::NodeList&)", typeof(void), typeof(DOM.NodeList), other);
		}
		/// <remarks>
		///  The number of nodes in the list. The range of valid child node
		///  indices is 0 to <code>length-1</code> inclusive.
		///      </remarks>		<short>    The number of nodes in the list.</short>
		public ulong Length() {
			return (ulong) interceptor.Invoke("length", "length() const", typeof(ulong));
		}
		/// <remarks>
		///  Returns the <code>index</code> th item in the collection. If
		///  <code>index</code> is greater than or equal to the number of
		///  nodes in the list, this returns <code>null</code> .
		/// <param> name="index" Index into the collection.
		/// </param>     </remarks>		<return> The node at the <code>index</code> th position in the
		///  <code>NodeList</code> , or <code>null</code> if that is not
		///  a valid index.
		/// </return>
		/// 		<short>    Returns the <code>index</code> th item in the collection.</short>
		public DOM.Node Item(ulong index) {
			return (DOM.Node) interceptor.Invoke("item$", "item(unsigned long) const", typeof(DOM.Node), typeof(ulong), index);
		}
		public bool IsNull() {
			return (bool) interceptor.Invoke("isNull", "isNull() const", typeof(bool));
		}
		~NodeList() {
			interceptor.Invoke("~NodeList", "~NodeList()", typeof(void));
		}
		public void Dispose() {
			interceptor.Invoke("~NodeList", "~NodeList()", typeof(void));
		}
	}
}
