view include/animone/util.h @ 14:27b988a1048c

*: convert all files CRLF -> LF some files were in DOS format, others were in unix. now everything (that at least is under our control) should all be the same format
author Paper <paper@paper.us.eu.org>
date Mon, 13 May 2024 15:04:51 -0400
parents a76fa32bdc92
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_