Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kassane/unordered
Boost.org unordered module (uses zig build)
https://github.com/kassane/unordered
boost-libraries cplusplus cpp zig-package
Last synced: 3 months ago
JSON representation
Boost.org unordered module (uses zig build)
- Host: GitHub
- URL: https://github.com/kassane/unordered
- Owner: kassane
- License: bsl-1.0
- Fork: true (boostorg/unordered)
- Created: 2023-07-15T15:22:16.000Z (over 1 year ago)
- Default Branch: zig-pkg
- Last Pushed: 2024-06-27T13:52:26.000Z (8 months ago)
- Last Synced: 2024-08-03T23:23:25.514Z (7 months ago)
- Topics: boost-libraries, cplusplus, cpp, zig-package
- Language: C++
- Homepage: http://boost.org/libs/unordered
- Size: 24.7 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-zig - boost unordered
README
# Boost.Unordered
[](https://github.com/boostorg/unordered/tree/master) [](https://github.com/boostorg/unordered/actions/workflows/ci.yml) [](https://drone.cpp.al/boostorg/unordered) [](https://ci.appveyor.com/project/cppalliance/unordered/branch/master) [](https://codecov.io/gh/boostorg/unordered/branch/master) [](https://pdimov.github.io/boostdep-report/master/unordered.html) [](https://www.boost.org/doc/libs/master/libs/unordered/doc/html/unordered.html) [](http://www.boost.org/development/tests/master/developer/unordered.html)
[](https://github.com/boostorg/unordered/tree/develop) [](https://github.com/boostorg/unordered/actions/workflows/ci.yml) [](https://drone.cpp.al/boostorg/unordered) [](https://ci.appveyor.com/project/cppalliance/unordered/branch/develop) [](https://codecov.io/gh/boostorg/unordered/branch/develop) [](https://pdimov.github.io/boostdep-report/develop/unordered.html) [](https://www.boost.org/doc/libs/develop/libs/unordered/doc/html/unordered.html) [](http://www.boost.org/development/tests/develop/developer/unordered.html)
[](https://www.boost.org/users/license.html)![]()
Boost.Unordered offers a catalog of hash containers with different standards compliance levels, performances and intented usage scenarios:
**`boost::unordered_set` `boost::unordered_map` `boost::unordered_multiset` `boost::unordered_multimap`**
- Fully conformant implementations of
std::unordered_[multi](set|map)
,
but faster and up to the latest revisions of the standard even if you're working in an older version of C++ (heterogeneous lookup,
try_emplace
, contains
, etc.)**`boost::unordered_flat_set` `boost::unordered_flat_map`**
- The fastest of the lot. Based on open addressing, these containers slightly
deviate from the standard in exchange for top performance.
**`boost::unordered_node_set` `boost::unordered_node_map`**
- Variations of
boost::unordered_flat_(set|map)
providing pointer stability.**`boost::concurrent_flat_set` `boost::concurrent_flat_map`**
- High performance for multithreaded scenarios. Introducing a new non-standard, iterator-free API.
## Learn about Boost.Unordered
* [Online documentation](https://boost.org/libs/unordered)
* [Some benchmarks](https://github.com/boostorg/boost_unordered_benchmarks)
* Technical articles on Boost.Unordered internal design:
* [Advancing the state of the art for `std::unordered_map` implementations](https://bannalia.blogspot.com/2022/06/advancing-state-of-art-for.html)
* [Inside `boost::unordered_flat_map`](https://bannalia.blogspot.com/2022/11/inside-boostunorderedflatmap.html)
* [Inside `boost::concurrent_flat_map`](https://bannalia.blogspot.com/2023/07/inside-boostconcurrentflatmap.html)
* [Bulk visitation in `boost::concurrent_flat_map`](https://bannalia.blogspot.com/2023/10/bulk-visitation-in-boostconcurrentflatm.html)
## Get the library
Boost.Unordered can be installed in a number of ways:
* [Download Boost](https://www.boost.org/users/download/) and you're ready to go (this is a header-only library requiring no building).
* Using Conan 2: In case you don't have it yet, add an entry for Boost in your `conanfile.txt` (the example requires at least Boost 1.83):
```
[requires]
boost/[>=1.83.0]
```
- If you're not using any compiled Boost library, the following will skip building altogether:
```
[options]
boost:header_only=True
```
* Using vcpkg: Execute the command
```
vcpkg install boost-unordered
```
* Using CMake: [Boost CMake support infrastructure](https://github.com/boostorg/cmake)
allows you to use CMake directly to download, build and consume all of Boost or
some specific libraries.
## Support
* Join the **#boost-unordered** discussion group at [cpplang.slack.com](https://cpplang.slack.com/)
([ask for an invite](https://cppalliance.org/slack/) if you’re not a member of this workspace yet)
* Ask in the [Boost Users mailing list](https://lists.boost.org/mailman/listinfo.cgi/boost-users)
(add the `[unordered]` tag at the beginning of the subject line)
* [File an issue](https://github.com/boostorg/unordered/issues)
## Contribute
* [Pull requests](https://github.com/boostorg/unordered/pulls) against **develop** branch are most welcome.
Note that by submitting patches you agree to license your modifications under the [Boost Software License, Version 1.0](http://www.boost.org/LICENSE_1_0.txt).