/cvmfs/atlas.cern.ch/repo/sw/ASG/AnalysisBase/2.4.28/CxxUtils/CxxUtils/libcalg/trie.h File Reference

Fast string lookups. More...

Go to the source code of this file.

Defines

#define TRIE_NULL   ((void *) 0)

Typedefs

typedef struct _Trie Trie
typedef void * TrieValue

Functions

Trietrie_new (void)
void trie_free (Trie *trie)
int trie_insert (Trie *trie, char *key, TrieValue value)
TrieValue trie_lookup (Trie *trie, char *key)
int trie_remove (Trie *trie, char *key)
int trie_num_entries (Trie *trie)

Detailed Description

Fast string lookups.

A trie is a data structure which provides fast mappings from strings to values.

To create a new trie, use trie_new. To destroy a trie, use trie_free.

To insert a value into a trie, use trie_insert. To remove a value from a trie, use trie_remove.

To look up a value from its key, use trie_lookup.

To find the number of entries in a trie, use trie_num_entries.


Define Documentation

#define TRIE_NULL   ((void *) 0)

A null TrieValue.


Typedef Documentation

typedef struct _Trie Trie

A trie structure.

typedef void* TrieValue

Value stored in a Trie.


Function Documentation

void trie_free ( Trie trie  ) 

Destroy a trie.

Parameters:
trie The trie to destroy.
int trie_insert ( Trie trie,
char *  key,
TrieValue  value 
)

Insert a new key-value pair into a trie.

Parameters:
trie The trie.
key The key to access the new value.
value The value.
Returns:
Non-zero if the value was inserted successfully, or zero if it was not possible to allocate memory for the new entry.
TrieValue trie_lookup ( Trie trie,
char *  key 
)

Look up a value from its key in a trie.

Parameters:
trie The trie.
key The key.
Returns:
The value associated with the key, or TRIE_NULL if not found in the trie.
Trie* trie_new ( void   ) 

Create a new trie.

Returns:
Pointer to a new trie structure, or NULL if it was not possible to allocate memory for the new trie.
int trie_num_entries ( Trie trie  ) 

Find the number of entries in a trie.

Parameters:
trie The trie.
Returns:
Count of the number of entries in the trie.
int trie_remove ( Trie trie,
char *  key 
)

Remove an entry from a trie.

Parameters:
trie The trie.
key The key of the entry to remove.
Returns:
Non-zero if the key was removed successfully, or zero if it is not present in the trie.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1