// SPDX-License-Identifier: BSD-3-Clause #ifndef INVERTER_TOOLS_UTIL_H #define INVERTER_TOOLS_UTIL_H #include #include #include bool is_numeric(const std::string& s); bool is_date_valid(int y, int m, int d); template long index_of(T& haystack, P& needle) { auto _it = std::find(haystack.begin(), haystack.end(), needle); if (_it == haystack.end()) return -1; return std::distance(haystack.begin(), _it); } std::vector split(const std::string& s, char separator); unsigned stou(const std::string& s); unsigned short stouh(const std::string& s); bool string_has(std::string& s, char c); unsigned long hextoul(std::string& s); std::string demangle_type_name(const char* name); #endif //INVERTER_TOOLS_UTIL_H