summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ai/ai.hpp6
-rw-r--r--src/ai/ai_config.hpp7
-rw-r--r--src/ai/ai_scanner.hpp3
-rw-r--r--src/ai/api/ai_controller.hpp6
-rw-r--r--src/blitter/factory.hpp8
-rw-r--r--src/core/string_compare_type.hpp15
-rw-r--r--src/driver.h8
7 files changed, 25 insertions, 28 deletions
diff --git a/src/ai/ai.hpp b/src/ai/ai.hpp
index 0485cabae..2653e66ae 100644
--- a/src/ai/ai.hpp
+++ b/src/ai/ai.hpp
@@ -7,11 +7,9 @@
#include "api/ai_event_types.hpp"
#include "../date_type.h"
+#include "../core/string_compare_type.hpp"
-#ifndef AI_CONFIG_HPP
-struct ltstr { bool operator()(const char *s1, const char *s2) const { return strcmp(s1, s2) < 0; } };
-#endif /* AI_CONFIG_HPP */
-typedef std::map<const char *, class AIInfo *, ltstr> AIInfoList;
+typedef std::map<const char *, class AIInfo *, StringCompare> AIInfoList;
void CcAI(bool success, TileIndex tile, uint32 p1, uint32 p2);
diff --git a/src/ai/ai_config.hpp b/src/ai/ai_config.hpp
index 39b680f1c..ca8b05a39 100644
--- a/src/ai/ai_config.hpp
+++ b/src/ai/ai_config.hpp
@@ -7,14 +7,11 @@
#include <map>
#include "ai_info.hpp"
-
-#ifndef AI_HPP
-struct ltstr { bool operator()(const char *s1, const char *s2) const { return strcmp(s1, s2) < 0; } };
-#endif /* AI_HPP */
+#include "../core/string_compare_type.hpp"
class AIConfig {
private:
- typedef std::map<const char *, int, ltstr> SettingValueList;
+ typedef std::map<const char *, int, StringCompare> SettingValueList;
public:
AIConfig() :
diff --git a/src/ai/ai_scanner.hpp b/src/ai/ai_scanner.hpp
index 3bfa27bfc..9818288bb 100644
--- a/src/ai/ai_scanner.hpp
+++ b/src/ai/ai_scanner.hpp
@@ -5,6 +5,7 @@
#ifndef AI_SCANNER_HPP
#define AI_SCANNER_HPP
+#include "../core/string_compare_type.hpp"
#include <map>
class AIScanner {
@@ -73,7 +74,7 @@ public:
bool HasAI(const struct ContentInfo *ci, bool md5sum);
#endif
private:
- typedef std::map<const char *, class AILibrary *, ltstr> AILibraryList;
+ typedef std::map<const char *, class AILibrary *, StringCompare> AILibraryList;
/**
* Scan the AI dir for scripts.
diff --git a/src/ai/api/ai_controller.hpp b/src/ai/api/ai_controller.hpp
index 1f1df743e..d4e2bd6dc 100644
--- a/src/ai/api/ai_controller.hpp
+++ b/src/ai/api/ai_controller.hpp
@@ -5,10 +5,8 @@
#ifndef AI_CONTROLLER_HPP
#define AI_CONTROLLER_HPP
+#include "../../core/string_compare_type.hpp"
#include <map>
-#ifndef AI_HPP
-struct ltstr { bool operator()(const char *s1, const char *s2) const { return strcmp(s1, s2) < 0; } };
-#endif /* AI_HPP */
/**
* The Controller, the class each AI should extend. It creates the AI, makes
@@ -85,7 +83,7 @@ public:
static void Print(bool error_msg, const char *message);
private:
- typedef std::map<const char *, const char *, ltstr> LoadedLibraryList;
+ typedef std::map<const char *, const char *, StringCompare> LoadedLibraryList;
uint ticks;
LoadedLibraryList loaded_library;
diff --git a/src/blitter/factory.hpp b/src/blitter/factory.hpp
index 4f7a4b108..a1ab6dc6e 100644
--- a/src/blitter/factory.hpp
+++ b/src/blitter/factory.hpp
@@ -8,6 +8,7 @@
#include "base.hpp"
#include "../debug.h"
#include "../string_func.h"
+#include "../core/string_compare_type.hpp"
#include <map>
#if defined(WITH_COCOA)
@@ -21,13 +22,6 @@ class BlitterFactoryBase {
private:
const char *name;
- struct StringCompare {
- bool operator () (const char *a, const char *b) const
- {
- return strcmp(a, b) < 0;
- }
- };
-
typedef std::map<const char *, BlitterFactoryBase *, StringCompare> Blitters;
static Blitters &GetBlitters()
diff --git a/src/core/string_compare_type.hpp b/src/core/string_compare_type.hpp
new file mode 100644
index 000000000..c4bb71819
--- /dev/null
+++ b/src/core/string_compare_type.hpp
@@ -0,0 +1,15 @@
+/* $Id$ */
+
+/** @file string_compare_type.hpp Comparator class for "const char *" so it can be used as a key for std::map */
+
+#ifndef STRING_COMPARE_TYPE_HPP
+#define STRING_COMPARE_TYPE_HPP
+
+struct StringCompare {
+ bool operator () (const char *a, const char *b) const
+ {
+ return strcmp(a, b) < 0;
+ }
+};
+
+#endif /* STRING_COMPARE_TYPE_HPP */
diff --git a/src/driver.h b/src/driver.h
index 61fede9c4..b2a359b97 100644
--- a/src/driver.h
+++ b/src/driver.h
@@ -6,6 +6,7 @@
#define DRIVER_H
#include "core/enum_type.hpp"
+#include "core/string_compare_type.hpp"
#include "string_func.h"
#include <map>
@@ -39,13 +40,6 @@ private:
const char *name;
int priority;
- struct StringCompare {
- bool operator () (const char *a, const char *b) const
- {
- return strcmp(a, b) < 0;
- }
- };
-
typedef std::map<const char *, DriverFactoryBase *, StringCompare> Drivers;
static Drivers &GetDrivers()