Added functions to clear and copy node buckets.
[libfirm] / bucket.h
1 #ifndef KAPS_BUCKET_H
2 #define KAPS_BUCKET_H
3
4 #include "bucket_t.h"
5
6 int edge_bucket_contains(pbqp_edge_bucket bucket, pbqp_edge *edge);
7 void edge_bucket_free(pbqp_edge_bucket *bucket);
8 unsigned edge_bucket_get_length(pbqp_edge_bucket bucket);
9 void edge_bucket_init(pbqp_edge_bucket *bucket);
10 void edge_bucket_insert(pbqp_edge_bucket *bucket, pbqp_edge *edge);
11 pbqp_edge *edge_bucket_pop(pbqp_edge_bucket *bucket);
12
13 void node_bucket_clear(pbqp_node_bucket *bucket);
14 int node_bucket_contains(pbqp_node_bucket bucket, pbqp_node *node);
15 void node_bucket_copy(pbqp_node_bucket *dst, pbqp_node_bucket *src);
16 pbqp_node_bucket *node_bucket_deep_copy(pbqp_node_bucket bucket);
17 void node_bucket_free(pbqp_node_bucket *bucket);
18 unsigned node_bucket_get_length(pbqp_node_bucket bucket);
19 void node_bucket_init(pbqp_node_bucket *bucket);
20 void node_bucket_insert(pbqp_node_bucket *bucket, pbqp_node *node);
21 pbqp_node *node_bucket_pop(pbqp_node_bucket *bucket);
22 void node_bucket_remove(pbqp_node_bucket *bucket, pbqp_node *node);
23
24 #endif /* KAPS_BUCKET_H */