// 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));
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_text_iter_assign(IntPtr raw, IntPtr other);
		static d_gtk_text_iter_assign gtk_text_iter_assign = FuncLoader.LoadFunction<d_gtk_text_iter_assign>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_assign"));

		public void Assign(Gtk.TextIter other) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
			IntPtr native_other = GLib.Marshaller.StructureToPtrAlloc (other);
			gtk_text_iter_assign(this_as_native, native_other);
			ReadNative (this_as_native, ref this);
			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
			Marshal.FreeHGlobal (native_other);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_char(IntPtr raw);
		static d_gtk_text_iter_backward_char gtk_text_iter_backward_char = FuncLoader.LoadFunction<d_gtk_text_iter_backward_char>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_char"));

		public bool BackwardChar() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_chars(IntPtr raw, int count);
		static d_gtk_text_iter_backward_chars gtk_text_iter_backward_chars = FuncLoader.LoadFunction<d_gtk_text_iter_backward_chars>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_chars"));

		public bool BackwardChars(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_cursor_position(IntPtr raw);
		static d_gtk_text_iter_backward_cursor_position gtk_text_iter_backward_cursor_position = FuncLoader.LoadFunction<d_gtk_text_iter_backward_cursor_position>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_cursor_position"));

		public bool BackwardCursorPosition() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_cursor_positions(IntPtr raw, int count);
		static d_gtk_text_iter_backward_cursor_positions gtk_text_iter_backward_cursor_positions = FuncLoader.LoadFunction<d_gtk_text_iter_backward_cursor_positions>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_cursor_positions"));

		public bool BackwardCursorPositions(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_find_char(IntPtr raw, GtkSharp.TextCharPredicateNative pred, IntPtr user_data, IntPtr limit);
		static d_gtk_text_iter_backward_find_char gtk_text_iter_backward_find_char = FuncLoader.LoadFunction<d_gtk_text_iter_backward_find_char>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_find_char"));

		public bool BackwardFindChar(Gtk.TextCharPredicate pred, Gtk.TextIter limit) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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);
			Marshal.FreeHGlobal (native_limit);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_line(IntPtr raw);
		static d_gtk_text_iter_backward_line gtk_text_iter_backward_line = FuncLoader.LoadFunction<d_gtk_text_iter_backward_line>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_line"));

		public bool BackwardLine() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_lines(IntPtr raw, int count);
		static d_gtk_text_iter_backward_lines gtk_text_iter_backward_lines = FuncLoader.LoadFunction<d_gtk_text_iter_backward_lines>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_lines"));

		public bool BackwardLines(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_search(IntPtr raw, IntPtr str, int flags, IntPtr match_start, IntPtr match_end, IntPtr limit);
		static d_gtk_text_iter_backward_search gtk_text_iter_backward_search = FuncLoader.LoadFunction<d_gtk_text_iter_backward_search>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_search"));

		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<Gtk.TextIter>());
			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<Gtk.TextIter>());
			IntPtr native_match_end = Marshal.AllocHGlobal (Marshal.SizeOf<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);
			Marshal.FreeHGlobal (native_limit);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_sentence_start(IntPtr raw);
		static d_gtk_text_iter_backward_sentence_start gtk_text_iter_backward_sentence_start = FuncLoader.LoadFunction<d_gtk_text_iter_backward_sentence_start>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_sentence_start"));

		public bool BackwardSentenceStart() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_sentence_starts(IntPtr raw, int count);
		static d_gtk_text_iter_backward_sentence_starts gtk_text_iter_backward_sentence_starts = FuncLoader.LoadFunction<d_gtk_text_iter_backward_sentence_starts>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_sentence_starts"));

		public bool BackwardSentenceStarts(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_to_tag_toggle(IntPtr raw, IntPtr tag);
		static d_gtk_text_iter_backward_to_tag_toggle gtk_text_iter_backward_to_tag_toggle = FuncLoader.LoadFunction<d_gtk_text_iter_backward_to_tag_toggle>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_to_tag_toggle"));

		public bool BackwardToTagToggle(Gtk.TextTag tag) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_visible_cursor_position(IntPtr raw);
		static d_gtk_text_iter_backward_visible_cursor_position gtk_text_iter_backward_visible_cursor_position = FuncLoader.LoadFunction<d_gtk_text_iter_backward_visible_cursor_position>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_visible_cursor_position"));

		public bool BackwardVisibleCursorPosition() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_visible_cursor_positions(IntPtr raw, int count);
		static d_gtk_text_iter_backward_visible_cursor_positions gtk_text_iter_backward_visible_cursor_positions = FuncLoader.LoadFunction<d_gtk_text_iter_backward_visible_cursor_positions>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_visible_cursor_positions"));

		public bool BackwardVisibleCursorPositions(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_visible_line(IntPtr raw);
		static d_gtk_text_iter_backward_visible_line gtk_text_iter_backward_visible_line = FuncLoader.LoadFunction<d_gtk_text_iter_backward_visible_line>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_visible_line"));

		public bool BackwardVisibleLine() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_visible_lines(IntPtr raw, int count);
		static d_gtk_text_iter_backward_visible_lines gtk_text_iter_backward_visible_lines = FuncLoader.LoadFunction<d_gtk_text_iter_backward_visible_lines>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_visible_lines"));

		public bool BackwardVisibleLines(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_visible_word_start(IntPtr raw);
		static d_gtk_text_iter_backward_visible_word_start gtk_text_iter_backward_visible_word_start = FuncLoader.LoadFunction<d_gtk_text_iter_backward_visible_word_start>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_visible_word_start"));

		public bool BackwardVisibleWordStart() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_visible_word_starts(IntPtr raw, int count);
		static d_gtk_text_iter_backward_visible_word_starts gtk_text_iter_backward_visible_word_starts = FuncLoader.LoadFunction<d_gtk_text_iter_backward_visible_word_starts>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_visible_word_starts"));

		public bool BackwardVisibleWordStarts(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_word_start(IntPtr raw);
		static d_gtk_text_iter_backward_word_start gtk_text_iter_backward_word_start = FuncLoader.LoadFunction<d_gtk_text_iter_backward_word_start>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_word_start"));

		public bool BackwardWordStart() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_backward_word_starts(IntPtr raw, int count);
		static d_gtk_text_iter_backward_word_starts gtk_text_iter_backward_word_starts = FuncLoader.LoadFunction<d_gtk_text_iter_backward_word_starts>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_backward_word_starts"));

		public bool BackwardWordStarts(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_begins_tag(IntPtr raw, IntPtr tag);
		static d_gtk_text_iter_begins_tag gtk_text_iter_begins_tag = FuncLoader.LoadFunction<d_gtk_text_iter_begins_tag>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_begins_tag"));

		[Obsolete]
		public bool BeginsTag(Gtk.TextTag tag) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_can_insert(IntPtr raw, bool default_editability);
		static d_gtk_text_iter_can_insert gtk_text_iter_can_insert = FuncLoader.LoadFunction<d_gtk_text_iter_can_insert>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_can_insert"));

		public bool CanInsert(bool default_editability) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_text_iter_compare(IntPtr raw, IntPtr rhs);
		static d_gtk_text_iter_compare gtk_text_iter_compare = FuncLoader.LoadFunction<d_gtk_text_iter_compare>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_compare"));

		public int Compare(Gtk.TextIter rhs) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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);
			Marshal.FreeHGlobal (native_rhs);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_editable(IntPtr raw, bool default_setting);
		static d_gtk_text_iter_editable gtk_text_iter_editable = FuncLoader.LoadFunction<d_gtk_text_iter_editable>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_editable"));

		public bool Editable(bool default_setting) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_ends_line(IntPtr raw);
		static d_gtk_text_iter_ends_line gtk_text_iter_ends_line = FuncLoader.LoadFunction<d_gtk_text_iter_ends_line>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_ends_line"));

		public bool EndsLine() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_ends_sentence(IntPtr raw);
		static d_gtk_text_iter_ends_sentence gtk_text_iter_ends_sentence = FuncLoader.LoadFunction<d_gtk_text_iter_ends_sentence>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_ends_sentence"));

		public bool EndsSentence() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_ends_tag(IntPtr raw, IntPtr tag);
		static d_gtk_text_iter_ends_tag gtk_text_iter_ends_tag = FuncLoader.LoadFunction<d_gtk_text_iter_ends_tag>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_ends_tag"));

		public bool EndsTag(Gtk.TextTag tag) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_ends_word(IntPtr raw);
		static d_gtk_text_iter_ends_word gtk_text_iter_ends_word = FuncLoader.LoadFunction<d_gtk_text_iter_ends_word>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_ends_word"));

		public bool EndsWord() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_equal(IntPtr raw, IntPtr rhs);
		static d_gtk_text_iter_equal gtk_text_iter_equal = FuncLoader.LoadFunction<d_gtk_text_iter_equal>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_equal"));

		public bool Equals(Gtk.TextIter rhs) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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);
			Marshal.FreeHGlobal (native_rhs);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_char(IntPtr raw);
		static d_gtk_text_iter_forward_char gtk_text_iter_forward_char = FuncLoader.LoadFunction<d_gtk_text_iter_forward_char>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_char"));

		public bool ForwardChar() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_chars(IntPtr raw, int count);
		static d_gtk_text_iter_forward_chars gtk_text_iter_forward_chars = FuncLoader.LoadFunction<d_gtk_text_iter_forward_chars>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_chars"));

		public bool ForwardChars(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_cursor_position(IntPtr raw);
		static d_gtk_text_iter_forward_cursor_position gtk_text_iter_forward_cursor_position = FuncLoader.LoadFunction<d_gtk_text_iter_forward_cursor_position>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_cursor_position"));

		public bool ForwardCursorPosition() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_cursor_positions(IntPtr raw, int count);
		static d_gtk_text_iter_forward_cursor_positions gtk_text_iter_forward_cursor_positions = FuncLoader.LoadFunction<d_gtk_text_iter_forward_cursor_positions>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_cursor_positions"));

		public bool ForwardCursorPositions(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_find_char(IntPtr raw, GtkSharp.TextCharPredicateNative pred, IntPtr user_data, IntPtr limit);
		static d_gtk_text_iter_forward_find_char gtk_text_iter_forward_find_char = FuncLoader.LoadFunction<d_gtk_text_iter_forward_find_char>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_find_char"));

		public bool ForwardFindChar(Gtk.TextCharPredicate pred, Gtk.TextIter limit) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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);
			Marshal.FreeHGlobal (native_limit);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_line(IntPtr raw);
		static d_gtk_text_iter_forward_line gtk_text_iter_forward_line = FuncLoader.LoadFunction<d_gtk_text_iter_forward_line>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_line"));

		public bool ForwardLine() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_lines(IntPtr raw, int count);
		static d_gtk_text_iter_forward_lines gtk_text_iter_forward_lines = FuncLoader.LoadFunction<d_gtk_text_iter_forward_lines>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_lines"));

		public bool ForwardLines(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_search(IntPtr raw, IntPtr str, int flags, IntPtr match_start, IntPtr match_end, IntPtr limit);
		static d_gtk_text_iter_forward_search gtk_text_iter_forward_search = FuncLoader.LoadFunction<d_gtk_text_iter_forward_search>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_search"));

		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<Gtk.TextIter>());
			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<Gtk.TextIter>());
			IntPtr native_match_end = Marshal.AllocHGlobal (Marshal.SizeOf<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);
			Marshal.FreeHGlobal (native_limit);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_sentence_end(IntPtr raw);
		static d_gtk_text_iter_forward_sentence_end gtk_text_iter_forward_sentence_end = FuncLoader.LoadFunction<d_gtk_text_iter_forward_sentence_end>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_sentence_end"));

		public bool ForwardSentenceEnd() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_sentence_ends(IntPtr raw, int count);
		static d_gtk_text_iter_forward_sentence_ends gtk_text_iter_forward_sentence_ends = FuncLoader.LoadFunction<d_gtk_text_iter_forward_sentence_ends>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_sentence_ends"));

		public bool ForwardSentenceEnds(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_text_iter_forward_to_end(IntPtr raw);
		static d_gtk_text_iter_forward_to_end gtk_text_iter_forward_to_end = FuncLoader.LoadFunction<d_gtk_text_iter_forward_to_end>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_to_end"));

		public void ForwardToEnd() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_to_line_end(IntPtr raw);
		static d_gtk_text_iter_forward_to_line_end gtk_text_iter_forward_to_line_end = FuncLoader.LoadFunction<d_gtk_text_iter_forward_to_line_end>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_to_line_end"));

		public bool ForwardToLineEnd() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_to_tag_toggle(IntPtr raw, IntPtr tag);
		static d_gtk_text_iter_forward_to_tag_toggle gtk_text_iter_forward_to_tag_toggle = FuncLoader.LoadFunction<d_gtk_text_iter_forward_to_tag_toggle>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_to_tag_toggle"));

		public bool ForwardToTagToggle(Gtk.TextTag tag) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_visible_cursor_position(IntPtr raw);
		static d_gtk_text_iter_forward_visible_cursor_position gtk_text_iter_forward_visible_cursor_position = FuncLoader.LoadFunction<d_gtk_text_iter_forward_visible_cursor_position>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_visible_cursor_position"));

		public bool ForwardVisibleCursorPosition() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_visible_cursor_positions(IntPtr raw, int count);
		static d_gtk_text_iter_forward_visible_cursor_positions gtk_text_iter_forward_visible_cursor_positions = FuncLoader.LoadFunction<d_gtk_text_iter_forward_visible_cursor_positions>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_visible_cursor_positions"));

		public bool ForwardVisibleCursorPositions(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_visible_line(IntPtr raw);
		static d_gtk_text_iter_forward_visible_line gtk_text_iter_forward_visible_line = FuncLoader.LoadFunction<d_gtk_text_iter_forward_visible_line>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_visible_line"));

		public bool ForwardVisibleLine() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_visible_lines(IntPtr raw, int count);
		static d_gtk_text_iter_forward_visible_lines gtk_text_iter_forward_visible_lines = FuncLoader.LoadFunction<d_gtk_text_iter_forward_visible_lines>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_visible_lines"));

		public bool ForwardVisibleLines(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_visible_word_end(IntPtr raw);
		static d_gtk_text_iter_forward_visible_word_end gtk_text_iter_forward_visible_word_end = FuncLoader.LoadFunction<d_gtk_text_iter_forward_visible_word_end>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_visible_word_end"));

		public bool ForwardVisibleWordEnd() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_visible_word_ends(IntPtr raw, int count);
		static d_gtk_text_iter_forward_visible_word_ends gtk_text_iter_forward_visible_word_ends = FuncLoader.LoadFunction<d_gtk_text_iter_forward_visible_word_ends>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_visible_word_ends"));

		public bool ForwardVisibleWordEnds(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_word_end(IntPtr raw);
		static d_gtk_text_iter_forward_word_end gtk_text_iter_forward_word_end = FuncLoader.LoadFunction<d_gtk_text_iter_forward_word_end>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_word_end"));

		public bool ForwardWordEnd() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_forward_word_ends(IntPtr raw, int count);
		static d_gtk_text_iter_forward_word_ends gtk_text_iter_forward_word_ends = FuncLoader.LoadFunction<d_gtk_text_iter_forward_word_ends>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_forward_word_ends"));

		public bool ForwardWordEnds(int count) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_get_attributes(IntPtr raw, IntPtr values);
		static d_gtk_text_iter_get_attributes gtk_text_iter_get_attributes = FuncLoader.LoadFunction<d_gtk_text_iter_get_attributes>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_attributes"));

		public bool GetAttributes(Gtk.TextAttributes values) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_text_iter_get_buffer(IntPtr raw);
		static d_gtk_text_iter_get_buffer gtk_text_iter_get_buffer = FuncLoader.LoadFunction<d_gtk_text_iter_get_buffer>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_buffer"));

		public Gtk.TextBuffer Buffer { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				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;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_text_iter_get_bytes_in_line(IntPtr raw);
		static d_gtk_text_iter_get_bytes_in_line gtk_text_iter_get_bytes_in_line = FuncLoader.LoadFunction<d_gtk_text_iter_get_bytes_in_line>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_bytes_in_line"));

		public int BytesInLine { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				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;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_text_iter_get_chars_in_line(IntPtr raw);
		static d_gtk_text_iter_get_chars_in_line gtk_text_iter_get_chars_in_line = FuncLoader.LoadFunction<d_gtk_text_iter_get_chars_in_line>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_chars_in_line"));

		public int CharsInLine { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				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;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_text_iter_get_child_anchor(IntPtr raw);
		static d_gtk_text_iter_get_child_anchor gtk_text_iter_get_child_anchor = FuncLoader.LoadFunction<d_gtk_text_iter_get_child_anchor>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_child_anchor"));

		public Gtk.TextChildAnchor ChildAnchor { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				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;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_text_iter_get_language(IntPtr raw);
		static d_gtk_text_iter_get_language gtk_text_iter_get_language = FuncLoader.LoadFunction<d_gtk_text_iter_get_language>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_language"));

		public Pango.Language Language { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				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;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_text_iter_get_line(IntPtr raw);
		static d_gtk_text_iter_get_line gtk_text_iter_get_line = FuncLoader.LoadFunction<d_gtk_text_iter_get_line>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_line"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_text_iter_set_line(IntPtr raw, int line_number);
		static d_gtk_text_iter_set_line gtk_text_iter_set_line = FuncLoader.LoadFunction<d_gtk_text_iter_set_line>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_set_line"));

		public int Line { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				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<Gtk.TextIter>());
				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);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_text_iter_get_line_index(IntPtr raw);
		static d_gtk_text_iter_get_line_index gtk_text_iter_get_line_index = FuncLoader.LoadFunction<d_gtk_text_iter_get_line_index>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_line_index"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_text_iter_set_line_index(IntPtr raw, int byte_on_line);
		static d_gtk_text_iter_set_line_index gtk_text_iter_set_line_index = FuncLoader.LoadFunction<d_gtk_text_iter_set_line_index>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_set_line_index"));

		public int LineIndex { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				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<Gtk.TextIter>());
				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);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_text_iter_get_line_offset(IntPtr raw);
		static d_gtk_text_iter_get_line_offset gtk_text_iter_get_line_offset = FuncLoader.LoadFunction<d_gtk_text_iter_get_line_offset>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_line_offset"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_text_iter_set_line_offset(IntPtr raw, int char_on_line);
		static d_gtk_text_iter_set_line_offset gtk_text_iter_set_line_offset = FuncLoader.LoadFunction<d_gtk_text_iter_set_line_offset>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_set_line_offset"));

		public int LineOffset { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				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<Gtk.TextIter>());
				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);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_text_iter_get_offset(IntPtr raw);
		static d_gtk_text_iter_get_offset gtk_text_iter_get_offset = FuncLoader.LoadFunction<d_gtk_text_iter_get_offset>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_offset"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_text_iter_set_offset(IntPtr raw, int char_offset);
		static d_gtk_text_iter_set_offset gtk_text_iter_set_offset = FuncLoader.LoadFunction<d_gtk_text_iter_set_offset>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_set_offset"));

		public int Offset { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				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<Gtk.TextIter>());
				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);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_text_iter_get_pixbuf(IntPtr raw);
		static d_gtk_text_iter_get_pixbuf gtk_text_iter_get_pixbuf = FuncLoader.LoadFunction<d_gtk_text_iter_get_pixbuf>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_pixbuf"));

		public Gdk.Pixbuf Pixbuf { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				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;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_text_iter_get_slice(IntPtr raw, IntPtr end);
		static d_gtk_text_iter_get_slice gtk_text_iter_get_slice = FuncLoader.LoadFunction<d_gtk_text_iter_get_slice>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_slice"));

		public string GetSlice(Gtk.TextIter end) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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);
			Marshal.FreeHGlobal (native_end);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_text_iter_get_text(IntPtr raw, IntPtr end);
		static d_gtk_text_iter_get_text gtk_text_iter_get_text = FuncLoader.LoadFunction<d_gtk_text_iter_get_text>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_text"));

		public string GetText(Gtk.TextIter end) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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);
			Marshal.FreeHGlobal (native_end);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_text_iter_get_type();
		static d_gtk_text_iter_get_type gtk_text_iter_get_type = FuncLoader.LoadFunction<d_gtk_text_iter_get_type>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "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;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_text_iter_get_visible_line_index(IntPtr raw);
		static d_gtk_text_iter_get_visible_line_index gtk_text_iter_get_visible_line_index = FuncLoader.LoadFunction<d_gtk_text_iter_get_visible_line_index>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_visible_line_index"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_text_iter_set_visible_line_index(IntPtr raw, int byte_on_line);
		static d_gtk_text_iter_set_visible_line_index gtk_text_iter_set_visible_line_index = FuncLoader.LoadFunction<d_gtk_text_iter_set_visible_line_index>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_set_visible_line_index"));

		public int VisibleLineIndex { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				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<Gtk.TextIter>());
				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);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_text_iter_get_visible_line_offset(IntPtr raw);
		static d_gtk_text_iter_get_visible_line_offset gtk_text_iter_get_visible_line_offset = FuncLoader.LoadFunction<d_gtk_text_iter_get_visible_line_offset>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_visible_line_offset"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_text_iter_set_visible_line_offset(IntPtr raw, int char_on_line);
		static d_gtk_text_iter_set_visible_line_offset gtk_text_iter_set_visible_line_offset = FuncLoader.LoadFunction<d_gtk_text_iter_set_visible_line_offset>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_set_visible_line_offset"));

		public int VisibleLineOffset { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				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<Gtk.TextIter>());
				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);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_text_iter_get_visible_slice(IntPtr raw, IntPtr end);
		static d_gtk_text_iter_get_visible_slice gtk_text_iter_get_visible_slice = FuncLoader.LoadFunction<d_gtk_text_iter_get_visible_slice>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_visible_slice"));

		public string GetVisibleSlice(Gtk.TextIter end) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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);
			Marshal.FreeHGlobal (native_end);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_text_iter_get_visible_text(IntPtr raw, IntPtr end);
		static d_gtk_text_iter_get_visible_text gtk_text_iter_get_visible_text = FuncLoader.LoadFunction<d_gtk_text_iter_get_visible_text>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_get_visible_text"));

		public string GetVisibleText(Gtk.TextIter end) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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);
			Marshal.FreeHGlobal (native_end);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_has_tag(IntPtr raw, IntPtr tag);
		static d_gtk_text_iter_has_tag gtk_text_iter_has_tag = FuncLoader.LoadFunction<d_gtk_text_iter_has_tag>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_has_tag"));

		public bool HasTag(Gtk.TextTag tag) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_in_range(IntPtr raw, IntPtr start, IntPtr end);
		static d_gtk_text_iter_in_range gtk_text_iter_in_range = FuncLoader.LoadFunction<d_gtk_text_iter_in_range>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_in_range"));

		public bool InRange(Gtk.TextIter start, Gtk.TextIter end) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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);
			Marshal.FreeHGlobal (native_start);
			Marshal.FreeHGlobal (native_end);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_inside_sentence(IntPtr raw);
		static d_gtk_text_iter_inside_sentence gtk_text_iter_inside_sentence = FuncLoader.LoadFunction<d_gtk_text_iter_inside_sentence>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_inside_sentence"));

		public bool InsideSentence() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_inside_word(IntPtr raw);
		static d_gtk_text_iter_inside_word gtk_text_iter_inside_word = FuncLoader.LoadFunction<d_gtk_text_iter_inside_word>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_inside_word"));

		public bool InsideWord() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			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;
			ReadNative (this_as_native, ref this);
			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_is_cursor_position(IntPtr raw);
		static d_gtk_text_iter_is_cursor_position gtk_text_iter_is_cursor_position = FuncLoader.LoadFunction<d_gtk_text_iter_is_cursor_position>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_is_cursor_position"));

		public bool IsCursorPosition { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
				bool raw_ret = gtk_text_iter_is_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;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_is_end(IntPtr raw);
		static d_gtk_text_iter_is_end gtk_text_iter_is_end = FuncLoader.LoadFunction<d_gtk_text_iter_is_end>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_is_end"));

		public bool IsEnd { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
				bool raw_ret = gtk_text_iter_is_end(this_as_native);
				bool ret = raw_ret;
				ReadNative (this_as_native, ref this);
				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_is_start(IntPtr raw);
		static d_gtk_text_iter_is_start gtk_text_iter_is_start = FuncLoader.LoadFunction<d_gtk_text_iter_is_start>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_is_start"));

		public bool IsStart { 
			get {
				IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
				System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
				bool raw_ret = gtk_text_iter_is_start(this_as_native);
				bool ret = raw_ret;
				ReadNative (this_as_native, ref this);
				System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_text_iter_order(IntPtr raw, IntPtr second);
		static d_gtk_text_iter_order gtk_text_iter_order = FuncLoader.LoadFunction<d_gtk_text_iter_order>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_order"));

		public void Order(Gtk.TextIter second) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
			IntPtr native_second = GLib.Marshaller.StructureToPtrAlloc (second);
			gtk_text_iter_order(this_as_native, native_second);
			ReadNative (this_as_native, ref this);
			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
			Marshal.FreeHGlobal (native_second);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_starts_line(IntPtr raw);
		static d_gtk_text_iter_starts_line gtk_text_iter_starts_line = FuncLoader.LoadFunction<d_gtk_text_iter_starts_line>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_starts_line"));

		public bool StartsLine() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
			bool raw_ret = gtk_text_iter_starts_line(this_as_native);
			bool ret = raw_ret;
			ReadNative (this_as_native, ref this);
			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_starts_sentence(IntPtr raw);
		static d_gtk_text_iter_starts_sentence gtk_text_iter_starts_sentence = FuncLoader.LoadFunction<d_gtk_text_iter_starts_sentence>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_starts_sentence"));

		public bool StartsSentence() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
			bool raw_ret = gtk_text_iter_starts_sentence(this_as_native);
			bool ret = raw_ret;
			ReadNative (this_as_native, ref this);
			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_starts_tag(IntPtr raw, IntPtr tag);
		static d_gtk_text_iter_starts_tag gtk_text_iter_starts_tag = FuncLoader.LoadFunction<d_gtk_text_iter_starts_tag>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_starts_tag"));

		public bool StartsTag(Gtk.TextTag tag) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
			bool raw_ret = gtk_text_iter_starts_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;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_starts_word(IntPtr raw);
		static d_gtk_text_iter_starts_word gtk_text_iter_starts_word = FuncLoader.LoadFunction<d_gtk_text_iter_starts_word>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_starts_word"));

		public bool StartsWord() {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
			bool raw_ret = gtk_text_iter_starts_word(this_as_native);
			bool ret = raw_ret;
			ReadNative (this_as_native, ref this);
			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_text_iter_toggles_tag(IntPtr raw, IntPtr tag);
		static d_gtk_text_iter_toggles_tag gtk_text_iter_toggles_tag = FuncLoader.LoadFunction<d_gtk_text_iter_toggles_tag>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_text_iter_toggles_tag"));

		public bool TogglesTag(Gtk.TextTag tag) {
			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf<Gtk.TextIter>());
			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
			bool raw_ret = gtk_text_iter_toggles_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;
		}

		static void ReadNative (IntPtr native, ref Gtk.TextIter target)
		{
			target = New (native);
		}

		public override bool Equals (object other)
		{
			return other is TextIter && Equals ((TextIter) other);
		}

		public override int GetHashCode ()
		{
			return this.GetType ().FullName.GetHashCode ();
		}

		public static explicit operator GLib.Value (Gtk.TextIter boxed)
		{
			GLib.Value val = GLib.Value.Empty;
			val.Init (Gtk.TextIter.GType);
			val.Val = boxed;
			return val;
		}

		public static explicit operator Gtk.TextIter (GLib.Value val)
		{
			return (Gtk.TextIter) val.Val;
		}

		[Obsolete("This is a no-op")]
		public Gtk.TextIter Copy() {
			return this;
		}
#endregion
	}
}
