//Auto-generated by kalyptus. DO NOT EDIT.
namespace Soprano.Util {
    using Soprano;
    using System;
    using Qyoto;
    using System.Collections.Generic;
    /// <remarks>
    ///  \class SimpleNodeIterator simplenodeiterator.h Soprano/Util/SimpleNodeIterator
    ///  \brief The most simple version of a NodeIterator simply iterates over
    ///  a list of Nodes.
    ///  The SimpleNodeIterator has been designed as a trivial extension
    ///  to NodeIterator and can be used as a drop-in-replacement as shown
    ///  below:
    ///  <pre>
    ///  QList<Node> list;
    ///  SimpleNodeIterator it( list );
    ///  // it and it2 iterate over the exact same data
    ///  NodeIterator it2 = it;
    ///  </pre>
    ///  \author Sebastian Trueg <trueg@kde.org>
    ///          </remarks>        <short>    \class SimpleNodeIterator simplenodeiterator.</short>
    [SmokeClass("Soprano::Util::SimpleNodeIterator")]
    public class SimpleNodeIterator : Soprano.NodeIterator, IDisposable {
        protected SimpleNodeIterator(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(SimpleNodeIterator), this);
        }
        public SimpleNodeIterator() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("SimpleNodeIterator", "SimpleNodeIterator()", typeof(void));
        }
        public SimpleNodeIterator(List<Soprano.Node> arg1) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("SimpleNodeIterator?", "SimpleNodeIterator(const QList<Soprano::Node>&)", typeof(void), typeof(List<Soprano.Node>), arg1);
        }
        public SimpleNodeIterator(Soprano.Util.SimpleNodeIterator arg1) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("SimpleNodeIterator#", "SimpleNodeIterator(const Soprano::Util::SimpleNodeIterator&)", typeof(void), typeof(Soprano.Util.SimpleNodeIterator), arg1);
        }
        ~SimpleNodeIterator() {
            interceptor.Invoke("~SimpleNodeIterator", "~SimpleNodeIterator()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~SimpleNodeIterator", "~SimpleNodeIterator()", typeof(void));
        }
    }
}
