11#ifndef ROOT_RConcurrentHashColl
12#define ROOT_RConcurrentHashColl
29 mutable std::unique_ptr<ROOT::TRWSpinLock>
fRWLock;
50 bool Insert(
char *buf,
int len)
const;
63 return l[0] ==
r[0] &&
l[1] ==
r[1] &&
l[2] ==
r[2] &&
l[3] ==
r[3];
71struct less<
ROOT::Internal::RConcurrentHashColl::HashValue> {
78 return l[0] <
r[0] ? true :
84 l[3] <
r[3] ? true :
false;
unsigned long long ULong64_t
TRObject operator()(const T1 &t1) const
friend std::ostream & operator<<(std::ostream &os, const RConcurrentHashColl::HashValue &h)
ULong64_t const * Get() const
This class is a TS set of unsigned set.
bool Insert(char *buf, int len) const
If the hash is there, return false. Otherwise, insert the hash and return true;.
std::unique_ptr< RHashSet > fHashSet
static HashValue Hash(char *buf, int len)
Return the hash object corresponding to the buffer.
std::unique_ptr< ROOT::TRWSpinLock > fRWLock
bool Find(const HashValue &hash) const
Return true if the hash is already in already there.
An implementation of a read-write lock with an internal spin lock.
bool operator==(const RConcurrentHashColl::HashValue &lhs, const RConcurrentHashColl::HashValue &rhs)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...