bool ConfigParamsHomog::initParamsFromConfigFile(std::string &configFilePath) { // initialize the config file reader with the input config file ConfigFileReader cfr; try { cfr.readFile(configFilePath.c_str()); } catch(const libconfig::FileIOException) { std::cerr << "I/O error while reading file." << std::endl; return false; } catch(const libconfig::ParseException &pex) { std::cerr << "Parse error at " << pex.getFile() << ":" << pex.getLine() << " - " << pex.getError() << std::endl; return false; } // now read in parameters try { // usac parameters if (!initUSACParamsFromConfigFile(cfr)) { std::cerr << "Error reading USAC parameters from config file." << std::endl; return false; } // homog parameters if ( !cfr.getTopLevelParameterValue("problem_specific", "input_file_path", homog.inputFilePath) ) { return false; } } catch(...) { return false; } return true; }