18 std::filesystem::perms::owner_read | std::filesystem::perms::owner_write |
19 std::filesystem::perms::group_read | std::filesystem::perms::others_read;
20 std::error_code error;
21 std::filesystem::permissions(p, permissions, error);
23 std::cerr <<
"Failed to set access on file '" << p
24 <<
"': " << error.message() << std::endl;
31 return reinterpret_cast<const char*
>(path.u8string().c_str());
43 std::stringstream stream;
44 bool next_upper =
true;
45 for (
size_t i = 0, count =
string.length(); i < count; i++) {
46 auto ch =
string.data()[i];
49 stream << static_cast<char>(std::toupper(ch));
62 std::string result = std::string(
string);
64 [](
char x) { return std::tolower(x); });
72 std::stringstream stream;
74 if (!std::isalpha(
string.
data()[0])) {
77 for (
size_t i = 0, count =
string.length(); i < count; i++) {
78 auto ch =
string.data()[i];
79 if (std::isalnum(ch) || ch ==
'_') {
87 if (prefix.length() > target.length()) {
90 for (
size_t i = 0; i < prefix.length(); i++) {
91 if (target[i] != prefix[i]) {
std::string ConvertToEntrypointName(std::string_view string)
Ensure that the entrypoint name is a valid identifier in the target language.
std::string ToLowerCase(std::string_view string)
bool SetPermissiveAccess(const std::filesystem::path &p)
Sets the file access mode of the file at path 'p' to 0644.
std::string InferShaderNameFromPath(const std::filesystem::path &path)
std::string ToCamelCase(std::string_view string)
std::string Utf8FromPath(const std::filesystem::path &path)
Converts a native format path to a utf8 string.
bool StringStartsWith(const std::string &target, const std::string &prefix)
std::shared_ptr< const fml::Mapping > data