8#include <atomic_queue/include/atomic_queue/atomic_queue.h>
11#include <oneapi/tbb/concurrent_map.h>
12#include <phmap/parallel_hashmap/phmap.h>
31using HashSet_t = phmap::parallel_flat_hash_set<V, phmap::priv::hash_default_hash<V>, phmap::priv::hash_default_eq<V>, std::allocator<V>, 4, std::mutex>;
36template <
class K,
class V>
37using HashMap_t = phmap::parallel_flat_hash_map<K, V, phmap::priv::hash_default_hash<K>, phmap::priv::hash_default_eq<K>, std::allocator<std::pair<const K, V>>, 4, std::mutex>;
42template <
class K,
class V,
class C = std::greater<K>>
70 __JAFFAR_COMMON__INLINE__
void push_back_no_lock(T element) { _internalDeque.push_back(element); }
82 _internalDeque.push_back(element);
93 __JAFFAR_COMMON__INLINE__
void push_front_no_lock(T element) { _internalDeque.push_front(element); }
105 _internalDeque.push_front(element);
117 __JAFFAR_COMMON__INLINE__ T
front()
const {
return _internalDeque.front(); }
127 __JAFFAR_COMMON__INLINE__ T
back()
const {
return _internalDeque.back(); }
138 _internalDeque.pop_front();
151 _internalDeque.pop_back();
166 if (_internalDeque.empty())
172 element = _internalDeque.back();
173 _internalDeque.pop_back();
190 if (_internalDeque.empty())
196 element = _internalDeque.front();
197 _internalDeque.pop_front();
209 __JAFFAR_COMMON__INLINE__
size_t wasSize()
const {
return _internalDeque.size(); }
220 std::deque<T> _internalDeque;
Definition concurrent.hpp:52
__JAFFAR_COMMON__INLINE__ void push_front(T element)
Definition concurrent.hpp:102
__JAFFAR_COMMON__INLINE__ void push_front_no_lock(T element)
Definition concurrent.hpp:93
__JAFFAR_COMMON__INLINE__ size_t wasSize() const
Definition concurrent.hpp:209
__JAFFAR_COMMON__INLINE__ bool pop_front_get(T &element)
Definition concurrent.hpp:186
__JAFFAR_COMMON__INLINE__ void push_back_no_lock(T element)
Definition concurrent.hpp:70
__JAFFAR_COMMON__INLINE__ void pop_front()
Definition concurrent.hpp:135
__JAFFAR_COMMON__INLINE__ T back() const
Definition concurrent.hpp:127
__JAFFAR_COMMON__INLINE__ void push_back(T element)
Definition concurrent.hpp:79
__JAFFAR_COMMON__INLINE__ void pop_back()
Definition concurrent.hpp:148
__JAFFAR_COMMON__INLINE__ bool pop_back_get(T &element)
Definition concurrent.hpp:162
__JAFFAR_COMMON__INLINE__ auto & getInternalStorage()
Definition concurrent.hpp:61
__JAFFAR_COMMON__INLINE__ T front() const
Definition concurrent.hpp:117
phmap::parallel_flat_hash_set< V, phmap::priv::hash_default_hash< V >, phmap::priv::hash_default_eq< V >, std::allocator< V >, 4, std::mutex > HashSet_t
Definition concurrent.hpp:31
atomic_queue::AtomicQueueB< T > atomicQueue_t
Definition concurrent.hpp:25
oneapi::tbb::concurrent_multimap< K, V, C > concurrentMultimap_t
Definition concurrent.hpp:43
phmap::parallel_flat_hash_map< K, V, phmap::priv::hash_default_hash< K >, phmap::priv::hash_default_eq< K >, std::allocator< std::pair< const K, V > >, 4, std::mutex > HashMap_t
Definition concurrent.hpp:37