Skip to content

Commit fafe1d4

Browse files
Merge commit 'f1087e81ecdca5a59ba5ffca684c955c5b38f7c2' as 'third_party/unordered_dense'
2 parents 178bcb9 + f1087e8 commit fafe1d4

File tree

2,383 files changed

+16243
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,383 files changed

+16243
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# see https://clang.llvm.org/docs/ClangFormatStyleOptions.html
2+
---
3+
BasedOnStyle: LLVM
4+
Language: Cpp
5+
Standard: c++17
6+
ColumnLimit: 127
7+
8+
AccessModifierOffset: -4
9+
AlignEscapedNewlines: Left
10+
AllowShortFunctionsOnASingleLine: Empty
11+
AllowShortLambdasOnASingleLine: false
12+
AlwaysBreakTemplateDeclarations: true
13+
BinPackArguments: false
14+
BinPackParameters: false
15+
BreakConstructorInitializers: BeforeComma
16+
BreakStringLiterals: false
17+
IndentPPDirectives: AfterHash
18+
IndentWidth: 4
19+
PointerAlignment: Left
20+
UseTab: Never
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
Checks: '*
3+
-abseil-string-find-str-contains
4+
-altera*
5+
-bugprone-easily-swappable-parameters
6+
-cert-err58-cpp
7+
-cppcoreguidelines-avoid-magic-numbers
8+
-cppcoreguidelines-pro-bounds-constant-array-index
9+
-cppcoreguidelines-pro-bounds-pointer-arithmetic
10+
-fuchsia*
11+
-llvm-header-guard
12+
-llvmlibc*
13+
-readability-function-cognitive-complexity
14+
-readability-identifier-length
15+
-readability-magic-numbers
16+
'
17+
HeaderFilterRegex: ''
18+
CheckOptions:
19+
cppcoreguidelines-avoid-do-while.IgnoreMacros: 'true'
20+
readability-identifier-naming.MacroDefinitionCase: 'UPPER_CASE'
21+
readability-identifier-naming.TemplateParameterCase: 'CamelCase'
22+
readability-identifier-naming.TypeTemplateParameterCase: 'CamelCase'
23+
readability-identifier-naming.ValueTemplateParameterCase: 'CamelCase'
24+
readability-identifier-naming.ParameterPackCase: 'lower_case'
25+
readability-identifier-naming.AbstractClassCase: 'lower_case'
26+
readability-identifier-naming.ClassCase: 'lower_case'
27+
readability-identifier-naming.ClassMemberCase: 'lower_case'
28+
readability-identifier-naming.ConstantCase: 'lower_case'
29+
readability-identifier-naming.ConstexprVariableCase: 'lower_case'
30+
readability-identifier-naming.EnumCase: 'lower_case'
31+
readability-identifier-naming.EnumConstantCase: 'lower_case'
32+
readability-identifier-naming.FunctionCase: 'lower_case'
33+
readability-identifier-naming.GlobalConstantCase: 'lower_case'
34+
readability-identifier-naming.LocalVariableCase: 'lower_case'
35+
readability-identifier-naming.MemberCase: 'lower_case'
36+
readability-identifier-naming.NamespaceCase: 'lower_case'
37+
readability-identifier-naming.ParameterCase: 'lower_case'
38+
readability-identifier-naming.StructCase: 'lower_case'
39+
readability-identifier-naming.TypeAliasCase: 'lower_case'
40+
readability-identifier-naming.TypedefCase: 'lower_case'
41+
readability-identifier-naming.StaticConstantCase: 'lower_case'
42+
readability-identifier-naming.StaticVariableCase: 'lower_case'
43+
readability-identifier-naming.UnionCase: 'lower_case'
44+
readability-identifier-naming.VariableCase: 'lower_case'
45+
readability-identifier-naming.GlobalConstantPrefix: 'global_'
46+
readability-identifier-naming.GlobalVariablePrefix: 'global_'
47+
readability-identifier-naming.MemberPrefix: 'm_'
48+
readability-identifier-naming.PrivateMemberPrefix: 'm_'
49+
readability-identifier-naming.PrivateMemberPrefix: 'm_'
50+
readability-identifier-naming.ProtectedMemberPrefix: 'm_'
51+
readability-identifier-naming.PublicMemberPrefix: ''
52+
readability-identifier-naming.StaticConstantPrefix: 'static_'
53+
readability-identifier-naming.StaticVariablePrefix: 'static_'
54+
readability-identifier-naming.ClassMemberPrefix: 'static_'
55+
...
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
data/fuzz
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# These are supported funding model platforms
2+
3+
github: [martinus] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: # Replace with a single Patreon username
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
otechie: # Replace with a single Otechie username
12+
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: "[BUG] "
5+
labels: bug
6+
assignees: martinus
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1.
16+
2.
17+
3.
18+
19+
**Expected behavior**
20+
A clear and concise description of what you expected to happen.
21+
22+
**System (please complete the following information):**
23+
- OS: [e.g. Linux]
24+
- Compiler: [e.g. clang++, g++]
25+
- Version [e.g. 13.0.1]
26+
27+
**Additional context**
28+
Add any other context about the problem here.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: enhancement
6+
assignees: martinus
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: Build, Test, Lint
2+
3+
on: [push, pull_request]
4+
5+
# see https://github.com/mesonbuild/meson/blob/master/docs/markdown/Continuous-Integration.md
6+
jobs:
7+
8+
lint:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v3
12+
- uses: actions/setup-python@v4
13+
with:
14+
python-version: '3.x'
15+
- run: ./scripts/lint/lint-version.py
16+
17+
linux:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@v3
21+
- run: sudo apt-get install -yq libboost-dev
22+
- uses: hendrikmuhs/[email protected]
23+
- uses: actions/setup-python@v4
24+
with:
25+
python-version: '3.x'
26+
- run: pip install meson ninja
27+
- run: meson setup builddir/
28+
env:
29+
CXX: ccache c++
30+
- run: meson test -C builddir/ -v
31+
- uses: actions/upload-artifact@v3
32+
if: failure()
33+
with:
34+
name: Linux_Meson_Testlog
35+
path: builddir/meson-logs/testlog.txt
36+
37+
macos:
38+
runs-on: macos-latest
39+
steps:
40+
- uses: actions/checkout@v3
41+
- uses: actions/setup-python@v4
42+
with:
43+
python-version: '3.x'
44+
- run: brew install gcc ccache meson ninja
45+
- run: meson setup builddir/
46+
env:
47+
CXX: ccache c++
48+
- run: meson test -C builddir/ -v
49+
- uses: actions/upload-artifact@v3
50+
if: failure()
51+
with:
52+
name: MacOS_Meson_Testlog
53+
path: builddir/meson-logs/testlog.txt
54+
55+
windows:
56+
runs-on: windows-latest
57+
steps:
58+
- uses: actions/checkout@v3
59+
- uses: actions/setup-python@v4
60+
with:
61+
python-version: '3.x'
62+
- uses: BSFishy/pip-action@v1
63+
with:
64+
packages: ninja meson
65+
- uses: ilammy/msvc-dev-cmd@v1
66+
- run: meson setup builddir
67+
- run: meson test -C builddir -v
68+
- uses: actions/upload-artifact@v3
69+
if: failure()
70+
with:
71+
name: Windows_Meson_Testlog
72+
path: |
73+
builddir/meson-logs/testlog.txt
74+
builddir/test/udm-test.exe
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
build
2+
builddir
3+
.cache
4+
.vscode
5+
compile_commands.json
6+
7+
# ignore all in subprojects except the .wrap files
8+
/subprojects/*
9+
!/subprojects/*.wrap
10+
11+
# c++ modules
12+
*.pcm
13+
a.out
14+
*.o
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
cmake_minimum_required(VERSION 3.12)
2+
project("unordered_dense"
3+
VERSION 4.4.0
4+
DESCRIPTION "A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion"
5+
HOMEPAGE_URL "https://github.com/martinus/unordered_dense")
6+
7+
include(GNUInstallDirs)
8+
9+
# determine whether this is a standalone project or included by other projects
10+
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
11+
set(_unordered_dense_is_toplevel_project TRUE)
12+
else()
13+
set(_unordered_dense_is_toplevel_project FALSE)
14+
endif()
15+
16+
add_library(unordered_dense INTERFACE)
17+
add_library(unordered_dense::unordered_dense ALIAS unordered_dense)
18+
19+
target_include_directories(
20+
unordered_dense
21+
INTERFACE
22+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
23+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
24+
25+
target_compile_features(unordered_dense INTERFACE cxx_std_17)
26+
27+
if(_unordered_dense_is_toplevel_project)
28+
# locations are provided by GNUInstallDirs
29+
install(
30+
TARGETS unordered_dense
31+
EXPORT unordered_dense_Targets
32+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
33+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
34+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
35+
36+
include(CMakePackageConfigHelpers)
37+
write_basic_package_version_file(
38+
"unordered_denseConfigVersion.cmake"
39+
VERSION ${PROJECT_VERSION}
40+
COMPATIBILITY SameMajorVersion)
41+
42+
configure_package_config_file(
43+
"${PROJECT_SOURCE_DIR}/cmake/unordered_denseConfig.cmake.in"
44+
"${PROJECT_BINARY_DIR}/unordered_denseConfig.cmake"
45+
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
46+
47+
install(
48+
EXPORT unordered_dense_Targets
49+
FILE unordered_denseTargets.cmake
50+
NAMESPACE unordered_dense::
51+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
52+
53+
install(
54+
FILES "${PROJECT_BINARY_DIR}/unordered_denseConfig.cmake"
55+
"${PROJECT_BINARY_DIR}/unordered_denseConfigVersion.cmake"
56+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
57+
58+
install(
59+
DIRECTORY ${PROJECT_SOURCE_DIR}/include/ankerl
60+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
61+
endif()
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at [email protected]. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq

0 commit comments

Comments
 (0)