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