aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/Asio/ExpectedCompletionHandler.h4
-rw-r--r--src/common/Collision/RegularGrid.h1
-rw-r--r--src/common/Collision/VMapDefinitions.h1
-rw-r--r--src/common/Utilities/FuzzyFind.h7
-rw-r--r--src/common/Utilities/SmartEnum.h1
-rw-r--r--src/common/Utilities/Util.h9
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