jaffarCommon
Loading...
Searching...
No Matches
Classes | Typedefs
concurrent.hpp File Reference

Containers designed for fast parallel, mutual exclusive access. More...

#include <atomic>
#include <atomic_queue/include/atomic_queue/atomic_queue.h>
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <deque>
#include <mutex>
#include <oneapi/tbb/concurrent_map.h>
#include <phmap/parallel_hashmap/phmap.h>
#include <stddef.h>
Include dependency graph for concurrent.hpp:

Go to the source code of this file.

Classes

class  jaffarCommon::concurrent::DrainBuffer< T >
 
class  jaffarCommon::concurrent::Deque< T >
 

Typedefs

template<class T >
using jaffarCommon::concurrent::atomicQueue_t = atomic_queue::AtomicQueueB< T >
 
template<class V >
using jaffarCommon::concurrent::HashSet_t = phmap::parallel_flat_hash_set< V, phmap::priv::hash_default_hash< V >, phmap::priv::hash_default_eq< V >, std::allocator< V >, 8, std::mutex >
 
template<class K , class V >
using jaffarCommon::concurrent::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 > >, 8, std::mutex >
 
template<class K , class V , class C = std::greater<K>>
using jaffarCommon::concurrent::concurrentMultimap_t = oneapi::tbb::concurrent_multimap< K, V, C >
 

Detailed Description

Containers designed for fast parallel, mutual exclusive access.

Typedef Documentation

◆ atomicQueue_t

template<class T >
using jaffarCommon::concurrent::atomicQueue_t = typedef atomic_queue::AtomicQueueB<T>

Definition for an atomic queue. It enables lock-free concurrent push and pop operations.

◆ concurrentMultimap_t

template<class K , class V , class C = std::greater<K>>
using jaffarCommon::concurrent::concurrentMultimap_t = typedef oneapi::tbb::concurrent_multimap<K, V, C>

Definition for a concurrent multimap. It enables concurrent inserts and queries

◆ HashMap_t

template<class K , class V >
using jaffarCommon::concurrent::HashMap_t = typedef 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> >, 8, std::mutex>

Definition for a parallel hash map. It enables concurrent inserts and queries

◆ HashSet_t

template<class V >
using jaffarCommon::concurrent::HashSet_t = typedef phmap::parallel_flat_hash_set<V, phmap::priv::hash_default_hash<V>, phmap::priv::hash_default_eq<V>, std::allocator<V>, 8, std::mutex>

Definition for a parallel hash set. It enables concurrent inserts and queries