Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
w
x
z
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
GitLab
LXR
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Control
CxxUtils
CxxUtils
libcalg
trie.h
Go to the documentation of this file.
1
/*
2
3
Copyright (c) 2005-2008, Simon Howard
4
5
Permission to use, copy, modify, and/or distribute this software
6
for any purpose with or without fee is hereby granted, provided
7
that the above copyright notice and this permission notice appear
8
in all copies.
9
10
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13
AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
14
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
16
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
17
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18
19
*/
20
40
#ifndef ALGORITHM_TRIE_H
41
#define ALGORITHM_TRIE_H
42
43
#ifdef __cplusplus
44
extern
"C"
{
45
#endif
46
51
typedef
struct
_Trie
Trie
;
52
57
typedef
void
*
TrieValue
;
58
63
#define TRIE_NULL ((void *) 0)
64
73
Trie
*
trie_new
(
void
);
74
81
void
trie_free
(
Trie
*trie);
82
94
int
trie_insert
(
Trie
*trie,
char
*
key
,
TrieValue
value
);
95
105
TrieValue
trie_lookup
(
Trie
*trie,
char
*
key
);
106
116
int
trie_remove
(
Trie
*trie,
char
*
key
);
117
125
int
trie_num_entries
(
Trie
*trie);
126
127
#ifdef __cplusplus
128
}
129
#endif
130
131
#endif
/* #ifndef ALGORITHM_TRIE_H */
132
trie_new
Trie * trie_new(void)
Create a new trie.
trie_lookup
TrieValue trie_lookup(Trie *trie, char *key)
Look up a value from its key in a trie.
trie_free
void trie_free(Trie *trie)
Destroy a trie.
athena.value
value
Definition:
athena.py:124
trie_remove
int trie_remove(Trie *trie, char *key)
Remove an entry from a trie.
trie_num_entries
int trie_num_entries(Trie *trie)
Find the number of entries in a trie.
TrieValue
void * TrieValue
Value stored in a Trie.
Definition:
trie.h:57
Trie
struct _Trie Trie
A trie structure.
Definition:
trie.h:51
trie_insert
int trie_insert(Trie *trie, char *key, TrieValue value)
Insert a new key-value pair into a trie.
mapkey::key
key
Definition:
TElectronEfficiencyCorrectionTool.cxx:37
Generated on Thu May 1 2025 21:20:22 for ATLAS Offline Software by
1.8.18