phf-0.9.1 has been yanked.
Compile-time generated maps and sets.
The phf::Map
and phf::Set
types have roughly comparable performance to
a standard hash table, but can be generated as compile-time static values.
Usage
If the macros
Cargo feature is enabled, the phf_map
, phf_set
,
phf_ordered_map
, and phf_ordered_set
macros can be used to construct
the PHF type. This method can be used with a stable compiler
(minimum supported rust version is 1.41, or 1.46 if you use the uncased
feature).
[]
= { = "0.9", = ["macros"] }
use ;
static MY_MAP: Map = phf_map! ;
static MY_SET: Set = phf_set! ;
Alternatively, you can use the phf_codegen
crate to generate PHF datatypes
in a build script.
Note
Currently, the macro syntax has some limitations and may not work as you want. See #183 or #196 for example.