13 #include "Teuchos_CommHelpers.hpp"
15 void Teuchos::updateParametersFromXmlFileAndBroadcast(
16 const std::string &xmlFileName,
17 const Ptr<ParameterList> ¶mList,
18 const Comm<int> &comm,
22 if (comm.getSize()==1)
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]);
38 broadcast<int, int>(comm, 0, &strsize);
39 std::string xmlString;
40 xmlString.resize(strsize);
41 broadcast<int, char>(comm, 0, strsize, &xmlString[0]);
Writes an XML object to a parameter list.
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void updateParametersFromXmlFile(const std::string &xmlFileName, const Ptr< ParameterList > ¶mList)
Reads XML parameters from a file and updates those already in the given parameter list...
std::string toString(const any &rhs)
Converts the value in any to a std::string.
Additional ParameterList XML helper functions including parallel support.
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void updateParametersFromXmlString(const std::string &xmlStr, const Ptr< ParameterList > ¶mList, bool overwrite=true)
Reads XML parameters from a std::string and updates those already in the given parameter list...