AgsTreeIterator

AgsTreeIterator — concurrent iterating tree

Functions

Types and Values

Object Hierarchy

    GInterface
    ╰── AgsTreeIterator

Includes

#include <ags/object/ags_tree_iterator.h>

Description

The AgsTreeIterator interface supports you iterating trees.

Functions

ags_tree_iterator_set_inverse_mode ()

void
ags_tree_iterator_set_inverse_mode (AgsTreeIterator *tree,
                                    gboolean mode);

ags_tree_iterator_is_inverse_mode ()

gboolean
ags_tree_iterator_is_inverse_mode (AgsTreeIterator *tree);

ags_tree_iterator_iterate ()

void
ags_tree_iterator_iterate (AgsTreeIterator *tree,
                           gpointer node_id);

ags_tree_iterator_iterate_nested ()

void
ags_tree_iterator_iterate_nested (AgsTreeIterator *tree,
                                  gpointer node_id);

ags_tree_iterator_safe_iterate ()

void
ags_tree_iterator_safe_iterate (AgsTreeIterator *toplevel,
                                AgsTreeIterator *current,
                                gpointer node_id);

ags_tree_iterator_safe_iterate_nested ()

void
ags_tree_iterator_safe_iterate_nested (AgsTreeIterator *toplevel,
                                       AgsTreeIterator *current,
                                       gpointer node_id);

AGS_IS_TREE_ITERATOR()

#define AGS_IS_TREE_ITERATOR(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE((obj), AGS_TYPE_TREE_ITERATOR))

AGS_IS_TREE_ITERATOR_INTERFACE()

#define AGS_IS_TREE_ITERATOR_INTERFACE(vtable)    (G_TYPE_CHECK_CLASS_TYPE((vtable), AGS_TYPE_TREE_ITERATOR))

AGS_TREE_ITERATOR()

#define AGS_TREE_ITERATOR(obj)                    (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_TREE_ITERATOR, AgsTreeIterator))

AGS_TREE_ITERATOR_GET_INTERFACE()

#define AGS_TREE_ITERATOR_GET_INTERFACE(obj)      (G_TYPE_INSTANCE_GET_INTERFACE((obj), AGS_TYPE_TREE_ITERATOR, AgsTreeIteratorInterface))

AGS_TREE_ITERATOR_INTERFACE()

#define AGS_TREE_ITERATOR_INTERFACE(vtable)       (G_TYPE_CHECK_CLASS_CAST((vtable), AGS_TYPE_TREE_ITERATOR, AgsTreeIteratorInterface))

ags_tree_iterator_get_type ()

GType
ags_tree_iterator_get_type ();

Types and Values

AGS_TYPE_TREE_ITERATOR

#define AGS_TYPE_TREE_ITERATOR                    (ags_tree_iterator_get_type())

AgsTreeIterator

typedef struct _AgsTreeIterator AgsTreeIterator;

struct AgsTreeIteratorInterface

struct AgsTreeIteratorInterface {
  GTypeInterface ginterface;

  void (*set_inverse_mode)(AgsTreeIterator *tree, gboolean mode);
  gboolean (*is_inverse_mode)(AgsTreeIterator *tree);
  
  void (*iterate)(AgsTreeIterator *tree,
		  gpointer node_id);
  void (*iterate_nested)(AgsTreeIterator *tree,
			 gpointer node_id);
  
  void (*safe_iterate)(AgsTreeIterator *toplevel, AgsTreeIterator *current,
		       gpointer node_id);
  void (*safe_iterate_nested)(AgsTreeIterator *toplevel, AgsTreeIterator *current,
			      gpointer node_id);

  void (*loop_action)(AgsTreeIterator *current,
		      gpointer node_id);
  void (*nested_loop_action)(AgsTreeIterator *current,
			     gpointer node_id);
};