FreeBSD Ports

devel/frozen 1.2.0

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

Repository
FreeBSD ports
Maintainer
[email protected]
License
APACHE20
Categories
devel
Package size
21.0 KiB, 100.3 KiB installed

Description

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

Install

As a binary package — by origin, or by package name:

pkg install devel/frozen
pkg install frozen

From the ports tree:

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

To depend on this port in another port's Makefile:

RUN_DEPENDS=	frozen>0:devel/frozen

Packages

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

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest1.2.01.2.0--1.2.0
FreeBSD:14:quarterly1.2.01.2.0n/a-1.2.0
FreeBSD:15:latest1.2.01.2.0n/a--
FreeBSD:15:quarterly1.2.01.2.0n/an/an/a
FreeBSD:16:latest1.2.01.2.0n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

The Makefile names none itself; they come from USES and USE_*.

The full lists below include those, and their dependencies in turn.

All build dependencies 15

Configuration

No options to configure.

USES
cmake:testing compiler:c++14-lang
Service scripts
none

Files

pkg-plist 20
  • include/frozen/algorithm.h
  • include/frozen/bits/algorithms.h
  • include/frozen/bits/basic_types.h
  • include/frozen/bits/constexpr_assert.h
  • include/frozen/bits/defines.h
  • include/frozen/bits/elsa.h
  • include/frozen/bits/elsa_std.h
  • include/frozen/bits/exceptions.h
  • include/frozen/bits/hash_string.h
  • include/frozen/bits/mpl.h
  • include/frozen/bits/pmh.h
  • include/frozen/bits/version.h
  • include/frozen/map.h
  • include/frozen/random.h
  • include/frozen/set.h
  • include/frozen/string.h
  • include/frozen/unordered_map.h
  • include/frozen/unordered_set.h
  • share/cmake/frozen/frozenConfig.cmake
  • share/cmake/frozen/frozenConfigVersion.cmake
distinfo 1
FileSizeSHA256
serge-sans-paille-frozen-1.2.0_GH0.tar.gz187169ed8339c017d7c5fe019ac2c642477f435278f0dc643c1d69d3f3b1e95915e823

Commit history 0

No commits in the history this site was built from.