## SwSet SwSet |

## Synopsis

                        SwSet;
    #define             SW_TYPE_SET
    GType               sw_set_get_type                     (void);
    SwSet *             sw_set_new                          (void);
    SwSet *             sw_set_new_full                     (GHashFunc hash_func,
                                                             GEqualFunc equal_func);
    SwSet *             sw_set_ref                          (SwSet *set);
    void                sw_set_unref                        (SwSet *set);
    void                sw_set_add                          (SwSet *set,
                                                             GObject *item);
    void                sw_set_remove                       (SwSet *set,
                                                             GObject *item);
    gboolean            sw_set_has                          (SwSet *set,
                                                             GObject *item);
    gboolean            sw_set_is_empty                     (SwSet *set);
    void                sw_set_empty                        (SwSet *set);
    SwSet *             sw_set_union                        (SwSet *set_a,
                                                             SwSet *set_b);
    SwSet *             sw_set_difference                   (SwSet *set_a,
                                                             SwSet *set_b);
    void                sw_set_add_from                     (SwSet *set,
                                                             SwSet *from);
    void                sw_set_remove_from                  (SwSet *set,
                                                             SwSet *from);
    GList *             sw_set_as_list                      (SwSet *set);
    SwSet *             sw_set_from_list                    (GList *list);
    void                sw_set_foreach                      (SwSet *set,
                                                             GFunc func,
                                                             gpointer user_data);
    gboolean            (*SwSetForeachRemoveFunc)           (GObject *object,
                                                             gpointer user_data);
    guint               sw_set_foreach_remove               (SwSet *set,
                                                             SwSetForeachRemoveFunc func,
                                                             gpointer user_data);
    int                 sw_set_size                         (SwSet *set);
    gboolean            (*SwSetFilterFunc)                  (SwSet *set,
                                                             GObject *object,
                                                             gpointer user_data);
    SwSet *             sw_set_filter                       (SwSet *set,
                                                             SwSetFilterFunc func,
                                                             gpointer user_data);

## Object Hierarchy

      GBoxed
       +----SwSet

## Description

## Details

### SwSet

    typedef struct _SwSet SwSet;

### SW_TYPE_SET

    #define SW_TYPE_SET sw_set_get_type ()

### sw_set_get_type ()

    GType               sw_set_get_type                     (void);

### sw_set_new ()

    SwSet *             sw_set_new                          (void);

### sw_set_new_full ()

    SwSet *             sw_set_new_full                     (GHashFunc hash_func,
                                                             GEqualFunc equal_func);

### sw_set_ref ()

    SwSet *             sw_set_ref                          (SwSet *set);

### sw_set_unref ()

    void                sw_set_unref                        (SwSet *set);

### sw_set_add ()

    void                sw_set_add                          (SwSet *set,
                                                             GObject *item);

### sw_set_remove ()

    void                sw_set_remove                       (SwSet *set,
                                                             GObject *item);

### sw_set_has ()

    gboolean            sw_set_has                          (SwSet *set,
                                                             GObject *item);

### sw_set_is_empty ()

    gboolean            sw_set_is_empty                     (SwSet *set);

### sw_set_empty ()

    void                sw_set_empty                        (SwSet *set);

### sw_set_union ()

    SwSet *             sw_set_union                        (SwSet *set_a,
                                                             SwSet *set_b);

### sw_set_difference ()

    SwSet *             sw_set_difference                   (SwSet *set_a,
                                                             SwSet *set_b);

### sw_set_add_from ()

    void                sw_set_add_from                     (SwSet *set,
                                                             SwSet *from);

### sw_set_remove_from ()

    void                sw_set_remove_from                  (SwSet *set,
                                                             SwSet *from);

### sw_set_as_list ()

    GList *             sw_set_as_list                      (SwSet *set);

### sw_set_from_list ()

    SwSet *             sw_set_from_list                    (GList *list);

### sw_set_foreach ()

    void                sw_set_foreach                      (SwSet *set,
                                                             GFunc func,
                                                             gpointer user_data);

### SwSetForeachRemoveFunc ()

    gboolean            (*SwSetForeachRemoveFunc)           (GObject *object,
                                                             gpointer user_data);

### sw_set_foreach_remove ()

    guint               sw_set_foreach_remove               (SwSet *set,
                                                             SwSetForeachRemoveFunc func,
                                                             gpointer user_data);

### sw_set_size ()

    int                 sw_set_size                         (SwSet *set);

### SwSetFilterFunc ()

    gboolean            (*SwSetFilterFunc)                  (SwSet *set,
                                                             GObject *object,
                                                             gpointer user_data);

### sw_set_filter ()

    SwSet *             sw_set_filter                       (SwSet *set,
                                                             SwSetFilterFunc func,
                                                             gpointer user_data);