/cvmfs/atlas.cern.ch/repo/sw/ASG/AnalysisBase/2.4.31/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 1 Dec 2017 for RootCore Packages by  doxygen 1.6.1