Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
IFreezer< T, U, V > Class Template Reference

Interface for freezing and unfreezing blocks or parameters. More...

#include <IFreezer.h>

Public Member Functions

virtual ~IFreezer ()=default
 Virtual destructor for proper polymorphic cleanup if ever inherited non-statically.
 

Static Public Member Functions

static void freeze (const T &, const U &)=delete
 Freezes a block given its type and name.
 
static void freeze (const V &)=delete
 Freezes a single object (typically a parameter).
 
static void unfreeze (const T &, const U &)=delete
 Unfreezes a block given its type and name.
 
static void unfreeze (const V &)=delete
 Unfreezes a single object (typically a parameter).
 

Detailed Description

template<typename T, typename U, typename V>
class IFreezer< T, U, V >

Interface for freezing and unfreezing blocks or parameters.

Template Parameters
TType used to describe the parameter “category” (e.g. ParameterType).
UType used to identify a block (e.g. std::string).
VType used to identify a single entity (e.g. ParamId).

This interface declares a static API (via deleted functions) intended to be implemented by concrete helper classes such as Freezer. The use of deleted functions prevents accidental usage of the interface directly while still documenting the expected signatures.

Definition at line 45 of file IFreezer.h.

Constructor & Destructor Documentation

◆ ~IFreezer()

template<typename T , typename U , typename V >
virtual IFreezer< T, U, V >::~IFreezer ( )
virtualdefault

Virtual destructor for proper polymorphic cleanup if ever inherited non-statically.

Member Function Documentation

◆ freeze() [1/2]

template<typename T , typename U , typename V >
static void IFreezer< T, U, V >::freeze ( const T ,
const U &   
)
staticdelete

Freezes a block given its type and name.

Concrete implementations should prevent further updates to all parameters contained in the block designated by (T, U).

◆ freeze() [2/2]

template<typename T , typename U , typename V >
static void IFreezer< T, U, V >::freeze ( const V )
staticdelete

Freezes a single object (typically a parameter).

Concrete implementations should prevent further updates to the entity identified by V.

◆ unfreeze() [1/2]

template<typename T , typename U , typename V >
static void IFreezer< T, U, V >::unfreeze ( const T ,
const U &   
)
staticdelete

Unfreezes a block given its type and name.

Concrete implementations should allow updates again for all parameters contained in the block designated by (T, U).

◆ unfreeze() [2/2]

template<typename T , typename U , typename V >
static void IFreezer< T, U, V >::unfreeze ( const V )
staticdelete

Unfreezes a single object (typically a parameter).

Concrete implementations should allow updates again for the entity identified by V.


The documentation for this class was generated from the following file: