diff --git a/output_csv.h b/output_csv.h new file mode 100644 index 0000000..2ff65fd --- /dev/null +++ b/output_csv.h @@ -0,0 +1,39 @@ +/* +* @file output_csv.h +* +* Output data to .CSV file +* +* @date Oct 06, 2019 +* @author andreika, (c) 2019 +*/ + +#pragma once + +// Use variadic templates for output + +static std::ofstream csvfp; +static const char *csvfname = nullptr; + +template +static void output_csv(const char *fname, T arg) { + if (fname == nullptr) + csvfp << ";"; + csvfp << arg; + //if (fname != nullptr) + // csvfp << std::endl; +} + +template +static void output_csv(const char *fname, T v, Args... args) { + if (fname != csvfname && fname != nullptr) { + csvfp.close(); + csvfp.open(fname); + csvfname = fname; + } + output_csv(fname, v); + output_csv(nullptr, args...); + if (fname != nullptr) + csvfp << std::endl; +} + +