mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-09 23:23:00 -04:00
dev-cpp/parallel-hashmap: new package
Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
1
dev-cpp/parallel-hashmap/Manifest
Normal file
1
dev-cpp/parallel-hashmap/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST parallel-hashmap-1.33.tar.gz 2038996 BLAKE2B b704a0230bd6d15e8a3a1aa11bec456183119d5104e1ac191e556edae1c0b0d2a27c5b52c84cae167cd09a90f4fc43f817c21d64d6b288a70596b6495ee872e6 SHA512 287f098229153d925632e68e3cdbabfae0ea0ab8864089e4c0553a166c6079ca82ed5246ba53afd2a2917abcf06f37bc18f098e721f5f3b8def4d2d8c1c8c745
|
||||
33
dev-cpp/parallel-hashmap/metadata.xml
Normal file
33
dev-cpp/parallel-hashmap/metadata.xml
Normal file
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
|
||||
<pkgmetadata>
|
||||
<longdescription lang="en">
|
||||
Overview
|
||||
|
||||
This repository aims to provide a set of excellent hash map implementations, as well as a btree alternative to std::map and std::set, with the following characteristics:
|
||||
|
||||
Header only: nothing to build, just copy the parallel_hashmap directory to your project and you are good to go.
|
||||
|
||||
drop-in replacement for std::unordered_map, std::unordered_set, std::map and std::set
|
||||
|
||||
Compiler with C++11 support required, C++14 and C++17 APIs are provided (such as try_emplace)
|
||||
|
||||
Very efficient, significantly faster than your compiler's unordered map/set or Boost's, or than sparsepp
|
||||
|
||||
Memory friendly: low memory usage, although a little higher than sparsepp
|
||||
|
||||
Supports heterogeneous lookup
|
||||
|
||||
Easy to forward declare: just include phmap_fwd_decl.h in your header files to forward declare Parallel Hashmap containers [note: this does not work currently for hash maps with pointer keys]
|
||||
|
||||
Dump/load feature: when a flat hash map stores data that is std::trivially_copyable, the table can be dumped to disk and restored as a single array, very efficiently, and without requiring any hash computation. This is typically about 10 times faster than doing element-wise serialization to disk, but it will use 10% to 60% extra disk space. See examples/serialize.cc. (flat hash map/set only)
|
||||
|
||||
Automatic support for boost's hash_value() method for providing the hash function (see examples/hash_value.h). Also default hash support for std::pair and std::tuple.
|
||||
|
||||
natvis visualization support in Visual Studio (hash map/set only)
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<bugs-to>https://github.com/greg7mdp/parallel-hashmap/issues</bugs-to>
|
||||
<remote-id type="github">greg7mdp/parallel-hashmap</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
45
dev-cpp/parallel-hashmap/parallel-hashmap-1.33.ebuild
Normal file
45
dev-cpp/parallel-hashmap/parallel-hashmap-1.33.ebuild
Normal file
@@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake
|
||||
|
||||
DESCRIPTION="A family of header-only, very fast and memory-friendly hashmap and btree containers."
|
||||
HOMEPAGE="
|
||||
https://greg7mdp.github.io/parallel-hashmap/
|
||||
https://github.com/greg7mdp/parallel-hashmap
|
||||
"
|
||||
SRC_URI="https://github.com/greg7mdp/parallel-hashmap/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="examples"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND}"
|
||||
#BDEPEND="
|
||||
# doc? ( app-text/pandoc )
|
||||
#"
|
||||
|
||||
#TODO: explore the various cmake options (if any)
|
||||
#TODO: tests, doc
|
||||
|
||||
src_compile() {
|
||||
cmake_src_compile
|
||||
|
||||
#waiting for https://github.com/greg7mdp/parallel-hashmap/issues/91
|
||||
# if use doc ; then
|
||||
# cd html || die
|
||||
# emake all
|
||||
# fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
if use examples ; then
|
||||
dodoc -r examples
|
||||
docompress -x "/usr/share/doc/${PF}/examples"
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user