{"id":20077220,"url":"https://github.com/boostorg/unordered","last_synced_at":"2025-04-05T11:08:28.823Z","repository":{"id":6353146,"uuid":"7589974","full_name":"boostorg/unordered","owner":"boostorg","description":"Boost.org unordered module","archived":false,"fork":false,"pushed_at":"2024-10-23T16:32:19.000Z","size":27673,"stargazers_count":62,"open_issues_count":18,"forks_count":55,"subscribers_count":13,"default_branch":"develop","last_synced_at":"2024-10-23T23:03:07.172Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://boost.org/libs/unordered","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"citation-style-language/locales","license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boostorg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-01-13T15:59:08.000Z","updated_at":"2024-10-23T16:32:20.000Z","dependencies_parsed_at":"2023-09-25T23:06:02.854Z","dependency_job_id":"5f2ad887-5e08-4d5b-bbbb-e45ec682637d","html_url":"https://github.com/boostorg/unordered","commit_stats":null,"previous_names":[],"tags_count":90,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boostorg%2Funordered","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boostorg%2Funordered/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boostorg%2Funordered/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boostorg%2Funordered/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boostorg","download_url":"https://codeload.github.com/boostorg/unordered/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247325693,"owners_count":20920714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T15:06:37.219Z","updated_at":"2025-04-05T11:08:28.794Z","avatar_url":"https://github.com/boostorg.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Boost.Unordered\n\n[![Branch](https://img.shields.io/badge/branch-master-brightgreen.svg)](https://github.com/boostorg/unordered/tree/master) [![CI](https://github.com/boostorg/unordered/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/boostorg/unordered/actions/workflows/ci.yml) [![Drone status](https://img.shields.io/drone/build/boostorg/unordered/master?server=https%3A%2F%2Fdrone.cpp.al\u0026logo=drone\u0026logoColor=%23CCCCCC\u0026label=CI)](https://drone.cpp.al/boostorg/unordered) [![Build status](https://img.shields.io/appveyor/build/cppalliance/unordered/master?logo=appveyor\u0026label=CI)](https://ci.appveyor.com/project/cppalliance/unordered/branch/master)  [![codecov](https://codecov.io/gh/boostorg/unordered/branch/master/graph/badge.svg)](https://codecov.io/gh/boostorg/unordered/branch/master)  [![Deps](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/unordered.html)  [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](https://www.boost.org/doc/libs/master/libs/unordered/index.html)  [![Enter the Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/unordered.html)\u003cbr/\u003e\n[![Branch](https://img.shields.io/badge/branch-develop-brightgreen.svg)](https://github.com/boostorg/unordered/tree/develop) [![CI](https://github.com/boostorg/unordered/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/boostorg/unordered/actions/workflows/ci.yml) [![Drone status](https://img.shields.io/drone/build/boostorg/unordered/develop?server=https%3A%2F%2Fdrone.cpp.al\u0026logo=drone\u0026logoColor=%23CCCCCC\u0026label=CI)](https://drone.cpp.al/boostorg/unordered) [![Build status](https://img.shields.io/appveyor/build/cppalliance/unordered/master?logo=appveyor\u0026label=CI)](https://ci.appveyor.com/project/cppalliance/unordered/branch/develop) [![codecov](https://codecov.io/gh/boostorg/unordered/branch/develop/graph/badge.svg)](https://codecov.io/gh/boostorg/unordered/branch/develop) [![Deps](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/unordered.html) [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](https://www.boost.org/doc/libs/develop/libs/unordered/index.html) [![Enter the Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](http://www.boost.org/development/tests/develop/developer/unordered.html)\u003cbr/\u003e\n[![BSL 1.0](https://img.shields.io/badge/license-BSL_1.0-blue.svg)](https://www.boost.org/users/license.html) \u003cimg alt=\"C++11 required\" src=\"https://img.shields.io/badge/standard-C%2b%2b11-blue.svg\"\u003e \u003cimg alt=\"Header-only library\" src=\"https://img.shields.io/badge/build-header--only-blue.svg\"\u003e\n\nBoost.Unordered offers a catalog of hash containers with different standards compliance levels, performances and intented usage scenarios:\n\n**`boost::unordered_set` `boost::unordered_map` `boost::unordered_multiset` `boost::unordered_multimap`**\n\n\u003cul\u003eFully conformant implementations of \u003ccode\u003estd::unordered_[multi](set|map)\u003c/code\u003e,\nbut faster and up to the latest revisions of the standard even if you're working in an older version of C++ (heterogeneous lookup,\n\u003ccode\u003etry_emplace\u003c/code\u003e, \u003ccode\u003econtains\u003c/code\u003e, etc.)\u003c/ul\u003e\n\n**`boost::unordered_flat_set` `boost::unordered_flat_map`**\n\n\u003cul\u003eThe fastest of the lot. Based on open addressing, these containers slightly\ndeviate from the standard in exchange for top performance.\u003c/ul\u003e\n\n**`boost::unordered_node_set` `boost::unordered_node_map`**\n\n\u003cul\u003eVariations of \u003ccode\u003eboost::unordered_flat_(set|map)\u003c/code\u003e providing pointer stability.\u003c/ul\u003e\n\n**`boost::concurrent_flat_set` `boost::concurrent_flat_map`**\n\n\u003cul\u003eHigh performance for multithreaded scenarios. Introducing a new non-standard, iterator-free API.\u003c/ul\u003e\n\n**`boost::concurrent_node_set` `boost::concurrent_node_map`**\n\n\u003cul\u003eVariations of \u003ccode\u003eboost::concurrent_flat_(set|map)\u003c/code\u003e providing pointer stability.\u003c/ul\u003e\n\n## Learn about Boost.Unordered\n\n* [Online documentation](https://boost.org/libs/unordered)\n* [Some benchmarks](https://github.com/boostorg/boost_unordered_benchmarks)\n* Technical articles on Boost.Unordered internal design:\n  * [Advancing the state of the art for `std::unordered_map` implementations](https://bannalia.blogspot.com/2022/06/advancing-state-of-art-for.html)\n  * [Inside `boost::unordered_flat_map`](https://bannalia.blogspot.com/2022/11/inside-boostunorderedflatmap.html)\n  * [Inside `boost::concurrent_flat_map`](https://bannalia.blogspot.com/2023/07/inside-boostconcurrentflatmap.html)\n  * [Bulk visitation in `boost::concurrent_flat_map`](https://bannalia.blogspot.com/2023/10/bulk-visitation-in-boostconcurrentflatm.html)\n* Debugging visualizers for Boost.Unordered:\n  * [Natvis for boost::unordered_map, and how to use \u0026lt;Intrinsic\u0026gt; elements](https://blog.ganets.ky/NatvisForUnordered/)\n  * [Natvis for boost::concurrent_flat_map, and why fancy pointers are hard](https://blog.ganets.ky/NatvisForUnordered2/)\n  * [Visualizing boost::unordered_map in GDB, with pretty-printer customization points](https://blog.ganets.ky/PrettyPrinter/)\n\nBoost.Unordered can be installed in a number of ways:\n\n* [Download Boost](https://www.boost.org/users/download/) and you're ready to go (this is a header-only library requiring no building).\n* 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.86):\n```\n[requires]\nboost/[\u003e=1.86.0]\n```\n\u003cul\u003eIf you're not using any compiled Boost library, the following will skip building altogether:\u003c/ul\u003e\n\n```\n[options]\nboost:header_only=True\n```\n* Using vcpkg: Execute the command\n```\nvcpkg install boost-unordered\n```\n* Using CMake: [Boost CMake support infrastructure](https://github.com/boostorg/cmake)\nallows you to use CMake directly to download, build and consume all of Boost or\nsome specific libraries.\n\n## Support\n\n* Join the **#boost-unordered** discussion group at [cpplang.slack.com](https://cpplang.slack.com/)\n([ask for an invite](https://cppalliance.org/slack/) if you’re not a member of this workspace yet)\n* Ask in the [Boost Users mailing list](https://lists.boost.org/mailman/listinfo.cgi/boost-users)\n(add the `[unordered]` tag at the beginning of the subject line)\n* [File an issue](https://github.com/boostorg/unordered/issues)\n\n## Contribute\n\n* [Pull requests](https://github.com/boostorg/unordered/pulls) against **develop** branch are most welcome.\nNote 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).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboostorg%2Funordered","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboostorg%2Funordered","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboostorg%2Funordered/lists"}