summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2025-07-27 13:41:57 +0000
committerCoprDistGit <infra@openeuler.org>2025-07-27 13:41:57 +0000
commit3b2b38aaca7f35aed7098c1fca74ce2ded0fd508 (patch)
tree9c8e48b9fa751f022ee01496225cdef3ed2fb89f
parent574febf1ca7044e497b35eefa8eadb3f59647332 (diff)
automatic import of robin-mapopeneuler25.03
-rw-r--r--.gitignore1
-rw-r--r--robin-map.spec79
-rw-r--r--sources1
3 files changed, 81 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..6ae9ab0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/sources b/sources
new file mode 100644
index 0000000..e97e42f
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+2e451e84be031b99f10faec9a7d70246 robin-map-1.3.0.tar.gz