ATLAS Offline Software
Public Types | Public Member Functions | Public Attributes | List of all members
TrigConf::HashMap Struct Reference

Two concurrent maps to store name->hash and hash->name mappings. More...

#include <HLTUtils.h>

Collaboration diagram for TrigConf::HashMap:

Public Types

using Name2HashMap_t = CxxUtils::ConcurrentStrMap< HLTHash, CxxUtils::SimpleUpdater >
 
using Hash2NameMap_t = CxxUtils::ConcurrentToValMap< HLTHash, const std::string, CxxUtils::SimpleUpdater >
 

Public Member Functions

 ~HashMap ()
 

Public Attributes

Name2HashMap_t name2hash {Name2HashMap_t::Updater_t()}
 name to hash map More...
 
Hash2NameMap_t hash2name {Hash2NameMap_t::Updater_t()}
 hash to name map More...
 

Detailed Description

Two concurrent maps to store name->hash and hash->name mappings.

We are using CxxUtils::Concurrent*Map which is optimized for frequent (lock-less) reads and rare writes. Previous implementations used TBB's concurrent containers but they are much slower for this use-case.

Definition at line 28 of file TrigConfHLTUtils/TrigConfHLTUtils/HLTUtils.h.

Member Typedef Documentation

◆ Hash2NameMap_t

using TrigConf::HashMap::Hash2NameMap_t = CxxUtils::ConcurrentToValMap<HLTHash, const std::string, CxxUtils::SimpleUpdater>

Definition at line 32 of file TrigConfHLTUtils/TrigConfHLTUtils/HLTUtils.h.

◆ Name2HashMap_t

Definition at line 31 of file TrigConfHLTUtils/TrigConfHLTUtils/HLTUtils.h.

Constructor & Destructor Documentation

◆ ~HashMap()

HashMap::~HashMap ( )

Definition at line 21 of file TrigConfHLTUtils/Root/HLTUtils.cxx.

21  {
22 }

Member Data Documentation

◆ hash2name

Hash2NameMap_t TrigConf::HashMap::hash2name {Hash2NameMap_t::Updater_t()}

hash to name map

Definition at line 35 of file TrigConfHLTUtils/TrigConfHLTUtils/HLTUtils.h.

◆ name2hash

Name2HashMap_t TrigConf::HashMap::name2hash {Name2HashMap_t::Updater_t()}

name to hash map

Definition at line 34 of file TrigConfHLTUtils/TrigConfHLTUtils/HLTUtils.h.


The documentation for this struct was generated from the following files: