13#include "Teuchos_CommHelpers.hpp"
15void Teuchos::updateParametersFromXmlFileAndBroadcast(
16 const std::string &xmlFileName,
17 const Ptr<ParameterList> ¶mList,
18 const Comm<int> &comm,
22 if (comm.getSize()==1)
23 updateParametersFromXmlFile(xmlFileName, paramList);
25 if (comm.getRank()==0) {
26 XMLParameterListReader xmlPLReader;
27 xmlPLReader.setAllowsDuplicateSublists(
false );
28 FileInputSource xmlFile(xmlFileName);
29 XMLObject xmlParams = xmlFile.getObject();
30 std::string xmlString = toString(xmlParams);
31 int strsize =
static_cast<int>(xmlString.size());
32 broadcast<int, int>(comm, 0, &strsize);
33 broadcast<int, char>(comm, 0, strsize, &xmlString[0]);
34 updateParametersFromXmlString(xmlString, paramList,overwrite);
38 broadcast<int, int>(comm, 0, &strsize);
39 std::string xmlString;
40 xmlString.resize(strsize);
41 broadcast<int, char>(comm, 0, strsize, &xmlString[0]);
42 updateParametersFromXmlString(xmlString, paramList,overwrite);
Additional ParameterList XML helper functions including parallel support.
Writes an XML object to a parameter list.