append(map, left, right);
}
+void pmap_add_bi(void* mapp, void* left, void* right)
+{
+ struct pmap* map = mapp;
+ int i;
+
+ for (i=0; i<map->count; i++)
+ {
+ struct pmap_node* node = &map->item[i];
+ if (((node->left == left) && (node->right == right)) ||
+ ((node->left == right) && (node->right == left)))
+ return;
+ }
+
+ append(map, left, right);
+}
+
void pmap_remove(void* mapp, void* left, void* right)
{
struct pmap* map = mapp;
extern void pmap_put(void* map, void* left, void* right);
extern void pmap_add(void* map, void* left, void* right);
+extern void pmap_add_bi(void* map, void* left, void* right);
extern void pmap_remove(void* map, void* left, void* right);
extern void* pmap_findleft(void* map, void* left);
extern void* pmap_findright(void* map, void* right);