diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/smallmap_type.hpp | 1 | ||||
-rw-r--r-- | src/core/sort_func.hpp | 89 | ||||
-rw-r--r-- | src/highscore.cpp | 1 | ||||
-rw-r--r-- | src/sortlist_type.h | 1 | ||||
-rw-r--r-- | src/timetable_cmd.cpp | 1 |
5 files changed, 0 insertions, 93 deletions
diff --git a/src/core/smallmap_type.hpp b/src/core/smallmap_type.hpp index 21cc0e76f..d05052282 100644 --- a/src/core/smallmap_type.hpp +++ b/src/core/smallmap_type.hpp @@ -13,7 +13,6 @@ #define SMALLMAP_TYPE_HPP #include "smallvec_type.hpp" -#include "sort_func.hpp" /** * Simple pair of data. Both types have to be POD ("Plain Old Data")! diff --git a/src/core/sort_func.hpp b/src/core/sort_func.hpp deleted file mode 100644 index d557d24bd..000000000 --- a/src/core/sort_func.hpp +++ /dev/null @@ -1,89 +0,0 @@ -/* $Id$ */ - -/* - * This file is part of OpenTTD. - * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. - * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. - */ - -/** @file sort_func.hpp Functions related to sorting operations. */ - -#ifndef SORT_FUNC_HPP -#define SORT_FUNC_HPP - -#include "mem_func.hpp" - -/** - * Type safe qsort() - * - * @note Use this sort for irregular sorted data. - * - * @param base Pointer to the first element of the array to be sorted. - * @param num Number of elements in the array pointed by base. - * @param comparator Function that compares two elements. - * @param desc Sort descending. - */ -template <typename T> -static inline void QSortT(T *base, size_t num, int (CDECL *comparator)(const T*, const T*), bool desc = false) -{ - if (num < 2) return; - - qsort(base, num, sizeof(T), (int (CDECL *)(const void *, const void *))comparator); - - if (desc) MemReverseT(base, num); -} - -/** - * Type safe Gnome Sort. - * - * This is a slightly modified Gnome search. The basic - * Gnome search tries to sort already sorted list parts. - * The modification skips these. - * - * @note Use this sort for presorted / regular sorted data. - * - * @param base Pointer to the first element of the array to be sorted. - * @param num Number of elements in the array pointed by base. - * @param comparator Function that compares two elements. - * @param desc Sort descending. - */ -template <typename T> -static inline void GSortT(T *base, size_t num, int (CDECL *comparator)(const T*, const T*), bool desc = false) -{ - if (num < 2) return; - - assert(base != nullptr); - assert(comparator != nullptr); - - T *a = base; - T *b = base + 1; - uint offset = 0; - - while (num > 1) { - const int diff = comparator(a, b); - if ((!desc && diff <= 0) || (desc && diff >= 0)) { - if (offset != 0) { - /* Jump back to the last direction switch point */ - a += offset; - b += offset; - offset = 0; - continue; - } - - a++; - b++; - num--; - } else { - Swap(*a, *b); - - if (a == base) continue; - - a--; - b--; - offset++; - } - } -} - -#endif /* SORT_FUNC_HPP */ diff --git a/src/highscore.cpp b/src/highscore.cpp index 71b31c384..687417229 100644 --- a/src/highscore.cpp +++ b/src/highscore.cpp @@ -17,7 +17,6 @@ #include "string_func.h" #include "strings_func.h" #include "table/strings.h" -#include "core/sort_func.hpp" #include "debug.h" #include "safeguards.h" diff --git a/src/sortlist_type.h b/src/sortlist_type.h index 8174995ca..47f663863 100644 --- a/src/sortlist_type.h +++ b/src/sortlist_type.h @@ -14,7 +14,6 @@ #include "core/enum_type.hpp" #include "core/bitmath_func.hpp" -#include "core/sort_func.hpp" #include "core/smallvec_type.hpp" #include "date_type.h" diff --git a/src/timetable_cmd.cpp b/src/timetable_cmd.cpp index 2b2de28a9..979534bb3 100644 --- a/src/timetable_cmd.cpp +++ b/src/timetable_cmd.cpp @@ -16,7 +16,6 @@ #include "window_func.h" #include "vehicle_base.h" #include "cmd_helper.h" -#include "core/sort_func.hpp" #include "table/strings.h" |