view include/animone/util.h @ 17:b83c9257d68f

cleanup: remove extraneous executable flags
author Paper <paper@paper.us.eu.org>
date Sun, 19 May 2024 17:48:52 -0400
parents 27b988a1048c
children a76e55e098d1
line wrap: on
line source

#ifndef ANIMONE_ANIMONE_UTIL_H_
#define ANIMONE_ANIMONE_UTIL_H_

#include <sstream>
#include <string>

namespace animone::internal::util {

bool ReadFile(const std::string& path, std::string& data);
bool EqualStrings(const std::string& str1, const std::string& str2);
bool Stem(const std::string& filename, std::string& stem);
bool CheckPattern(const std::string& pattern, const std::string& str);
bool TrimLeft(std::string& str, const char* chars);
bool TrimRight(std::string& str, const char* chars);

template<typename T = int, std::enable_if_t<std::is_integral<T>::value, bool> = true>
T StringToInt(const std::string& str, T def = 0) {
	std::istringstream s(str);
	s >> std::noboolalpha >> def;
	return def;
}

} // namespace animone::internal::util

#endif // ANIMONE_ANIMONE_UTIL_H_