context: // This file was generated by the Gtk# code generator.
  // Any changes made will be lost if regenerated.
  
  namespace Gtk {
  
  	using System;
  	using System.Collections;
  	using System.Collections.Generic;
  	using System.Runtime.InteropServices;
  
  #region Autogenerated code
  	[StructLayout(LayoutKind.Sequential)]
  	public partial struct TextIter : IEquatable<TextIter> {
  
  		private IntPtr _dummy1;
  		private IntPtr _dummy2;
  		private int dummy3;
  		private int dummy4;
  		private int dummy5;
  		private int dummy6;
  		private int dummy7;
  		private int dummy8;
  		private IntPtr _dummy9;
  		private IntPtr _dummy10;
  		private int dummy11;
  		private int dummy12;
  		private int dummy13;
  		private IntPtr _dummy14;
  
  		public static Gtk.TextIter Zero = new Gtk.TextIter ();
  
  		public static Gtk.TextIter New(IntPtr raw) {
  			if (raw == IntPtr.Zero)
  				return Gtk.TextIter.Zero;
  			return (Gtk.TextIter) Marshal.PtrToStructure (raw, typeof (Gtk.TextIter));
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_char(IntPtr raw);
  
  		public bool BackwardChar() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_char(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_chars(IntPtr raw, int count);
  
  		public bool BackwardChars(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_chars(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_cursor_position(IntPtr raw);
  
  		public bool BackwardCursorPosition() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_cursor_position(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_cursor_positions(IntPtr raw, int count);
  
  		public bool BackwardCursorPositions(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_cursor_positions(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_find_char(IntPtr raw, GtkSharp.TextCharPredicateNative pred, IntPtr user_data, IntPtr limit);
  
  		public bool BackwardFindChar(Gtk.TextCharPredicate pred, Gtk.TextIter limit) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			GtkSharp.TextCharPredicateWrapper pred_wrapper = new GtkSharp.TextCharPredicateWrapper (pred);
  			IntPtr native_limit = GLib.Marshaller.StructureToPtrAlloc (limit);
  			bool raw_ret = gtk_text_iter_backward_find_char(this_as_native, pred_wrapper.NativeDelegate, IntPtr.Zero, native_limit);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			limit = Gtk.TextIter.New (native_limit);
  			Marshal.FreeHGlobal (native_limit);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_line(IntPtr raw);
  
  		public bool BackwardLine() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_line(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_lines(IntPtr raw, int count);
  
  		public bool BackwardLines(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_lines(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_search(IntPtr raw, IntPtr str, int flags, IntPtr match_start, IntPtr match_end, IntPtr limit);
  
  		public bool BackwardSearch(string str, Gtk.TextSearchFlags flags, out Gtk.TextIter match_start, out Gtk.TextIter match_end, Gtk.TextIter limit) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
  			IntPtr native_match_start = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gtk.TextIter)));
  			IntPtr native_match_end = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gtk.TextIter)));
  			IntPtr native_limit = GLib.Marshaller.StructureToPtrAlloc (limit);
  			bool raw_ret = gtk_text_iter_backward_search(this_as_native, native_str, (int) flags, native_match_start, native_match_end, native_limit);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			GLib.Marshaller.Free (native_str);
  			match_start = Gtk.TextIter.New (native_match_start);
  			Marshal.FreeHGlobal (native_match_start);
  			match_end = Gtk.TextIter.New (native_match_end);
  			Marshal.FreeHGlobal (native_match_end);
  			limit = Gtk.TextIter.New (native_limit);
  			Marshal.FreeHGlobal (native_limit);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_sentence_start(IntPtr raw);
  
  		public bool BackwardSentenceStart() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_sentence_start(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_sentence_starts(IntPtr raw, int count);
  
  		public bool BackwardSentenceStarts(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_sentence_starts(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_to_tag_toggle(IntPtr raw, IntPtr tag);
  
  		public bool BackwardToTagToggle(Gtk.TextTag tag) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_to_tag_toggle(this_as_native, tag == null ? IntPtr.Zero : tag.Handle);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_visible_cursor_position(IntPtr raw);
  
  		public bool BackwardVisibleCursorPosition() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_visible_cursor_position(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_visible_cursor_positions(IntPtr raw, int count);
  
  		public bool BackwardVisibleCursorPositions(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_visible_cursor_positions(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_visible_line(IntPtr raw);
  
  		public bool BackwardVisibleLine() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_visible_line(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_visible_lines(IntPtr raw, int count);
  
  		public bool BackwardVisibleLines(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_visible_lines(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_visible_word_start(IntPtr raw);
  
  		public bool BackwardVisibleWordStart() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_visible_word_start(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_visible_word_starts(IntPtr raw, int count);
  
  		public bool BackwardVisibleWordStarts(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_visible_word_starts(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_word_start(IntPtr raw);
  
  		public bool BackwardWordStart() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_word_start(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_backward_word_starts(IntPtr raw, int count);
  
  		public bool BackwardWordStarts(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_backward_word_starts(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_begins_tag(IntPtr raw, IntPtr tag);
  
  		public bool BeginsTag(Gtk.TextTag tag) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_begins_tag(this_as_native, tag == null ? IntPtr.Zero : tag.Handle);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_can_insert(IntPtr raw, bool default_editability);
  
  		public bool CanInsert(bool default_editability) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_can_insert(this_as_native, default_editability);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern int gtk_text_iter_compare(IntPtr raw, IntPtr rhs);
  
  		public int Compare(Gtk.TextIter rhs) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			IntPtr native_rhs = GLib.Marshaller.StructureToPtrAlloc (rhs);
  			int raw_ret = gtk_text_iter_compare(this_as_native, native_rhs);
  			int ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			rhs = Gtk.TextIter.New (native_rhs);
  			Marshal.FreeHGlobal (native_rhs);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_editable(IntPtr raw, bool default_setting);
  
  		public bool Editable(bool default_setting) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_editable(this_as_native, default_setting);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_ends_line(IntPtr raw);
  
  		public bool EndsLine() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_ends_line(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_ends_sentence(IntPtr raw);
  
  		public bool EndsSentence() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_ends_sentence(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_ends_tag(IntPtr raw, IntPtr tag);
  
  		public bool EndsTag(Gtk.TextTag tag) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_ends_tag(this_as_native, tag == null ? IntPtr.Zero : tag.Handle);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_ends_word(IntPtr raw);
  
  		public bool EndsWord() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_ends_word(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_equal(IntPtr raw, IntPtr rhs);
  
  		public bool Equals(Gtk.TextIter rhs) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			IntPtr native_rhs = GLib.Marshaller.StructureToPtrAlloc (rhs);
  			bool raw_ret = gtk_text_iter_equal(this_as_native, native_rhs);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			rhs = Gtk.TextIter.New (native_rhs);
  			Marshal.FreeHGlobal (native_rhs);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_char(IntPtr raw);
  
  		public bool ForwardChar() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_char(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_chars(IntPtr raw, int count);
  
  		public bool ForwardChars(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_chars(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_cursor_position(IntPtr raw);
  
  		public bool ForwardCursorPosition() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_cursor_position(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_cursor_positions(IntPtr raw, int count);
  
  		public bool ForwardCursorPositions(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_cursor_positions(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_find_char(IntPtr raw, GtkSharp.TextCharPredicateNative pred, IntPtr user_data, IntPtr limit);
  
  		public bool ForwardFindChar(Gtk.TextCharPredicate pred, Gtk.TextIter limit) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			GtkSharp.TextCharPredicateWrapper pred_wrapper = new GtkSharp.TextCharPredicateWrapper (pred);
  			IntPtr native_limit = GLib.Marshaller.StructureToPtrAlloc (limit);
  			bool raw_ret = gtk_text_iter_forward_find_char(this_as_native, pred_wrapper.NativeDelegate, IntPtr.Zero, native_limit);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			limit = Gtk.TextIter.New (native_limit);
  			Marshal.FreeHGlobal (native_limit);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_line(IntPtr raw);
  
  		public bool ForwardLine() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_line(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_lines(IntPtr raw, int count);
  
  		public bool ForwardLines(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_lines(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_search(IntPtr raw, IntPtr str, int flags, IntPtr match_start, IntPtr match_end, IntPtr limit);
  
  		public bool ForwardSearch(string str, Gtk.TextSearchFlags flags, out Gtk.TextIter match_start, out Gtk.TextIter match_end, Gtk.TextIter limit) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
  			IntPtr native_match_start = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gtk.TextIter)));
  			IntPtr native_match_end = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gtk.TextIter)));
  			IntPtr native_limit = GLib.Marshaller.StructureToPtrAlloc (limit);
  			bool raw_ret = gtk_text_iter_forward_search(this_as_native, native_str, (int) flags, native_match_start, native_match_end, native_limit);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			GLib.Marshaller.Free (native_str);
  			match_start = Gtk.TextIter.New (native_match_start);
  			Marshal.FreeHGlobal (native_match_start);
  			match_end = Gtk.TextIter.New (native_match_end);
  			Marshal.FreeHGlobal (native_match_end);
  			limit = Gtk.TextIter.New (native_limit);
  			Marshal.FreeHGlobal (native_limit);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_sentence_end(IntPtr raw);
  
  		public bool ForwardSentenceEnd() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_sentence_end(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_sentence_ends(IntPtr raw, int count);
  
  		public bool ForwardSentenceEnds(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_sentence_ends(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gtk_text_iter_forward_to_end(IntPtr raw);
  
  		public void ForwardToEnd() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			gtk_text_iter_forward_to_end(this_as_native);
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_to_line_end(IntPtr raw);
  
  		public bool ForwardToLineEnd() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_to_line_end(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_to_tag_toggle(IntPtr raw, IntPtr tag);
  
  		public bool ForwardToTagToggle(Gtk.TextTag tag) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_to_tag_toggle(this_as_native, tag == null ? IntPtr.Zero : tag.Handle);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_visible_cursor_position(IntPtr raw);
  
  		public bool ForwardVisibleCursorPosition() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_visible_cursor_position(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_visible_cursor_positions(IntPtr raw, int count);
  
  		public bool ForwardVisibleCursorPositions(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_visible_cursor_positions(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_visible_line(IntPtr raw);
  
  		public bool ForwardVisibleLine() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_visible_line(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_visible_lines(IntPtr raw, int count);
  
  		public bool ForwardVisibleLines(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_visible_lines(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_visible_word_end(IntPtr raw);
  
  		public bool ForwardVisibleWordEnd() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_visible_word_end(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_visible_word_ends(IntPtr raw, int count);
  
  		public bool ForwardVisibleWordEnds(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_visible_word_ends(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_word_end(IntPtr raw);
  
  		public bool ForwardWordEnd() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_word_end(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_forward_word_ends(IntPtr raw, int count);
  
  		public bool ForwardWordEnds(int count) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_forward_word_ends(this_as_native, count);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_get_attributes(IntPtr raw, IntPtr values);
  
  		public bool GetAttributes(Gtk.TextAttributes values) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_get_attributes(this_as_native, values == null ? IntPtr.Zero : values.Handle);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gtk_text_iter_get_buffer(IntPtr raw);
  
  		public Gtk.TextBuffer Buffer { 
  			get {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				IntPtr raw_ret = gtk_text_iter_get_buffer(this_as_native);
  				Gtk.TextBuffer ret = GLib.Object.GetObject(raw_ret) as Gtk.TextBuffer;
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  				return ret;
  			}
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern int gtk_text_iter_get_bytes_in_line(IntPtr raw);
  
  		public int BytesInLine { 
  			get {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				int raw_ret = gtk_text_iter_get_bytes_in_line(this_as_native);
  				int ret = raw_ret;
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  				return ret;
  			}
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern int gtk_text_iter_get_chars_in_line(IntPtr raw);
  
  		public int CharsInLine { 
  			get {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				int raw_ret = gtk_text_iter_get_chars_in_line(this_as_native);
  				int ret = raw_ret;
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  				return ret;
  			}
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gtk_text_iter_get_child_anchor(IntPtr raw);
  
  		public Gtk.TextChildAnchor ChildAnchor { 
  			get {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				IntPtr raw_ret = gtk_text_iter_get_child_anchor(this_as_native);
  				Gtk.TextChildAnchor ret = GLib.Object.GetObject(raw_ret) as Gtk.TextChildAnchor;
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  				return ret;
  			}
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gtk_text_iter_get_language(IntPtr raw);
  
  		public Pango.Language Language { 
  			get {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				IntPtr raw_ret = gtk_text_iter_get_language(this_as_native);
  				Pango.Language ret = raw_ret == IntPtr.Zero ? null : (Pango.Language) GLib.Opaque.GetOpaque (raw_ret, typeof (Pango.Language), false);
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  				return ret;
  			}
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern int gtk_text_iter_get_line(IntPtr raw);
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gtk_text_iter_set_line(IntPtr raw, int line_number);
  
  		public int Line { 
  			get {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				int raw_ret = gtk_text_iter_get_line(this_as_native);
  				int ret = raw_ret;
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  				return ret;
  			}
  			set {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				gtk_text_iter_set_line(this_as_native, value);
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			}
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern int gtk_text_iter_get_line_index(IntPtr raw);
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gtk_text_iter_set_line_index(IntPtr raw, int byte_on_line);
  
  		public int LineIndex { 
  			get {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				int raw_ret = gtk_text_iter_get_line_index(this_as_native);
  				int ret = raw_ret;
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  				return ret;
  			}
  			set {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				gtk_text_iter_set_line_index(this_as_native, value);
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			}
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern int gtk_text_iter_get_line_offset(IntPtr raw);
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gtk_text_iter_set_line_offset(IntPtr raw, int char_on_line);
  
  		public int LineOffset { 
  			get {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				int raw_ret = gtk_text_iter_get_line_offset(this_as_native);
  				int ret = raw_ret;
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  				return ret;
  			}
  			set {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				gtk_text_iter_set_line_offset(this_as_native, value);
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			}
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern int gtk_text_iter_get_offset(IntPtr raw);
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gtk_text_iter_set_offset(IntPtr raw, int char_offset);
  
  		public int Offset { 
  			get {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				int raw_ret = gtk_text_iter_get_offset(this_as_native);
  				int ret = raw_ret;
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  				return ret;
  			}
  			set {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				gtk_text_iter_set_offset(this_as_native, value);
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			}
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gtk_text_iter_get_pixbuf(IntPtr raw);
  
  		public Gdk.Pixbuf Pixbuf { 
  			get {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				IntPtr raw_ret = gtk_text_iter_get_pixbuf(this_as_native);
  				Gdk.Pixbuf ret = GLib.Object.GetObject(raw_ret) as Gdk.Pixbuf;
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  				return ret;
  			}
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gtk_text_iter_get_slice(IntPtr raw, IntPtr end);
  
  		public string GetSlice(Gtk.TextIter end) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			IntPtr native_end = GLib.Marshaller.StructureToPtrAlloc (end);
  			IntPtr raw_ret = gtk_text_iter_get_slice(this_as_native, native_end);
  			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			end = Gtk.TextIter.New (native_end);
  			Marshal.FreeHGlobal (native_end);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gtk_text_iter_get_text(IntPtr raw, IntPtr end);
  
  		public string GetText(Gtk.TextIter end) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			IntPtr native_end = GLib.Marshaller.StructureToPtrAlloc (end);
  			IntPtr raw_ret = gtk_text_iter_get_text(this_as_native, native_end);
  			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			end = Gtk.TextIter.New (native_end);
  			Marshal.FreeHGlobal (native_end);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gtk_text_iter_get_type();
  
  		public static GLib.GType GType { 
  			get {
  				IntPtr raw_ret = gtk_text_iter_get_type();
  				GLib.GType ret = new GLib.GType(raw_ret);
  				return ret;
  			}
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern int gtk_text_iter_get_visible_line_index(IntPtr raw);
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gtk_text_iter_set_visible_line_index(IntPtr raw, int byte_on_line);
  
  		public int VisibleLineIndex { 
  			get {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				int raw_ret = gtk_text_iter_get_visible_line_index(this_as_native);
  				int ret = raw_ret;
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  				return ret;
  			}
  			set {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				gtk_text_iter_set_visible_line_index(this_as_native, value);
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			}
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern int gtk_text_iter_get_visible_line_offset(IntPtr raw);
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gtk_text_iter_set_visible_line_offset(IntPtr raw, int char_on_line);
  
  		public int VisibleLineOffset { 
  			get {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				int raw_ret = gtk_text_iter_get_visible_line_offset(this_as_native);
  				int ret = raw_ret;
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  				return ret;
  			}
  			set {
  				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  				gtk_text_iter_set_visible_line_offset(this_as_native, value);
  				ReadNative (this_as_native, ref this);
  				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			}
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gtk_text_iter_get_visible_slice(IntPtr raw, IntPtr end);
  
  		public string GetVisibleSlice(Gtk.TextIter end) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			IntPtr native_end = GLib.Marshaller.StructureToPtrAlloc (end);
  			IntPtr raw_ret = gtk_text_iter_get_visible_slice(this_as_native, native_end);
  			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			end = Gtk.TextIter.New (native_end);
  			Marshal.FreeHGlobal (native_end);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gtk_text_iter_get_visible_text(IntPtr raw, IntPtr end);
  
  		public string GetVisibleText(Gtk.TextIter end) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			IntPtr native_end = GLib.Marshaller.StructureToPtrAlloc (end);
  			IntPtr raw_ret = gtk_text_iter_get_visible_text(this_as_native, native_end);
  			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			end = Gtk.TextIter.New (native_end);
  			Marshal.FreeHGlobal (native_end);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_has_tag(IntPtr raw, IntPtr tag);
  
  		public bool HasTag(Gtk.TextTag tag) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_has_tag(this_as_native, tag == null ? IntPtr.Zero : tag.Handle);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_in_range(IntPtr raw, IntPtr start, IntPtr end);
  
  		public bool InRange(Gtk.TextIter start, Gtk.TextIter end) {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			IntPtr native_start = GLib.Marshaller.StructureToPtrAlloc (start);
  			IntPtr native_end = GLib.Marshaller.StructureToPtrAlloc (end);
  			bool raw_ret = gtk_text_iter_in_range(this_as_native, native_start, native_end);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			start = Gtk.TextIter.New (native_start);
  			Marshal.FreeHGlobal (native_start);
  			end = Gtk.TextIter.New (native_end);
  			Marshal.FreeHGlobal (native_end);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_inside_sentence(IntPtr raw);
  
  		public bool InsideSentence() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_inside_sentence(this_as_native);
  			bool ret = raw_ret;
  			ReadNative (this_as_native, ref this);
  			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
  			return ret;
  		}
  
  		[DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gtk_text_iter_inside_word(IntPtr raw);
  
  		public bool InsideWord() {
  			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
  			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
  			bool raw_ret = gtk_text_iter_inside_word(this_as_native);
  			bool ret = raw_ret;
  
gt: 			ReadNative (this_as_native, ref this);