X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=src%2FCollections%2Fstructs.h;h=6d06f549d616b3b869d0022b5b6938ced17a12fa;hb=2ea873287511578a00428d0d18f4342d8956d801;hp=86addfbe03c21704998f0c06049c63e2d8689cde;hpb=0073b37bd741b59fe79857958d8276fc9128db0b;p=satune.git diff --git a/src/Collections/structs.h b/src/Collections/structs.h index 86addfb..6d06f54 100644 --- a/src/Collections/structs.h +++ b/src/Collections/structs.h @@ -1,29 +1,47 @@ #ifndef STRUCTS_H #define STRUCTS_H -#include "vector.h" +#include "cppvector.h" #include "hashtable.h" #include "hashset.h" #include "classlist.h" #include "array.h" +#include "corestructs.h" -ArrayDef(Element, Element *); -ArrayDef(Boolean, Boolean *); -ArrayDef(Set, Set *); - -VectorDef(Table, Table *); -VectorDef(Set, Set *); -VectorDef(Boolean, Boolean *); -VectorDef(Function, Function *); -VectorDef(Predicate, Predicate *); -VectorDef(Element, Element *); -VectorDef(Order, Order *); -VectorDef(TableEntry, TableEntry *); -VectorDef(ASTNode, ASTNode *); -VectorDef(Int, uint64_t); - -HashTableDef(Void, void *, void *); -HashTableDef(BoolConst, OrderPair *, OrderPair *); - -HashSetDef(Void, void *); + +unsigned int table_entry_hash_function(TableEntry *This); +bool table_entry_equals(TableEntry *key1, TableEntry *key2); +unsigned int order_node_hash_function(OrderNode *This); +bool order_node_equals(OrderNode *key1, OrderNode *key2); +unsigned int order_edge_hash_function(OrderEdge *This); +bool order_edge_equals(OrderEdge *key1, OrderEdge *key2); +unsigned int order_element_hash_function(OrderElement *This); +bool order_element_equals(OrderElement *key1, OrderElement *key2); +unsigned int order_pair_hash_function(OrderPair *This); +bool order_pair_equals(OrderPair *key1, OrderPair *key2); + + +typedef Hashset HashsetTableEntry; +typedef Hashset HashsetOrderNode; +typedef Hashset HashsetOrderEdge; +typedef Hashset HashsetOrderElement; +typedef Hashset HashsetBoolean; +typedef Hashset HashsetElement; +typedef SetIterator SetIteratorBoolean; +typedef Hashset Hashset64Int; +typedef SetIterator SetIterator64Int; + + +typedef Hashtable HashtableNodeToNodeSet; +typedef Hashtable HashtableOrderPair; +typedef Hashtable CloneMap; + + +typedef Hashtable HashtableEncoding; + + +typedef SetIterator SetIteratorTableEntry; +typedef SetIterator SetIteratorOrderEdge; +typedef SetIterator SetIteratorOrderNode; +typedef SetIterator SetIteratorOrderElement; #endif