diff options
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/Asio/ExpectedCompletionHandler.h | 4 | ||||
| -rw-r--r-- | src/common/Collision/RegularGrid.h | 1 | ||||
| -rw-r--r-- | src/common/Collision/VMapDefinitions.h | 1 | ||||
| -rw-r--r-- | src/common/Utilities/FuzzyFind.h | 7 | ||||
| -rw-r--r-- | src/common/Utilities/SmartEnum.h | 1 | ||||
| -rw-r--r-- | src/common/Utilities/Util.h | 9 |
6 files changed, 17 insertions, 6 deletions
diff --git a/src/common/Asio/ExpectedCompletionHandler.h b/src/common/Asio/ExpectedCompletionHandler.h index 98d7dd27180..d03c101118c 100644 --- a/src/common/Asio/ExpectedCompletionHandler.h +++ b/src/common/Asio/ExpectedCompletionHandler.h @@ -232,7 +232,7 @@ public: static inline auto initiate(Initiation&& initiation, RawCompletionToken&& token, Args&&... args) { return async_initiate< - conditional_t< + std::conditional_t< is_const<remove_reference_t<RawCompletionToken>>::value, CompletionToken const, CompletionToken>, typename Trinity::Asio::Impl::AsExpectedSignature<Signatures>::type...>( @@ -311,7 +311,7 @@ public: static inline auto initiate(Initiation&& initiation, RawCompletionToken&& token, Args&&... args) { return async_initiate< - conditional_t< + std::conditional_t< is_const<remove_reference_t<RawCompletionToken>>::value, CompletionToken const, CompletionToken>, typename Trinity::Asio::Impl::AsExpectedSignature<Signature>::type>( diff --git a/src/common/Collision/RegularGrid.h b/src/common/Collision/RegularGrid.h index 94f97b2cb5a..57ef8094297 100644 --- a/src/common/Collision/RegularGrid.h +++ b/src/common/Collision/RegularGrid.h @@ -23,6 +23,7 @@ #include <G3D/Ray.h> #include <G3D/BoundsTrait.h> #include <memory> +#include <span> #include <unordered_map> template<class Node> diff --git a/src/common/Collision/VMapDefinitions.h b/src/common/Collision/VMapDefinitions.h index 7f0c10406e4..2006cf9ed53 100644 --- a/src/common/Collision/VMapDefinitions.h +++ b/src/common/Collision/VMapDefinitions.h @@ -18,6 +18,7 @@ #ifndef _VMAPDEFINITIONS_H #define _VMAPDEFINITIONS_H +#include "Define.h" #include <cstdio> #define LIQUID_TILE_SIZE (533.333f / 128.f) diff --git a/src/common/Utilities/FuzzyFind.h b/src/common/Utilities/FuzzyFind.h index 9b70fc7cb39..a402c60c1cc 100644 --- a/src/common/Utilities/FuzzyFind.h +++ b/src/common/Utilities/FuzzyFind.h @@ -19,15 +19,16 @@ #define TRINITY_FUZZYFIND_H #include <map> -#include <string> #include <type_traits> +struct StringContainsStringI_T; + namespace Trinity { namespace Containers { - template <typename Container, typename NeedleContainer, typename ContainsOperator = bool(std::string const&, std::string const&), typename T = void> - auto FuzzyFindIn(Container const& container, NeedleContainer const& needles, ContainsOperator const& contains = StringContainsStringI, int(*bonus)(decltype((*std::begin(std::declval<Container>())))) = nullptr) + template <typename Container, typename NeedleContainer, typename ContainsOperator = StringContainsStringI_T, typename T = void> + auto FuzzyFindIn(Container const& container, NeedleContainer const& needles, ContainsOperator const& contains = {}, int(*bonus)(decltype((*std::begin(std::declval<Container>())))) = nullptr) { using IteratorResult = decltype((*std::begin(container))); using MappedType = std::conditional_t<std::is_reference_v<IteratorResult>, std::reference_wrapper<std::remove_reference_t<IteratorResult>>, IteratorResult>; diff --git a/src/common/Utilities/SmartEnum.h b/src/common/Utilities/SmartEnum.h index 3c58d433406..ae915f31694 100644 --- a/src/common/Utilities/SmartEnum.h +++ b/src/common/Utilities/SmartEnum.h @@ -18,6 +18,7 @@ #ifndef TRINITY_SMARTENUM_H #define TRINITY_SMARTENUM_H +#include "Define.h" #include "IteratorPair.h" #include <iterator> diff --git a/src/common/Utilities/Util.h b/src/common/Utilities/Util.h index e3c63e0e968..9f65fd9b163 100644 --- a/src/common/Utilities/Util.h +++ b/src/common/Utilities/Util.h @@ -458,9 +458,16 @@ inline std::vector<uint8> HexStrToByteVector(std::string_view str, bool reverse TC_COMMON_API float DegToRad(float degrees); TC_COMMON_API bool StringEqualI(std::string_view str1, std::string_view str2); -inline bool StringStartsWith(std::string_view haystack, std::string_view needle) { return (haystack.substr(0, needle.length()) == needle); } +inline bool StringStartsWith(std::string_view haystack, std::string_view needle) { return haystack.starts_with(needle); } inline bool StringStartsWithI(std::string_view haystack, std::string_view needle) { return StringEqualI(haystack.substr(0, needle.length()), needle); } + TC_COMMON_API bool StringContainsStringI(std::string_view haystack, std::string_view needle); + +struct StringContainsStringI_T +{ + bool operator()(std::string_view haystack, std::string_view needle) const { return StringContainsStringI(haystack, needle); } +}; + TC_COMMON_API bool StringCompareLessI(std::string_view a, std::string_view b); struct StringCompareLessI_T |
