A std::unordered_set
that compares its elements (of type Value) based on their Projection. It allows to create, essentially, an equivalent of std::unordered_map
where keys are stored inside values.
More...
#include <functional>
#include <set>
#include <type_traits>
#include <unordered_set>
Go to the source code of this file.
|
namespace | utils |
| Utilities.
|
|
|
template<typename Value , auto Projection, typename Hash = void, typename Equal = std::equal_to<>, typename Allocator = std::allocator<Value>> |
using | utils::ProjectedUnorderedSet = std::unordered_set< Value, impl::projected_set::Hash< Value, Projection, Hash >, impl::projected_set::Compare< Value, Projection, Equal >, Allocator > |
| A std::unordered_set that compares its elements (of type Value) based on their Projection. It allows to create, essentially, an equivalent of std::unordered_map where keys are stored inside values.
|
|
template<typename Value , auto Projection, typename Compare = std::less<>, typename Allocator = std::allocator<Value>> |
using | utils::ProjectedSet = std::set< Value, impl::projected_set::Compare< Value, Projection, Compare >, Allocator > |
| Same as ProjectedUnorderedSet, but for std::set .
|
|
A std::unordered_set
that compares its elements (of type Value) based on their Projection. It allows to create, essentially, an equivalent of std::unordered_map
where keys are stored inside values.
Definition in file projected_set.hpp.