BSD Ports

devel/frozen 1.2.0 NetBSD

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

System
NetBSD
Repository
pkgsrc
Maintainer
[email protected]
License
apache-2.0
Categories
devel
Package size
17.3 KiB, 88.9 KiB installed

Description

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

In the other systems

SystemPortVersion
NetBSDdevel/frozen1.2.0
FreeBSDdevel/frozen1.2.0
HardenedBSDdevel/frozen1.2.0
GhostBSDdevel/frozen1.2.0

Install

Binary package:

pkgin install frozen

From pkgsrc:

cd /usr/pkgsrc/devel/frozen && make install clean

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

RepositoryVersion
NetBSD 10.1 x86_641.2.0
NetBSD 10.1 aarch641.2.0
SmartOS / illumos x86_641.2.0
macOS 15 arm641.2.0

Dependencies

Required by 1