### ----------------------------------------------------
### -- Gnome::Gtk3
### -- Licenses: Artistic-2.0
### -- Authors: Marcel Timmerman
### -- File: lib/Gnome/Gtk3/ListStore.rakumod
### ----------------------------------------------------
### -- Chunk 2 of 2
_is_valid

WARNING: This function is slow. Only use it for debugging and/or testing purposes.

Checks if the given iter is a valid iter for this list store.

Returns: C<1> if the iter is valid, C<0> if the iter is invalid.

Since: 2.2

  method gtk_list_store_iter_is_valid ( N-GtkTreeIter $iter --> Int  )

=item N-GtkTreeIter $iter; A B<Gnome::Gtk3::TreeIter>.

=end pod

sub gtk_list_store_iter_is_valid ( N-GObject $list_store, N-GtkTreeIter $iter )
  returns int32
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_list_store_reorder:
=begin pod
=head2 [gtk_] list_store_reorder

Reorders I<store> to follow the order indicated by I<new_order>. Note that
this function only works with unsorted stores.

Since: 2.2

  method gtk_list_store_reorder ( Int $new_order )

=item Int $new_order; (array zero-terminated=1): an array of integers mapping the new position of each child to its old position before the re-ordering, i.e. I<new_order>`[newpos] = oldpos`. It must have exactly as many items as the list store’s length.

=end pod

sub gtk_list_store_reorder ( N-GObject $store, int32 $new_order )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_list_store_swap:
=begin pod
=head2 [gtk_] list_store_swap

Swaps I<a> and I<b> in I<store>. Note that this function only works with
unsorted stores.

Since: 2.2

  method gtk_list_store_swap ( N-GtkTreeIter $a, N-GtkTreeIter $b )

=item N-GtkTreeIter $a; A B<Gnome::Gtk3::TreeIter>.
=item N-GtkTreeIter $b; Another B<Gnome::Gtk3::TreeIter>.

=end pod

sub gtk_list_store_swap ( N-GObject $store, N-GtkTreeIter $a, N-GtkTreeIter $b )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_list_store_move_after:
=begin pod
=head2 [[gtk_] list_store_] move_after

Moves I<iter> in I<store> to the position after I<position>. Note that this
function only works with unsorted stores. If I<position> is C<Any>, I<iter>
will be moved to the start of the list.

Since: 2.2

  method gtk_list_store_move_after ( N-GtkTreeIter $iter, N-GtkTreeIter $position )

=item N-GtkTreeIter $iter; A B<Gnome::Gtk3::TreeIter>.
=item N-GtkTreeIter $position; (allow-none): A B<Gnome::Gtk3::TreeIter> or C<Any>.

=end pod

sub gtk_list_store_move_after ( N-GObject $store, N-GtkTreeIter $iter, N-GtkTreeIter $position )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_list_store_move_before:
=begin pod
=head2 [[gtk_] list_store_] move_before

Moves I<iter> in I<store> to the position before I<position>. Note that this
function only works with unsorted stores. If I<position> is C<Any>, I<iter>
will be moved to the end of the list.

Since: 2.2

  method gtk_list_store_move_before ( N-GtkTreeIter $iter, N-GtkTreeIter $position )

=item N-GtkTreeIter $iter; A B<Gnome::Gtk3::TreeIter>.
=item N-GtkTreeIter $position; (allow-none): A B<Gnome::Gtk3::TreeIter>, or C<Any>.

=end pod

sub gtk_list_store_move_before ( N-GObject $store, N-GtkTreeIter $iter, N-GtkTreeIter $position )
  is native(&gtk-lib)
  { * }


