diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | robin-map.spec | 79 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 81 insertions, 0 deletions
@@ -0,0 +1 @@ +/robin-map-1.3.0.tar.gz 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 @@ -0,0 +1 @@ +2e451e84be031b99f10faec9a7d70246 robin-map-1.3.0.tar.gz |