diff options
author | CoprDistGit <infra@openeuler.org> | 2025-07-27 13:41:57 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2025-07-27 13:41:57 +0000 |
commit | 3b2b38aaca7f35aed7098c1fca74ce2ded0fd508 (patch) | |
tree | 9c8e48b9fa751f022ee01496225cdef3ed2fb89f /robin-map.spec | |
parent | 574febf1ca7044e497b35eefa8eadb3f59647332 (diff) |
automatic import of robin-mapopeneuler25.03
Diffstat (limited to 'robin-map.spec')
-rw-r--r-- | robin-map.spec | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/robin-map.spec b/robin-map.spec new file mode 100644 index 0000000..9b68068 --- /dev/null +++ b/robin-map.spec @@ -0,0 +1,79 @@ +%global debug_package %{nil} + +Name: robin-map +Version: 1.3.0 +Release: 4%{?dist} +Summary: C++ implementation of a fast hash map and hash set using robin hood hashing + +License: MIT +URL: https://github.com/Tessil/robin-map +Source0: https://github.com/Tessil/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz + +BuildArch: noarch + +BuildRequires: cmake gcc-c++ +BuildRequires: boost-devel +BuildRequires: boost-static + +%description +The robin-map library is a C++ implementation of a fast hash map and hash set +using open-addressing and linear robin hood hashing with backward shift +deletion to resolve collisions. + +*** This is a header only library. *** +The package you want is %{name}-devel. + + +%package devel +Summary: %{summary} + +# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_packaging_header_only_libraries +Provides: robin-map-static = %{version}-%{release} + +%description devel +The robin-map library is a C++ implementation of a fast hash map and hash set +using open-addressing and linear robin hood hashing with backward shift +deletion to resolve collisions. + +Four classes are provided: tsl::robin_map, tsl::robin_set, tsl::robin_pg_map +and tsl::robin_pg_set. The first two are faster and use a power of two growth +policy, the last two use a prime growth policy instead and are able to cope +better with a poor hash function. Use the prime version if there is a chance of +repeating patterns in the lower bits of your hash (e.g. you are storing +pointers with an identity hash function). See GrowthPolicy for details. + +A benchmark of tsl::robin_map against other hash maps may be found here. This +page also gives some advices on which hash table structure you should try for +your use case (useful if you are a bit lost with the multiple hash tables +implementations in the tsl namespace). + + +%prep +%autosetup -p1 + + +%build +%cmake + + +%install +%cmake_install + + +%check +pushd tests +%cmake +%cmake_build +%{_vpath_builddir}/tsl_robin_map_tests + + +%files devel +%license LICENSE +%doc README.md +%{_datadir}/cmake/tsl-%{name}/*.cmake +%{_includedir}/tsl/ + + +%changelog +* Sat Jan 18 2025 Richard Shaw <hobbes1069@gmail.com> - 1.3.0-1 +- initial commit |