OpenM++ runtime library (libopenm)
openm::IParameterRunWriter Struct Referenceabstract

public interface of input parameter writer for model run More...

#include <dbParameter.h>

Inheritance diagram for openm::IParameterRunWriter:

Public Member Functions

virtual size_t sizeOf (void) const noexcept=0
 return input parameter size for single sub value More...
 
virtual void writeParameter (IDbExec *i_dbExec, const type_info &i_type, int i_subCount, size_t i_size, void *i_valueArr)=0
 write parameter: write all sub values of the parameter into db run table More...
 
virtual void loadCsvParameter (IDbExec *i_dbExec, const vector< int > &i_subIdArr, const char *i_filePath, bool i_isIdCsv=false)=0
 load parameter values from csv file into run table, it can be any of: .csv .tsv .id.csv .id.tsv file. More...
 
virtual void digestParameter (IDbExec *i_dbExec, int i_subCount, const type_info &i_type)=0
 calculate run parameter values digest and store only single copy of parameter values. More...
 

Static Public Member Functions

static IParameterRunWritercreate (int i_runId, const char *i_name, IDbExec *i_dbExec, const MetaHolder *i_metaStore, const char *i_doubleFormat="")
 input parameter writer factory
 

Detailed Description

public interface of input parameter writer for model run

Member Function Documentation

◆ digestParameter()

virtual void openm::IParameterRunWriter::digestParameter ( IDbExec i_dbExec,
int  i_subCount,
const type_info &  i_type 
)
pure virtual

calculate run parameter values digest and store only single copy of parameter values.

Parameters
[in]i_dbExecdatabase connection
[in]i_subCountnumber of parameter sub-values
[in]i_typeparameter type, use char * for string parameters

Implemented in openm::ParameterRunWriter.

◆ loadCsvParameter()

virtual void openm::IParameterRunWriter::loadCsvParameter ( IDbExec i_dbExec,
const vector< int > &  i_subIdArr,
const char *  i_filePath,
bool  i_isIdCsv = false 
)
pure virtual

load parameter values from csv file into run table, it can be any of: .csv .tsv .id.csv .id.tsv file.

Parameters
[in]i_dbExecdatabase connection
[in]i_subIdArrsub-value id's to select from csv
[in]i_filePathpath to parameter.csv file, it can be any of: .csv .tsv .id.csv .id.tsv file.
[in]i_isIdCsvif true then create csv file contains enum id's, default: enum code

if file extension .tsv then it is a tab separated file, by default comma separated file expected. if i_isIdCsv is true or file extension is .id.csv or .id.tsv then file contains enum id's, by default enum codes expected

Implemented in openm::ParameterRunWriter.

◆ sizeOf()

virtual size_t openm::IParameterRunWriter::sizeOf ( void  ) const
pure virtualnoexcept

return input parameter size for single sub value

Implemented in openm::ParameterRunWriter.

◆ writeParameter()

virtual void openm::IParameterRunWriter::writeParameter ( IDbExec i_dbExec,
const type_info &  i_type,
int  i_subCount,
size_t  i_size,
void *  i_valueArr 
)
pure virtual

write parameter: write all sub values of the parameter into db run table

Parameters
[in]i_dbExecdatabase connection
[in]i_typeparameter value type, use std::string for string parameters
[in]i_subCountnumber of parameter sub-values
[in]i_sizeparameter size for single sub value
[in,out]i_valueArrarray of parameter values, size must be == i_size * i_subCount

Implemented in openm::ParameterRunWriter.


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