aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Utilities/Util.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/shared/Utilities/Util.h')
-rwxr-xr-xsrc/server/shared/Utilities/Util.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/shared/Utilities/Util.h b/src/server/shared/Utilities/Util.h
index a6a76439bdb..2e5d9a12ad7 100755
--- a/src/server/shared/Utilities/Util.h
+++ b/src/server/shared/Utilities/Util.h
@@ -24,6 +24,16 @@
#include <string>
#include <vector>
+// Searcher for map of structs
+template<typename T, class S> struct Finder
+{
+ T val_;
+ T S::* idMember_;
+
+ Finder(T val, T S::* idMember) : val_(val), idMember_(idMember) {}
+ bool operator()(const std::pair<int, S> &obj) { return obj.second.*idMember_ == val_; }
+};
+
struct Tokens: public std::vector<char*>
{
Tokens(const std::string &src, const char sep, uint32 vectorReserve = 0);