diff options
author | Shauren <shauren.trinity@gmail.com> | 2016-12-10 19:11:10 +0100 |
---|---|---|
committer | ariel- <ariel-@users.noreply.github.com> | 2017-02-06 21:12:27 -0300 |
commit | bf2121680f1aa0065ed2858198e2f21998edd0f4 (patch) | |
tree | e66d9af2ada8b31ad1a8201a956ee057a9b7fd2f /src/common/Utilities/Regex.h | |
parent | 4e7679d8bdbe328476192478104224cd342170ac (diff) |
Core/Misc: Added regex compatibility layer to fall back to boost::regex for really old compiler
(cherry picked from commit b6f1f8405f57e3b65c3b838ea87141716023bc72)
Diffstat (limited to 'src/common/Utilities/Regex.h')
-rw-r--r-- | src/common/Utilities/Regex.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/common/Utilities/Regex.h b/src/common/Utilities/Regex.h new file mode 100644 index 00000000000..1d1ebca1b17 --- /dev/null +++ b/src/common/Utilities/Regex.h @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2008-2017 TrinityCore <http://www.trinitycore.org/> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef TrinityCore_Regex_h__ +#define TrinityCore_Regex_h__ + +#ifndef TC_HAS_BROKEN_WSTRING_REGEX +#include <regex> +#define TC_REGEX_NAMESPACE std +#else +#include <boost/regex.hpp> +#define TC_REGEX_NAMESPACE boost +#endif + +// regex compatibility layer, required for clang building with libstdc++-4.9 +namespace Trinity +{ + using regex = TC_REGEX_NAMESPACE :: regex; + using wregex = TC_REGEX_NAMESPACE :: wregex; + + using :: TC_REGEX_NAMESPACE :: regex_match; + using :: TC_REGEX_NAMESPACE :: regex_search; +} + +#endif // TrinityCore_Regex_h__ |