User Tools

Site Tools


ru:abckin:kin-util:src:index

Kin-util C++ interfaces

Main routine of kin-util program is the parser of the input XML-file with the job instructions. It looks for the job commands and pass their XML texts to the corresponding subroutines. There are two groups of the commands: import/export commands and instructions for computations.

Import/Export. The result is returned as a reference via the second argument of the subroutine:

CLIStatus importSchema(const XMLElement&, Schema*& schema_ptr);
CLIStatus importSchemaInstance(const XMLElement&, SchemaInstance*& instance_ptr);
CLIStatus importInstanceExptlData(const XMLElement&);

Computations:

CLIStatus doComputation(const XMLElement& calc_elem);
CLIStatus displayResult(const XMLElement&);
CLIStatus optimize(const XMLElement& optimize_elem);

Global containers are used by the main routine:

std::vector<Schema*> globalSchemaList;
std::vector<SchemaInstance*> globalInstanceList;
std::map<String, CalculationResult*> globalResultMap;
std::map<String, ExptlDataContainer*> globalExptlMap;

And there are several misc functions to find objects by their means:

Schema* findSchemaById(const Clip& schema_id);
SchemaInstance* findInstanceById(const Clip& instance_id);
CalculationResult* findResultById(const Clip& result_id);
InstanceExperimentalData* findExptlById(const Clip& exptl_id);

CLIStatus is the class which objects depict results of any parsing or calculation subroutine. It declares an Error/Warning ID, textual description of the error and the error's context (e.g. an invalid command syntax).

ru/abckin/kin-util/src/index.txt · Last modified: by abc