Health-GPS  1.2.2.0
Global Health Policy Simulation model (Health-GPS)
hgps::CachedRepository Class Referencefinal

Implements the cached data repository for input datasets and back-end storage. More...

#include <repository.h>

Inheritance diagram for hgps::CachedRepository:
[legend]
Collaboration diagram for hgps::CachedRepository:
[legend]

Public Member Functions

 CachedRepository ()=delete
 
 CachedRepository (core::Datastore &manager)
 Initialises a new instance of the CachedRepository class. More...
 
void register_risk_factor_model_definition (const HierarchicalModelType &model_type, std::unique_ptr< RiskFactorModelDefinition > definition)
 Register a user provided risk factor model definition. More...
 
void register_baseline_adjustment_definition (BaselineAdjustment definition)
 Register a user provided baseline risk factors adjustments dataset. More...
 
core::Datastoremanager () noexcept override
 Gets a reference to the back-end storage instance. More...
 
const RiskFactorModelDefinitionget_risk_factor_model_definition (const HierarchicalModelType &model_type) const override
 Gets a user-provided risk factor model definition. More...
 
BaselineAdjustmentget_baseline_adjustment_definition () override
 Gets the user provided baseline risk factors adjustment dataset. More...
 
const std::vector< core::DiseaseInfo > & get_diseases () override
 Gets the collection of all diseases available in the back-end storage. More...
 
std::optional< core::DiseaseInfoget_disease_info (core::Identifier code) override
 Gets a disease information by identifier. More...
 
DiseaseDefinitionget_disease_definition (const core::DiseaseInfo &info, const ModelInput &config) override
 Gets a disease complete definition. More...
 
LmsDefinitionget_lms_definition () override
 Gets the LMS (lambda-mu-sigma) definition. More...
 
void clear_cache () noexcept
 
- Public Member Functions inherited from hgps::Repository
 Repository ()=default
 Initialises a new instance of the Repository class. More...
 
 Repository (Repository &&)=delete
 
 Repository (const Repository &)=delete
 
Repositoryoperator= (Repository &&)=delete
 
Repositoryoperator= (const Repository &)=delete
 
virtual ~Repository ()=default
 Destroys a Repository instance. More...
 

Detailed Description

Implements the cached data repository for input datasets and back-end storage.

This repository caches the read-only dataset used by multiple instances of the simulation to minimise back-end data access. This type is thread-safe

Constructor & Destructor Documentation

◆ CachedRepository() [1/2]

hgps::CachedRepository::CachedRepository ( )
delete

◆ CachedRepository() [2/2]

hgps::CachedRepository::CachedRepository ( core::Datastore manager)

Initialises a new instance of the CachedRepository class.

Parameters
managerBack-end storage instance

Member Function Documentation

◆ clear_cache()

void hgps::CachedRepository::clear_cache ( )
noexcept

◆ get_baseline_adjustment_definition()

BaselineAdjustment & hgps::CachedRepository::get_baseline_adjustment_definition ( )
overridevirtual

Gets the user provided baseline risk factors adjustment dataset.

Returns
Baseline risk factors adjustments

Implements hgps::Repository.

◆ get_disease_definition()

DiseaseDefinition & hgps::CachedRepository::get_disease_definition ( const core::DiseaseInfo info,
const ModelInput config 
)
overridevirtual

Gets a disease complete definition.

Parameters
infoThe disease information
configThe user inputs instance
Returns
The disease definition
Exceptions
std::runtime_errorfor failure to load disease definition.

Implements hgps::Repository.

◆ get_disease_info()

std::optional< core::DiseaseInfo > hgps::CachedRepository::get_disease_info ( core::Identifier  code)
overridevirtual

Gets a disease information by identifier.

Parameters
codeThe disease identifier
Returns
Disease information, if found; otherwise, empty

Implements hgps::Repository.

Here is the call graph for this function:

◆ get_diseases()

const std::vector< core::DiseaseInfo > & hgps::CachedRepository::get_diseases ( )
overridevirtual

Gets the collection of all diseases available in the back-end storage.

Returns
Collection of diseases information

Implements hgps::Repository.

Here is the caller graph for this function:

◆ get_lms_definition()

LmsDefinition & hgps::CachedRepository::get_lms_definition ( )
overridevirtual

Gets the LMS (lambda-mu-sigma) definition.

Returns
The LMS definition

Implements hgps::Repository.

Here is the call graph for this function:

◆ get_risk_factor_model_definition()

const RiskFactorModelDefinition & hgps::CachedRepository::get_risk_factor_model_definition ( const HierarchicalModelType model_type) const
overridevirtual

Gets a user-provided risk factor model definition.

Parameters
model_typeStatic or Dynamic
Returns
The risk factor model definition

Implements hgps::Repository.

◆ manager()

core::Datastore & hgps::CachedRepository::manager ( )
overridevirtualnoexcept

Gets a reference to the back-end storage instance.

Returns
The back-end data storage

Implements hgps::Repository.

◆ register_baseline_adjustment_definition()

void hgps::CachedRepository::register_baseline_adjustment_definition ( BaselineAdjustment  definition)

Register a user provided baseline risk factors adjustments dataset.

Parameters
definitionThe baseline risk factors adjustments dataset
Here is the caller graph for this function:

◆ register_risk_factor_model_definition()

void hgps::CachedRepository::register_risk_factor_model_definition ( const HierarchicalModelType model_type,
std::unique_ptr< RiskFactorModelDefinition definition 
)

Register a user provided risk factor model definition.

Parameters
model_typeStatic or Dynamic
definitionThe risk factor model definition instance
Here is the caller graph for this function:

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