From aa268e1a8372a641397c0dcd186b6c9c9e5a4977 Mon Sep 17 00:00:00 2001 From: rinkk <karsten.rink@ufz.de> Date: Mon, 23 Sep 2019 15:20:15 +0200 Subject: [PATCH] separating fetching and displaying of variable name vector --- .../Utils/FileConverter/NetCdfConverter.cpp | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Applications/Utils/FileConverter/NetCdfConverter.cpp b/Applications/Utils/FileConverter/NetCdfConverter.cpp index ef4aba26dd1..8af2baae389 100644 --- a/Applications/Utils/FileConverter/NetCdfConverter.cpp +++ b/Applications/Utils/FileConverter/NetCdfConverter.cpp @@ -93,7 +93,18 @@ NcVar getDimVar(NcFile const& dataset, NcVar const& var, std::size_t const dim) return dataset.getVar(dim_obj.getName()); } -std::vector<std::string> showArrays(NcFile const& dataset) +std::vector<std::string> getArrays(NcFile const& dataset) +{ + auto const& names = dataset.getVars(); + std::vector<std::string> var_names; + for (auto [name, var] : names) + { + var_names.push_back(name); + } + return var_names; +} + +void showArrays(NcFile const& dataset) { std::size_t const n_vars(dataset.getDimCount()); std::cout << "The NetCDF file contains the following " << n_vars @@ -101,15 +112,13 @@ std::vector<std::string> showArrays(NcFile const& dataset) std::cout << "\tIndex\tArray Name\t#Dimensions\n"; std::cout << "-------------------------------------------\n"; auto const& names = dataset.getVars(); - std::vector<std::string> var_names; + std::size_t count = 0; for (auto [name, var] : names) { - std::cout << "\t" << var_names.size() << "\t" << name << "\t(" + std::cout << "\t" << count++ << "\t" << name << "\t(" << var.getDimCount() << "D array)\n"; - var_names.push_back(name); } std::cout << "\n"; - return var_names; } void showArraysDims(NcVar const& var) @@ -179,7 +188,8 @@ bool canConvert(NcVar const& var) std::string arraySelectionLoop(NcFile const& dataset) { - std::vector<std::string> const& names = showArrays(dataset); + std::vector<std::string> const& names = getArrays(dataset); + showArrays(dataset); std::size_t const idx = parseInput("Enter data array index: ", dataset.getVarCount(), true); -- GitLab