1 #ifndef NTA_UTILS_H_INCLUDED
2 #define NTA_UTILS_H_INCLUDED
7 #include <utils/common.h>
9 #include "nta/MyEngine.h"
16 extern bool starts_with(crstring str, crstring prefix);
18 extern bool ends_with(crstring str, crstring suffix);
20 extern std::string
replace_all(crstring str, crstring o, crstring n);
22 extern std::string
replace_all(crstring str,
const std::vector<std::vector<std::string>>& os,
const std::vector<std::string>& ns);
24 extern std::string
trim(crstring str, crstring back_trash =
" \t\n\v\f\r\0", crstring front_trash =
" \t\n\v\f\r\0");
26 extern std::vector<std::string>
split(crstring str,
char delim);
28 extern glm::vec2
rotate(crvec2 pt,
float angle);
30 extern std::string
read_file(
const std::string_view path);
32 extern std::size_t
hash_combine(std::size_t lhs, std::size_t rhs);
36 std::string
to_string(
const T& input, std::size_t precision = 0) {
37 return ::utils::to_string(input, precision);
43 return min <= val && val <= max;
48 #endif // NTA_UTILS_H_INCLUDED
std::size_t hash_combine(std::size_t lhs, std::size_t rhs)
Stolen from Boost.
std::string read_file(const std::string_view path)
Reads the contents of a file into a string.
glm::vec2 rotate(crvec2 pt, float angle)
Rotates a point (about the origin) by the given angle.
std::string trim(crstring str, crstring back_trash=" \t\n\v\f\r\0", crstring front_trash=" \t\n\v\f\r\0")
Removes leading and trailing whitespace.
std::vector< std::string > split(crstring str, char delim)
Splits a string into substrings separated by delim.
std::string to_string(const T &input, std::size_t precision=0)
converts input to a std::string
std::string replace_all(crstring str, crstring o, crstring n)
Replaces all occurences of o in str with n.
bool starts_with(crstring str, crstring prefix)
Checks if str starts with prefix.
bool ends_with(crstring str, crstring suffix)
Checks if str ends with suffix.
bool in_range(T val, T min, T max)
returns whether or not min <= val <= max