Broom 1.0.0
A thread-local C++ Garbage Collector
Loading...
Searching...
No Matches
broom-unordered-set.h
Go to the documentation of this file.
1#pragma once
2
3#include <unordered_set>
4
5#include "broom.h"
6#include "impl/broom-containers.h"
7
8#define UNORDERED_SET_METHODS(X_) \
9 CPP11_UNORDERED_SET_METHODS(X_) \
10 CPP14_UNORDERED_SET_METHODS(X_) \
11 CPP17_UNORDERED_SET_METHODS(X_) \
12 CPP20_UNORDERED_SET_METHODS(X_) \
13 CPP23_UNORDERED_SET_METHODS(X_)
14
15namespace broom {
26// XXX(gc): Implement via forwarding instead?
27template <typename T, typename Hash = std::hash<T>,
28 typename KeyEqual = std::equal_to<T>,
29 typename Allocator = std::allocator<T>>
30class unordered_set : private std::unordered_set<T, Hash, KeyEqual, Allocator>,
31 public BroomValue {
32 using Base = std::unordered_set<T, Hash, KeyEqual, Allocator>;
33
34 public:
35 DEF_TYPES()
41};
42} // namespace broom
43
44#undef UNORDERED_SET_METHODS
45
46#include "impl/broom-undef.h"
#define UNORDERED_SET_METHODS(X_)
std::queue< T, broom::deque< T > > queue
Definition broom-queue.h:12