From 9c6656ad415fd11f78d5291ee1eaa3a69b4dceac Mon Sep 17 00:00:00 2001 From: Riccardo Maria Bianchi <riccardo.maria.bianchi@cern.ch> Date: Mon, 29 Apr 2024 16:32:57 +0200 Subject: [PATCH] Add helper function to print vectors of variants --- .../GeoModelCppHelpers/GMCppHelpers.h | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/GeoModelIO/GeoModelCppHelpers/GeoModelCppHelpers/GMCppHelpers.h b/GeoModelIO/GeoModelCppHelpers/GeoModelCppHelpers/GMCppHelpers.h index b6e793fbb..982bfcc6e 100644 --- a/GeoModelIO/GeoModelCppHelpers/GeoModelCppHelpers/GMCppHelpers.h +++ b/GeoModelIO/GeoModelCppHelpers/GeoModelCppHelpers/GMCppHelpers.h @@ -73,6 +73,26 @@ namespace GeoModelIO { char *val = std::getenv(key.c_str()); return val == NULL ? std::string("") : std::string(val); } + + static void printStdVectorVariants(const std::vector<std::variant<int, long, float, double, std::string>> vec) + { + for (const auto &item : vec) + { + if (std::holds_alternative<int>(item)) + std::cout << std::get<int>(item); // INT + else if (std::holds_alternative<long>(item)) + std::cout << std::get<long>(item); + else if (std::holds_alternative<float>(item)) + std::cout << std::get<float>(item); + else if (std::holds_alternative<double>(item)) + std::cout << std::get<double>(item); + else if (std::holds_alternative<std::string>(item)) + std::cout << std::get<std::string>(item); + + std::cout << ", "; + } + std::cout << std::endl; + } }; } // namespace GeoModelIO -- GitLab