devel/frozen - The NetBSD Packages Collection

Header-only, constexpr alternative to gperf for C++14 users

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 :-).

Build dependencies

devel/cmake pkgtools/mktools pkgtools/cwrappers

Runtime dependencies


Binary packages

NetBSD 10.0aarch64frozen-1.1.1.tgz
NetBSD 10.0aarch64ebfrozen-1.1.1.tgz
NetBSD 10.0alphafrozen-1.1.1.tgz
NetBSD 10.0earmv6hffrozen-1.1.1.tgz
NetBSD 10.0earmv7hffrozen-1.1.1.tgz
NetBSD 10.0i386frozen-1.1.1.tgz
NetBSD 10.0sparcfrozen-1.1.1.tgz
NetBSD 10.0vaxfrozen-1.1.1.tgz
NetBSD 10.0x86_64frozen-1.1.1.tgz
NetBSD 8.0powerpcfrozen-1.1.1.tgz
NetBSD 8.0x86_64frozen-1.1.1.tgz
NetBSD 9.0aarch64frozen-1.1.1.tgz
NetBSD 9.0alphafrozen-1.1.1.tgz
NetBSD 9.0earmv6hffrozen-1.1.1.tgz
NetBSD 9.0earmv7hffrozen-1.1.1.tgz
NetBSD 9.0i386frozen-1.1.1.tgz
NetBSD 9.0powerpcfrozen-1.1.1.tgz
NetBSD 9.0x86_64frozen-1.1.1.tgz
NetBSD 9.3x86_64frozen-1.1.1.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

Available build options


Known vulnerabilities

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.

Problem reports, updates or suggestions for this package should be reported with send-pr.