libFirm
pmap.h File Reference

Simplified hashmap for pointer->pointer relations. More...

#include <stddef.h>
#include "../begin.h"
#include "../end.h"

Go to the source code of this file.

Data Structures

struct  pmap_entry
 A key, value pair. More...

Macros

#define pmap_get(type, map, key)   ((type*)pmap_get(map, key))
 Returns the value of "key".
#define foreach_pmap(pmap, curr)   for (curr = pmap_first(pmap); curr; curr = pmap_next(pmap))
 Iterate over all elements in the map setting curr to the current element.

Typedefs

typedef struct pmap pmap
 A map which maps addresses to addresses.

Functions

pmappmap_create (void)
 Creates a new empty map.
pmappmap_create_ex (size_t slots)
 Creates a new empty map with an initial number of slots.
void pmap_destroy (pmap *)
 Deletes a map.
void pmap_insert (pmap *map, const void *key, void *value)
 Inserts a pair (key,value) into the map.
int pmap_contains (pmap *map, const void *key)
 Checks if an entry with key "key" exists.
pmap_entrypmap_find (pmap *map, const void *key)
 Returns the key, value pair of "key".
void * pmap_get (pmap *map, const void *key)
 Returns the value of "key".
size_t pmap_count (pmap *map)
 Return number of elements in the map.
pmap_entrypmap_first (pmap *map)
 Returns the first entry of a map if the map is not empty.
pmap_entrypmap_next (pmap *)
 Returns the next entry of a map or NULL if all entries were visited.
void pmap_break (pmap *map)
 Breaks an iteration.

Detailed Description

Simplified hashmap for pointer->pointer relations.

Author
Hubert Schmid
Date
09.06.2002

Definition in file pmap.h.