diff options
-rw-r--r-- | projects/openttd_vs80.vcproj | 4 | ||||
-rw-r--r-- | projects/openttd_vs90.vcproj | 4 | ||||
-rw-r--r-- | source.list | 1 | ||||
-rw-r--r-- | src/ai/ai.hpp | 6 | ||||
-rw-r--r-- | src/ai/ai_config.hpp | 7 | ||||
-rw-r--r-- | src/ai/ai_scanner.hpp | 3 | ||||
-rw-r--r-- | src/ai/api/ai_controller.hpp | 6 | ||||
-rw-r--r-- | src/blitter/factory.hpp | 8 | ||||
-rw-r--r-- | src/core/string_compare_type.hpp | 15 | ||||
-rw-r--r-- | src/driver.h | 8 |
10 files changed, 34 insertions, 28 deletions
diff --git a/projects/openttd_vs80.vcproj b/projects/openttd_vs80.vcproj index 8306b3add..b46f50ebc 100644 --- a/projects/openttd_vs80.vcproj +++ b/projects/openttd_vs80.vcproj @@ -1699,6 +1699,10 @@ RelativePath=".\..\src\core\sort_func.hpp" > </File> + <File + RelativePath=".\..\src\core\string_compare_type.hpp" + > + </File> </Filter> <Filter Name="GUI Source Code" diff --git a/projects/openttd_vs90.vcproj b/projects/openttd_vs90.vcproj index 331ef3744..a3e6257f6 100644 --- a/projects/openttd_vs90.vcproj +++ b/projects/openttd_vs90.vcproj @@ -1696,6 +1696,10 @@ RelativePath=".\..\src\core\sort_func.hpp" > </File> + <File + RelativePath=".\..\src\core\string_compare_type.hpp" + > + </File> </Filter> <Filter Name="GUI Source Code" diff --git a/source.list b/source.list index b7292ad8a..07ecd7607 100644 --- a/source.list +++ b/source.list @@ -370,6 +370,7 @@ core/random_func.hpp core/smallmap_type.hpp core/smallvec_type.hpp core/sort_func.hpp +core/string_compare_type.hpp # GUI Source Code aircraft_gui.cpp 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() |