====== Kin-util C++ interfaces ====== Main routine of //kin-util// program is the parser of the input [[..:dtd|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 globalSchemaList; std::vector globalInstanceList; std::map globalResultMap; std::map 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).