//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QTextFragment")]
    public class QTextFragment : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QTextFragment(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QTextFragment), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QTextFragment() {
            staticInterceptor = new SmokeInvocation(typeof(QTextFragment), null);
        }
        // QTextFragment* QTextFragment(const QTextDocumentPrivate* arg1,int arg2,int arg3); >>>> NOT CONVERTED
        public QTextFragment() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QTextFragment", "QTextFragment()", typeof(void));
        }
        public QTextFragment(QTextFragment o) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QTextFragment#", "QTextFragment(const QTextFragment&)", typeof(void), typeof(QTextFragment), o);
        }
        public bool IsValid() {
            return (bool) interceptor.Invoke("isValid", "isValid() const", typeof(bool));
        }
        public override bool Equals(object o) {
            if (!(o is QTextFragment)) { return false; }
            return this == (QTextFragment) o;
        }
        public override int GetHashCode() {
            return interceptor.GetHashCode();
        }
        public int Position() {
            return (int) interceptor.Invoke("position", "position() const", typeof(int));
        }
        public int Length() {
            return (int) interceptor.Invoke("length", "length() const", typeof(int));
        }
        public bool Contains(int position) {
            return (bool) interceptor.Invoke("contains$", "contains(int) const", typeof(bool), typeof(int), position);
        }
        public QTextCharFormat CharFormat() {
            return (QTextCharFormat) interceptor.Invoke("charFormat", "charFormat() const", typeof(QTextCharFormat));
        }
        public int CharFormatIndex() {
            return (int) interceptor.Invoke("charFormatIndex", "charFormatIndex() const", typeof(int));
        }
        public string Text() {
            return (string) interceptor.Invoke("text", "text() const", typeof(string));
        }
        ~QTextFragment() {
            interceptor.Invoke("~QTextFragment", "~QTextFragment()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QTextFragment", "~QTextFragment()", typeof(void));
        }
        public static bool operator==(QTextFragment lhs, QTextFragment o) {
            return (bool) staticInterceptor.Invoke("operator==#", "operator==(const QTextFragment&) const", typeof(bool), typeof(QTextFragment), lhs, typeof(QTextFragment), o);
        }
        public static bool operator!=(QTextFragment lhs, QTextFragment o) {
            return !(bool) staticInterceptor.Invoke("operator==#", "operator==(const QTextFragment&) const", typeof(bool), typeof(QTextFragment), lhs, typeof(QTextFragment), o);
        }
        public static bool operator<(QTextFragment lhs, QTextFragment o) {
            return (bool) staticInterceptor.Invoke("operator<#", "operator<(const QTextFragment&) const", typeof(bool), typeof(QTextFragment), lhs, typeof(QTextFragment), o);
        }
        public static bool operator>(QTextFragment lhs, QTextFragment o) {
            return !(bool) staticInterceptor.Invoke("operator<#", "operator<(const QTextFragment&) const", typeof(bool), typeof(QTextFragment), lhs, typeof(QTextFragment), o)
                        && !(bool) staticInterceptor.Invoke("operator==#", "operator==(const QTextFragment&) const", typeof(bool), typeof(QTextFragment), lhs, typeof(QTextFragment), o);
        }
    }
}
