#pragma once #include #include #include #include #include namespace XCEngine::UI::Editor::Support { inline bool IsEnvironmentFlagEnabled(const char* envName) { if (envName == nullptr || envName[0] == '\0') { return false; } const char* value = std::getenv(envName); if (value == nullptr || value[0] == '\0') { return false; } std::string normalized = value; std::transform( normalized.begin(), normalized.end(), normalized.begin(), [](unsigned char character) { return static_cast(std::tolower(character)); }); return normalized != "0" && normalized != "false" && normalized != "off" && normalized != "no"; } inline std::optional TryGetEnvironmentInt(const char* envName) { if (envName == nullptr || envName[0] == '\0') { return std::nullopt; } const char* value = std::getenv(envName); if (value == nullptr || value[0] == '\0') { return std::nullopt; } char* parseEnd = nullptr; const long parsed = std::strtol(value, &parseEnd, 10); if (parseEnd == value || (parseEnd != nullptr && *parseEnd != '\0')) { return std::nullopt; } return static_cast(parsed); } } // namespace XCEngine::UI::Editor::Support