Sun Oct 15 19:26:40 2023 UTC ()
devel/frozen: import frozen-1.1.1

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


(ryoon)
diff -r0 -r1.1 pkgsrc/devel/frozen/DESCR
diff -r0 -r1.1 pkgsrc/devel/frozen/Makefile
diff -r0 -r1.1 pkgsrc/devel/frozen/PLIST
diff -r0 -r1.1 pkgsrc/devel/frozen/buildlink3.mk
diff -r0 -r1.1 pkgsrc/devel/frozen/distinfo

File Added: pkgsrc/devel/frozen/DESCR
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 :-).

File Added: pkgsrc/devel/frozen/Makefile
# $NetBSD: Makefile,v 1.1 2023/10/15 19:26:40 ryoon Exp $

DISTNAME=	frozen-1.1.1
CATEGORIES=	devel
MASTER_SITES=	https://dev-www.libreoffice.org/src/

MAINTAINER=	ryoon@NetBSD.org
HOMEPAGE=	https://github.com/serge-sans-paille/frozen
COMMENT=	Header-only, constexpr alternative to gperf for C++14 users
LICENSE=	apache-2.0

USE_LANGUAGES=	c++

.include "../../devel/cmake/build.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/devel/frozen/PLIST
@comment $NetBSD: PLIST,v 1.1 2023/10/15 19:26:40 ryoon Exp $
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/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

File Added: pkgsrc/devel/frozen/buildlink3.mk
# $NetBSD: buildlink3.mk,v 1.1 2023/10/15 19:26:40 ryoon Exp $

BUILDLINK_TREE+=	frozen

.if !defined(FROZEN_BUILDLINK3_MK)
FROZEN_BUILDLINK3_MK:=

BUILDLINK_DEPMETHOD.frozen?=	build

BUILDLINK_API_DEPENDS.frozen+=	frozen>=1.1.1
BUILDLINK_PKGSRCDIR.frozen?=	../../devel/frozen
.endif	# FROZEN_BUILDLINK3_MK

BUILDLINK_TREE+=	-frozen

File Added: pkgsrc/devel/frozen/distinfo
$NetBSD: distinfo,v 1.1 2023/10/15 19:26:40 ryoon Exp $

BLAKE2s (frozen-1.1.1.tar.gz) = d71c8bfef9fa92add6a7526d2142f8decfc8bf1b59519db0b59b095e4680da68
SHA512 (frozen-1.1.1.tar.gz) = e22561a4e634e388e11f95b3005bc711e543013d314f6aaeda34befb2c673aea2d71a717d8822bc8fa85bdc8409945ba2ad91a1bac4f8cb5303080de01a5f60e
Size (frozen-1.1.1.tar.gz) = 186589 bytes