[][src]Crate phf

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 (rustc version 1.30+)

[dependencies]
phf = { version = "0.7.24", features = ["macros"] }
use phf::{phf_map, phf_set};

static MY_MAP: phf::Map<&'static str, u32> = phf_map! {
    "hello" => 1,
    "world" => 2,
};

static MY_SET: phf::Set<&'static str> = phf_set! {
    "hello world",
    "hola mundo",
};

fn main() {
    assert_eq!(MY_MAP["hello"], 1);
    assert!(MY_SET.contains("hello world"));
}

(Alternatively, you can use the phf_codegen crate to generate PHF datatypes in a build script)

Modules

map

An immutable map constructed at compile time.

set

An immutable set constructed at compile time.

Structs

Map

An immutable map constructed at compile time.

Set

An immutable set constructed at compile time.

Traits

PhfHash

A trait implemented by types which can be used in PHF data structures.