26 const std::string& name,
const std::string& type,
const std::string& unit,
27 const std::string& desc, std::ios_base::fmtflags flags,
unsigned short prec)
29 description_m(
std::make_tuple(type, unit, desc)),
31 writePrecision_m(prec),
33 std::list<std::ios_base::fmtflags> numericalBase(
34 {std::ios_base::dec, std::ios_base::hex, std::ios_base::oct});
35 std::list<std::ios_base::fmtflags> floatFormat(
36 {std::ios_base::fixed, std::ios_base::scientific});
37 std::list<std::ios_base::fmtflags> adjustmentFlags(
38 {std::ios_base::internal, std::ios_base::left, std::ios_base::right});
41 for (std::ios_base::fmtflags flag : numericalBase) {
47 for (std::ios_base::fmtflags flag : floatFormat) {
53 for (std::ios_base::fmtflags flag : adjustmentFlags) {
62 std::ostream& os,
unsigned int colNr,
const std::string& indent)
const {
64 << indent <<
"name=" <<
name_m <<
",\n"
68 os << indent <<
"units=" << std::get<1>(
description_m) <<
",\n";
70 os << indent <<
"description=\"" << colNr <<
" " << std::get<2>(
description_m) <<
"\"\n"
77 "SDDSColumn::writeValue",
"value for column '" +
name_m +
"' isn't set");
83 [&os](
const auto& val) {
87 os << std::setw(10) <<
"\t";
SDDSColumn(const std::string &name, const std::string &type, const std::string &unit, const std::string &desc, std::ios_base::fmtflags flags, unsigned short precision)