Lines Matching refs:set
43 struct set { struct
59 _mesa_set_init(struct set *ht, void *mem_ctx, argument
64 struct set *
69 struct set *
72 struct set *
73 _mesa_set_clone(struct set *set, void *dst_mem_ctx);
76 _mesa_set_destroy(struct set *set,
79 _mesa_set_resize(struct set *set, uint32_t entries);
81 _mesa_set_clear(struct set *set,
85 _mesa_set_add(struct set *set, const void *key);
87 _mesa_set_add_pre_hashed(struct set *set, uint32_t hash, const void *key);
90 _mesa_set_search_or_add(struct set *set, const void *key, bool *found);
92 _mesa_set_search_or_add_pre_hashed(struct set *set, uint32_t hash,
96 _mesa_set_search(const struct set *set, const void *key);
98 _mesa_set_search_pre_hashed(const struct set *set, uint32_t hash,
102 _mesa_set_search_and_add(struct set *set, const void *key, bool *replaced);
104 _mesa_set_search_and_add_pre_hashed(struct set *set, uint32_t hash,
108 _mesa_set_remove(struct set *set, struct set_entry *entry);
110 _mesa_set_remove_key(struct set *set, const void *key);
113 _mesa_set_next_entry(const struct set *set, struct set_entry *entry);
115 _mesa_set_next_entry_unsafe(const struct set *set, struct set_entry *entry);
118 _mesa_set_random_entry(struct set *set,
121 struct set *
125 _mesa_set_intersects(struct set *a, struct set *b);
132 #define set_foreach(set, entry) \ argument
133 for (struct set_entry *entry = _mesa_set_next_entry(set, NULL); \
135 entry = _mesa_set_next_entry(set, entry))
141 #define set_foreach_remove(set, entry) \ argument
142 for (struct set_entry *entry = _mesa_set_next_entry_unsafe(set, NULL); \
143 (set)->entries; \
144 …entry->hash = 0, entry->key = (void*)NULL, (set)->entries--, entry = _mesa_set_next_entry_unsafe(s…