Files
2026-10-04 04:07:15 +00:00

18 lines
870 B
Plaintext

Frozen is a header-only library that provides 0 cost initialization for
immutable containers, fixed-size containers, and various algorithms.
Frozen provides:
- immutable (a.k.a. frozen), constexpr-compatible versions of std::set,
std::unordered_set, std::map and std::unordered_map.
- fixed-capacity, constinit-compatible versions of std::map and
std::unordered_map with immutable, compile-time selected keys mapped to
mutable values.
- 0-cost initialization version of std::search for frozen needles using
Boyer-Moore or Knuth-Morris-Pratt algorithms.
The unordered_* containers are guaranteed perfect (a.k.a. no hash collision) and
the extra storage is linear with respect to the number of keys.
Once initialized, the container keys cannot be updated, and in exchange, lookups
are faster. And initialization is free when constexpr or constinit is used :-).