public bool BackwardSearch(Gtk.TextIter iter, string str, GtkSourceView.SourceSearchFlags flags,
                                   out Gtk.TextIter match_start, out Gtk.TextIter match_end, Gtk.TextIter limit)
        {
            bool raw_ret = gtk_source_iter_backward_search(ref iter, str, (int)flags, out match_start, out match_end, ref limit);
            bool ret     = raw_ret;

            return(ret);
        }
        public static bool IterBackwardSearch(Gtk.TextIter iter, string str, GtkSourceView.SourceSearchFlags flags, Gtk.TextIter match_start, Gtk.TextIter match_end, Gtk.TextIter limit)
        {
            IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup(str);
            bool   raw_ret    = gtk_source_iter_backward_search(ref iter, native_str, (int)flags, ref match_start, ref match_end, ref limit);
            bool   ret        = raw_ret;

            GLib.Marshaller.Free(native_str);
            return(ret);
        }