Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
BlockName.h File Reference

Representation of SLHA / LHA block names with support for aliases. More...

#include <string>
#include <stdexcept>
#include <algorithm>
#include <iostream>
#include <unordered_set>
#include <initializer_list>
#include <map>
#include <vector>
#include <set>
#include <ranges>
#include <concepts>
#include <variant>
#include "Logger.h"
#include "Utils.h"
#include "GeneralEnum.h"
Include dependency graph for BlockName.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BlockName
 Block identifier with alias support. More...
 
struct  std::hash< BlockName >
 Hash functor specialization for BlockName. More...
 

Namespaces

namespace  std
 Hash specialization for SymbolId<Tag>.
 

Functions

bool operator== (const std::string &lhs, const BlockName &rhs)
 Symmetric comparison between std::string and BlockName.
 
bool operator!= (const std::string &lhs, const BlockName &rhs)
 Symmetric inequality between std::string and BlockName.
 

Detailed Description

Representation of SLHA / LHA block names with support for aliases.

This header defines the BlockName class, which encapsulates one or more textual names referring to the same logical block (e.g. SLHA BLOCK names).

The main features are:

  • storage of a set of aliases for a given block,
  • equality based on overlapping aliases (two BlockName are equal if they share at least one alias),
  • convenient construction from strings, initializer lists or sets,
  • implicit conversion to std::string for trivial (single-alias) blocks,
  • case normalization (conversion to upper case),
  • hash support for use in unordered containers.

Definition in file BlockName.h.

Function Documentation

◆ operator!=()

bool operator!= ( const std::string &  lhs,
const BlockName rhs 
)
inline

Symmetric inequality between std::string and BlockName.

Parameters
lhsAlias to compare.
rhsBlockName to compare against.
Returns
true if lhs is not a known alias of rhs.

Definition at line 346 of file BlockName.h.

◆ operator==()

bool operator== ( const std::string &  lhs,
const BlockName rhs 
)
inline

Symmetric comparison between std::string and BlockName.

This overload allows code such as:

if ("SMINPUTS" == block) { ... }
Parameters
lhsAlias to compare.
rhsBlockName to compare against.
Returns
true if lhs is a known alias of rhs.

Definition at line 335 of file BlockName.h.