Core/Misc: Added regex compatibility layer to fall back to boost::regex for really old compiler

This commit is contained in:
Shauren
2016-12-10 19:11:10 +01:00
parent bfa9a4c959
commit b6f1f8405f
5 changed files with 78 additions and 27 deletions

View File

@@ -308,12 +308,12 @@ Optional<std::shared_ptr<ScriptModule>>
static bool HasValidScriptModuleName(std::string const& name)
{
// Detects scripts_NAME.dll's / .so's
static std::regex const regex(
static Trinity::regex const regex(
Trinity::StringFormat("^%s[sS]cripts_[a-zA-Z0-9_]+\\.%s$",
GetSharedLibraryPrefix(),
GetSharedLibraryExtension()));
return std::regex_match(name, regex);
return Trinity::regex_match(name, regex);
}
/// File watcher responsible for watching shared libraries
@@ -1529,8 +1529,8 @@ void LibraryUpdateListener::handleFileAction(efsw::WatchID watchid, std::string
/// Returns true when the given path has a known C++ file extension
static bool HasCXXSourceFileExtension(fs::path const& path)
{
static std::regex const regex("^\\.(h|hpp|c|cc|cpp)$");
return std::regex_match(path.extension().generic_string(), regex);
static Trinity::regex const regex("^\\.(h|hpp|c|cc|cpp)$");
return Trinity::regex_match(path.extension().generic_string(), regex);
}
SourceUpdateListener::SourceUpdateListener(fs::path path, std::string script_module_name)