frozen
brew install frozen
v1.2.0
Apache-2.0
Header-only, constexpr alternative to gperf for C++14 users
2
30-day installs · #14025
8
90-day · #12780
86
365-day · #9583
1.6k
★ GitHub stars · updated 4mo ago
Build dependencies
Links
- https://github.com/serge-sans-paille/frozen
- GitHub: serge-sans-paille/frozen
- Brew formula source: Formula/f/frozen.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"cmake"
],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Header-only, constexpr alternative to gperf for C++14 users",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:37:50+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "frozen",
"github_default_branch": "master",
"github_last_commit_at": "2026-04-20T21:27:53Z",
"github_readme_excerpt": "Frozen\n######\n\n.. image:: https://travis-ci.org/serge-sans-paille/frozen.svg?branch=master\n :target: https://travis-ci.org/serge-sans-paille/frozen\n\nHeader-only library that provides 0 cost initialization for immutable containers, fixed-size containers, and various algorithms.\n\nFrozen provides:\n\n- immutable (a.k.a. frozen), ``constexpr``-compatible versions of ``std::set``,\n ``std::unordered_set``, ``std::map`` and ``std::unordered_map``.\n\n- fixed-capacity, ``constinit``-compatible versions of ``std::map`` and\n ``std::unordered_map`` with immutable, compile-time selected keys mapped\n to mutable values.\n\n- 0-cost initialization version of ``std::search`` for frozen needles using\n Boyer-Moore or Knuth-Morris-Pratt algorithms.\n\n\nThe ``unordered_*`` containers are guaranteed *perfect* (a.k.a. no hash\ncollision) and the extra storage is linear with respect to the number of keys.\n\nOnce initialized, the container keys cannot be updated, and in exchange, lookups\nare faster. And initialization is free when ``constexpr`` or ``constinit`` is \nused :-).\n\nStable Version\n--------------\n\nThe Frozen library is pretty stable now, have been so for years, so:\n\n1. The ``master`` version can be used as the default **stable** version.\n2. It is in maintenance mode. I still accept commits that make the code cleaner\n ``|`` faster ``|`` more modern, but expect some latency in the review process.\n\n\nInstallation\n------------\n\nJust copy the ``include/frozen`` directory somewhere and points to it using the ``-I`` flag. Alternatively, using CMake:\n\n.. code-block:: sh\n\n mkdir build\n cd build\n cmake -D CMAKE_BUILD_TYPE=Release ..\n make install\n\n\nInstallation via CMake populates configuration files into the ``/usr/local/share``\ndirectory which can be consumed by CMake\u0027s ``find_package`` intrinsic function.\n\nRequirements\n------------\n\nA C++ compiler that supports C++14. Clang version 5 is a good pick, GCC version\n6 lags behind in terms of ``constexpr`` compilation time (At least o",
"github_repo": "serge-sans-paille/frozen",
"github_stars": 1551,
"github_topics": [],
"homepage": "https://github.com/serge-sans-paille/frozen",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 2,
"installs_365d": 86,
"installs_90d": 8,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "Apache-2.0",
"llm_generated_at": null,
"llm_model": null,
"name": "frozen",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 14025,
"rank_365d": 9583,
"rank_90d": 12780,
"raw_hash": "ab315bbd2d4343cb",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/f/frozen.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "1.2.0",
"versioned_formulae": [],
"why_use_this": null
}