#ifndef CSV_READER_HPP #define CSV_READER_HPP #include #include #include "update-with-index.hpp" template bool scan_csv_line(std::istream& in, Variables&... vars) { update_with_index([&in](std::size_t size, std::size_t index, auto& var) { char delimiter; if (index + 1 < size) { delimiter = ','; } else { delimiter = '\n'; } std::string s; if (std::getline(in, s, delimiter)) { std::istringstream is(s); is >> var; } }, vars...); return !!in; } #endif