15 #ifndef OHMMS_OHMMSPARAMETERSET_H 16 #define OHMMS_OHMMSPARAMETERSET_H 31 std::map<std::string, std::unique_ptr<OhmmsElementBase>>
m_param;
35 inline bool get(std::ostream& os)
const override 37 for (
const auto& [name, param] :
m_param)
42 inline bool put(std::istream& is)
override {
return true; }
53 bool put(xmlNodePtr cur)
override;
65 const std::string& aname_in,
66 std::vector<PDT> candidate_values = {},
70 void setValue(
const std::string& aname_in, PDT aval);
73 extern template void ParameterSet::add<std::string>(std::string&,
75 std::vector<std::string>,
79 std::vector<qmcplusplus::astring>,
81 extern template void ParameterSet::add<bool>(
bool&,
const std::string&, std::vector<bool>,
TagStatus);
82 extern template void ParameterSet::add<int>(
int&,
const std::string&, std::vector<int>,
TagStatus);
83 extern template void ParameterSet::add<double>(
double&,
const std::string&, std::vector<double>,
TagStatus);
84 extern template void ParameterSet::add<float>(
float&,
const std::string&, std::vector<float>,
TagStatus);
85 extern template void ParameterSet::add<std::complex<double>>(std::complex<double>&,
87 std::vector<std::complex<double>>,
89 extern template void ParameterSet::add<std::complex<float>>(std::complex<float>&,
91 std::vector<std::complex<float>>,
95 std::vector<qmcplusplus::TinyVector<int, 3u>>,
98 extern template void ParameterSet::setValue<int>(
const std::string& aname_in,
int aval);
std::map< std::string, std::unique_ptr< OhmmsElementBase > > m_param
void reset() override
reset member data
bool put(std::istream &is) override
read from std::istream
class to handle a set of parameters
Abstract class to provide xml-compatible I/O interfaces for the derived classes.
void setValue(const std::string &aname_in, PDT aval)
ParameterSet(const char *aname="parameter")
virtual bool get(std::ostream &) const =0
write to a std::ostream
void add(PDT &aparam, const std::string &aname_in, std::vector< PDT > candidate_values={}, TagStatus status=TagStatus::OPTIONAL)
add a new parameter corresponding to an xmlNode <parameter>
TagStatus
generic class for parameter xmlNode