Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
std Namespace Reference

Hash specialization for SymbolId<Tag>. More...

Classes

struct  hash< BinnedObservableId >
 Hash functor specialization for BinnedObservableId. More...
 
struct  hash< BlockName >
 Hash functor specialization for BlockName. More...
 
struct  hash< ExperimentObs >
 Hash functor specialization for ExperimentObs. More...
 
struct  hash< InterpretedParam >
 
struct  hash< LhaID >
 Hash functor specialization for LhaID. More...
 
struct  hash< ParamId >
 
struct  hash< Prototype >
 
struct  hash< SymbolId< Tag > >
 

Detailed Description

Hash specialization for SymbolId<Tag>.

std::hash specialization for InterpretedParam.

Hash specialization for ParamId.

std::hash specialization for SymbolId<Tag>.

SymbolId<Tag> is hashed by first normalizing its string via normalize_key() and then using std::hash<std::string>. This makes the hash consistent with the case-insensitive equality operator.

Template Parameters
TagTag type of the SymbolId.

This allows ParamId to be used as a key in unordered associative containers such as std::unordered_map or std::unordered_set.

The hash is computed by combining the hashes of:

  • the BlockName (block),
  • the LhaID (code),
  • the optional ParameterType (type, if present).

The hash is computed by combining:

  • the hash of the block string,
  • the hash of the LhaID,
  • the hash of the is_bsm flag,
  • the hash of the is_complex flag.