#pragma once #include #include #include #include #include static inline bool file_exist(const std::string &file_name) { return ((access(file_name.c_str(), 0)) != -1) ? true : false; } template static inline bool str2num(const std::string &str, T &num) { std::istringstream istr(str); istr >> num; return !istr.fail(); }; template static bool strs2nums(const std::vector &strs, std::vector &nums) { nums.resize(strs.size()); for (size_t i = 0; i < strs.size(); i++) { if (!str2num(strs[i], nums[i])) { nums.clear(); return false; } } return true; }; template static inline std::string num2str(T a) { std::stringstream istr; istr << a; return istr.str(); }