diff options
69 files changed, 109 insertions, 127 deletions
diff --git a/src/animated_tile.cpp b/src/animated_tile.cpp index e2a555371..24543529d 100644 --- a/src/animated_tile.cpp +++ b/src/animated_tile.cpp @@ -19,7 +19,7 @@ #include "safeguards.h" /** The table/list with animated tiles. */ -SmallVector<TileIndex, 256> _animated_tiles; +std::vector<TileIndex> _animated_tiles; /** * Removes the given tile from the animated tile table. diff --git a/src/company_gui.cpp b/src/company_gui.cpp index 6b67f373b..e5dbc86a4 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -562,7 +562,7 @@ private: uint rows; uint line_height; GUIGroupList groups; - SmallVector<int, 32> indents; + std::vector<int> indents; Scrollbar *vscroll; void ShowColourDropDownMenu(uint32 widget) diff --git a/src/core/pool_type.hpp b/src/core/pool_type.hpp index a6f7e4fe8..38f314ebb 100644 --- a/src/core/pool_type.hpp +++ b/src/core/pool_type.hpp @@ -26,7 +26,7 @@ enum PoolType { }; DECLARE_ENUM_AS_BIT_SET(PoolType) -typedef SmallVector<struct PoolBase *, 4> PoolVector; ///< Vector of pointers to PoolBase +typedef std::vector<struct PoolBase *> PoolVector; ///< Vector of pointers to PoolBase /** Base class for base of all pools. */ struct PoolBase { diff --git a/src/core/smallmap_type.hpp b/src/core/smallmap_type.hpp index 8cc96302f..debd4165e 100644 --- a/src/core/smallmap_type.hpp +++ b/src/core/smallmap_type.hpp @@ -40,7 +40,7 @@ struct SmallPair { * @see SmallVector */ template <typename T, typename U, uint S = 16> -struct SmallMap : SmallVector<SmallPair<T, U>, S> { +struct SmallMap : std::vector<SmallPair<T, U> > { typedef ::SmallPair<T, U> Pair; typedef Pair *iterator; typedef const Pair *const_iterator; diff --git a/src/core/smallstack_type.hpp b/src/core/smallstack_type.hpp index 5a9d329a9..c273fdec4 100644 --- a/src/core/smallstack_type.hpp +++ b/src/core/smallstack_type.hpp @@ -87,7 +87,7 @@ private: Tindex first_free; ThreadMutex *mutex; - SmallVector<SimplePoolPoolItem, Tgrowth_step> data; + std::vector<SimplePoolPoolItem> data; }; /** diff --git a/src/core/smallvec_type.hpp b/src/core/smallvec_type.hpp index 6f86e11cc..19dab2228 100644 --- a/src/core/smallvec_type.hpp +++ b/src/core/smallvec_type.hpp @@ -34,22 +34,6 @@ inline bool include(std::vector<T>& vec, const T &item) return is_member; } - -/** - * Simple vector template class. - * - * @note There are no asserts in the class so you have - * to care about that you grab an item which is - * inside the list. - * - * @tparam T The type of the items stored - * @tparam S The steps of allocation - */ - - -template <typename T, uint S> -using SmallVector = std::vector<T>; - /** * Helper function to get the index of an item * Consider using std::set, std::unordered_set or std::flat_set in new code @@ -73,19 +57,18 @@ int find_index(std::vector<T> const& vec, T const& item) * Consider using std::back_inserter in new code * * @param vec A reference to the vector to be extended - * @param num The number of elements to default-construct + * @param num Number of elements to be default-constructed * * @return Pointer to the first new element */ template <typename T> -inline T* grow(std::vector<T>& vec, std::size_t num) +T* grow(std::vector<T>& vec, std::size_t num) { - const std::size_t pos = vec.size(); + std::size_t const pos = vec.size(); vec.resize(pos + num); return vec.data() + pos; } - /** * Simple vector template class, with automatic free. * @@ -97,7 +80,7 @@ inline T* grow(std::vector<T>& vec, std::size_t num) * @param S The steps of allocation */ template <typename T, uint S> -class AutoFreeSmallVector : public SmallVector<T, S> { +class AutoFreeSmallVector : public std::vector<T> { public: ~AutoFreeSmallVector() { @@ -128,7 +111,7 @@ public: * @param S The steps of allocation */ template <typename T, uint S> -class AutoDeleteSmallVector : public SmallVector<T, S> { +class AutoDeleteSmallVector : public std::vector<T> { public: ~AutoDeleteSmallVector() { diff --git a/src/economy.cpp b/src/economy.cpp index cab605f9a..d1ebd8a04 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -77,7 +77,7 @@ static inline int32 BigMulS(const int32 a, const int32 b, const uint8 shift) return (int32)((int64)a * (int64)b >> shift); } -typedef SmallVector<Industry *, 16> SmallIndustryList; +typedef std::vector<Industry *> SmallIndustryList; /** * Score info, values used for computing the detailed performance rating. diff --git a/src/engine_base.h b/src/engine_base.h index 25c6bfbeb..aaf88d945 100644 --- a/src/engine_base.h +++ b/src/engine_base.h @@ -156,7 +156,7 @@ struct EngineIDMapping { * Stores the mapping of EngineID to the internal id of newgrfs. * Note: This is not part of Engine, as the data in the EngineOverrideManager and the engine pool get resetted in different cases. */ -struct EngineOverrideManager : SmallVector<EngineIDMapping, 256> { +struct EngineOverrideManager : std::vector<EngineIDMapping> { static const uint NUM_DEFAULT_ENGINES; ///< Number of default entries void ResetToDefaultMapping(); diff --git a/src/fios.cpp b/src/fios.cpp index c27e6d8af..cb157492e 100644 --- a/src/fios.cpp +++ b/src/fios.cpp @@ -655,7 +655,7 @@ struct ScenarioIdentifier { /** * Scanner to find the unique IDs of scenarios */ -class ScenarioScanner : protected FileScanner, public SmallVector<ScenarioIdentifier, 8> { +class ScenarioScanner : protected FileScanner, public std::vector<ScenarioIdentifier> { bool scanned; ///< Whether we've already scanned public: /** Initialise */ diff --git a/src/fios.h b/src/fios.h index cc6917813..52d85ad9b 100644 --- a/src/fios.h +++ b/src/fios.h @@ -198,7 +198,7 @@ public: void BuildFileList(AbstractFileType abstract_filetype, SaveLoadOperation fop); const FiosItem *FindItem(const char *file); - SmallVector<FiosItem, 32> files; ///< The list of files. + std::vector<FiosItem> files; ///< The list of files. }; enum SortingBits { diff --git a/src/group_gui.cpp b/src/group_gui.cpp index 59b5112ff..ca0b194f3 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -121,7 +121,7 @@ private: uint tiny_step_height; ///< Step height for the group list Scrollbar *group_sb; - SmallVector<int, 16> indents; ///< Indentation levels + std::vector<int> indents; ///< Indentation levels Dimension column_size[VGC_END]; ///< Size of the columns in the group list. diff --git a/src/hotkeys.cpp b/src/hotkeys.cpp index 0acc11c47..3093a8229 100644 --- a/src/hotkeys.cpp +++ b/src/hotkeys.cpp @@ -24,7 +24,7 @@ char *_hotkeys_file; * List of all HotkeyLists. * This is a pointer to ensure initialisation order with the various static HotkeyList instances. */ -static SmallVector<HotkeyList*, 16> *_hotkey_lists = NULL; +static std::vector<HotkeyList*> *_hotkey_lists = NULL; /** String representation of a keycode */ struct KeycodeNames { @@ -254,7 +254,7 @@ void Hotkey::AddKeycode(uint16 keycode) HotkeyList::HotkeyList(const char *ini_group, Hotkey *items, GlobalHotkeyHandlerFunc global_hotkey_handler) : global_hotkey_handler(global_hotkey_handler), ini_group(ini_group), items(items) { - if (_hotkey_lists == NULL) _hotkey_lists = new SmallVector<HotkeyList*, 16>(); + if (_hotkey_lists == NULL) _hotkey_lists = new std::vector<HotkeyList*>(); _hotkey_lists->push_back(this); } diff --git a/src/hotkeys.h b/src/hotkeys.h index 25a489b3f..fd729a47a 100644 --- a/src/hotkeys.h +++ b/src/hotkeys.h @@ -29,7 +29,7 @@ struct Hotkey { const char *name; int num; - SmallVector<uint16, 1> keycodes; + std::vector<uint16> keycodes; }; #define HOTKEY_LIST_END Hotkey((uint16)0, NULL, -1) diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 403e57a96..c20b0a05b 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1884,7 +1884,7 @@ static CommandCost CreateNewIndustryHelper(TileIndex tile, IndustryType type, Do *ip = NULL; - SmallVector<ClearedObjectArea, 1> object_areas(_cleared_object_areas); + std::vector<ClearedObjectArea> object_areas(_cleared_object_areas); CommandCost ret = CheckIfIndustryTilesAreFree(tile, it, itspec_index, type, random_initial_bits, founder, creation_type, &custom_shape_check); _cleared_object_areas = object_areas; if (ret.Failed()) return ret; diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index 5bcc03bdb..ce8ac7fa3 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -2155,7 +2155,7 @@ next_cargo: ; struct IndustryCargoesWindow : public Window { static const int HOR_TEXT_PADDING, VERT_TEXT_PADDING; - typedef SmallVector<CargoesRow, 4> Fields; + typedef std::vector<CargoesRow> Fields; Fields fields; ///< Fields to display in the #WID_IC_PANEL. uint ind_cargo; ///< If less than #NUM_INDUSTRYTYPES, an industry type, else a cargo id + NUM_INDUSTRYTYPES. diff --git a/src/language.h b/src/language.h index 8df59f74f..be2d37084 100644 --- a/src/language.h +++ b/src/language.h @@ -96,7 +96,7 @@ struct LanguageMetadata : public LanguagePackHeader { }; /** Type for the list of language meta data. */ -typedef SmallVector<LanguageMetadata, 4> LanguageList; +typedef std::vector<LanguageMetadata> LanguageList; /** The actual list of language meta data. */ extern LanguageList _languages; diff --git a/src/linkgraph/linkgraph.h b/src/linkgraph/linkgraph.h index 1900c0b1f..3283eb9bf 100644 --- a/src/linkgraph/linkgraph.h +++ b/src/linkgraph/linkgraph.h @@ -435,7 +435,7 @@ public: void RemoveEdge(NodeID to); }; - typedef SmallVector<BaseNode, 16> NodeVector; + typedef std::vector<BaseNode> NodeVector; typedef SmallMatrix<BaseEdge> EdgeMatrix; /** Minimum effective distance for timeout calculation. */ diff --git a/src/linkgraph/linkgraphjob.h b/src/linkgraph/linkgraphjob.h index b4587a784..b47dd70b9 100644 --- a/src/linkgraph/linkgraphjob.h +++ b/src/linkgraph/linkgraphjob.h @@ -50,7 +50,7 @@ private: void Init(uint supply); }; - typedef SmallVector<NodeAnnotation, 16> NodeAnnotationVector; + typedef std::vector<NodeAnnotation> NodeAnnotationVector; typedef SmallMatrix<EdgeAnnotation> EdgeAnnotationMatrix; friend const SaveLoad *GetLinkGraphJobDesc(); diff --git a/src/music/midifile.hpp b/src/music/midifile.hpp index 0016be86c..e0e5170b7 100644 --- a/src/music/midifile.hpp +++ b/src/music/midifile.hpp @@ -24,7 +24,7 @@ struct MidiFile { struct DataBlock { uint32 ticktime; ///< tick number since start of file this block should be triggered at uint32 realtime; ///< real-time (microseconds) since start of file this block should be triggered at - SmallVector<byte, 8> data; ///< raw midi data contained in block + std::vector<byte> data; ///< raw midi data contained in block DataBlock(uint32 _ticktime = 0) : ticktime(_ticktime) { } }; struct TempoChange { diff --git a/src/network/core/address.h b/src/network/core/address.h index b5c78c79b..f6d7870bf 100644 --- a/src/network/core/address.h +++ b/src/network/core/address.h @@ -18,7 +18,7 @@ #include "../../core/smallmap_type.hpp" class NetworkAddress; -typedef SmallVector<NetworkAddress, 4> NetworkAddressList; ///< Type for a list of addresses. +typedef std::vector<NetworkAddress> NetworkAddressList; ///< Type for a list of addresses. typedef SmallMap<NetworkAddress, SOCKET, 4> SocketList; ///< Type for a mapping between address and socket. /** diff --git a/src/network/core/tcp_connect.cpp b/src/network/core/tcp_connect.cpp index d699cf60d..d76042821 100644 --- a/src/network/core/tcp_connect.cpp +++ b/src/network/core/tcp_connect.cpp @@ -19,7 +19,7 @@ #include "../../safeguards.h" /** List of connections that are currently being created */ -static SmallVector<TCPConnecter *, 1> _tcp_connecters; +static std::vector<TCPConnecter *> _tcp_connecters; /** * Create a new connecter for the given address diff --git a/src/network/core/tcp_http.cpp b/src/network/core/tcp_http.cpp index cec77fb14..3e9cc8141 100644 --- a/src/network/core/tcp_http.cpp +++ b/src/network/core/tcp_http.cpp @@ -21,7 +21,7 @@ #include "../../safeguards.h" /** List of open HTTP connections. */ -static SmallVector<NetworkHTTPSocketHandler *, 1> _http_connections; +static std::vector<NetworkHTTPSocketHandler *> _http_connections; /** * Start the querying diff --git a/src/network/network_content.h b/src/network/network_content.h index 26300c4ca..e62c921e6 100644 --- a/src/network/network_content.h +++ b/src/network/network_content.h @@ -16,9 +16,9 @@ #include "core/tcp_http.h" /** Vector with content info */ -typedef SmallVector<ContentInfo *, 16> ContentVector; +typedef std::vector<ContentInfo *> ContentVector; /** Vector with constant content info */ -typedef SmallVector<const ContentInfo *, 16> ConstContentVector; +typedef std::vector<const ContentInfo *> ConstContentVector; /** Iterator for the content vector */ typedef ContentInfo **ContentIterator; @@ -66,11 +66,11 @@ struct ContentCallback { */ class ClientNetworkContentSocketHandler : public NetworkContentSocketHandler, ContentCallback, HTTPCallback { protected: - typedef SmallVector<ContentID, 4> ContentIDList; ///< List of content IDs to (possibly) select. - SmallVector<ContentCallback *, 2> callbacks; ///< Callbacks to notify "the world" + typedef std::vector<ContentID> ContentIDList; ///< List of content IDs to (possibly) select. + std::vector<ContentCallback *> callbacks; ///< Callbacks to notify "the world" ContentIDList requested; ///< ContentIDs we already requested (so we don't do it again) ContentVector infos; ///< All content info we received - SmallVector<char, 1024> http_response; ///< The HTTP response to the requests we've been doing + std::vector<char> http_response; ///< The HTTP response to the requests we've been doing int http_response_index; ///< Where we are, in the response, with handling it FILE *curFile; ///< Currently downloaded file diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index 9ea56d747..09168185a 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -160,7 +160,7 @@ void BaseNetworkContentDownloadStatusWindow::OnDownloadProgress(const ContentInf /** Window for showing the download status of content */ struct NetworkContentDownloadStatusWindow : public BaseNetworkContentDownloadStatusWindow { private: - SmallVector<ContentType, 4> receivedTypes; ///< Types we received so we can update their cache + std::vector<ContentType> receivedTypes; ///< Types we received so we can update their cache public: /** diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index a8dd2aa52..b35e91528 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -1728,7 +1728,7 @@ struct NetworkClientListPopupWindow : Window { uint sel_index; ClientID client_id; Point desired_location; - SmallVector<ClientListAction, 2> actions; ///< Actions to execute + std::vector<ClientListAction> actions; ///< Actions to execute /** * Add an action to the list of actions to execute. diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 8507d9d61..e45f34b76 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -65,7 +65,7 @@ * served as subject to the initial testing of this codec. */ /** List of all loaded GRF files */ -static SmallVector<GRFFile *, 16> _grf_files; +static std::vector<GRFFile *> _grf_files; /** Miscellaneous GRF features, set by Action 0x0D, parameter 0x9E */ byte _misc_grf_features = 0; @@ -459,7 +459,7 @@ struct StringIDMapping { StringID source; ///< Source StringID (GRF local). StringID *target; ///< Destination for mapping result. }; -typedef SmallVector<StringIDMapping, 16> StringIDMappingVector; +typedef std::vector<StringIDMapping> StringIDMappingVector; static StringIDMappingVector _string_to_grf_mapping; /** @@ -1901,7 +1901,7 @@ static ChangeInfoResult StationChangeInfo(uint stid, int numinfo, int prop, Byte /* On error, bail out immediately. Temporary GRF data was already freed */ if (_cur.skip_sprites < 0) return CIR_DISABLED; - static SmallVector<DrawTileSeqStruct, 8> tmp_layout; + static std::vector<DrawTileSeqStruct> tmp_layout; tmp_layout.clear(); for (;;) { /* no relative bounding box support */ @@ -4787,7 +4787,7 @@ static void NewSpriteGroup(ByteReader *buf) case 2: group->size = DSG_SIZE_DWORD; varsize = 4; break; } - static SmallVector<DeterministicSpriteGroupAdjust, 16> adjusts; + static std::vector<DeterministicSpriteGroupAdjust> adjusts; adjusts.clear(); /* Loop through the var adjusts. Unfortunately we don't know how many we have diff --git a/src/newgrf.h b/src/newgrf.h index 1ab55dd04..d58fe870f 100644 --- a/src/newgrf.h +++ b/src/newgrf.h @@ -122,10 +122,10 @@ struct GRFFile : ZeroedMemoryAllocator { GRFLabel *label; ///< Pointer to the first label. This is a linked list, not an array. - SmallVector<CargoLabel, 4> cargo_list; ///< Cargo translation table (local ID -> label) + std::vector<CargoLabel> cargo_list; ///< Cargo translation table (local ID -> label) uint8 cargo_map[NUM_CARGO]; ///< Inverse cargo translation table (CargoID -> local ID) - SmallVector<RailTypeLabel, 4> railtype_list; ///< Railtype translation table + std::vector<RailTypeLabel> railtype_list; ///< Railtype translation table RailTypeByte railtype_map[RAILTYPE_END]; CanalProperties canal_local_properties[CF_END]; ///< Canal properties as set by this NewGRF diff --git a/src/newgrf_commons.cpp b/src/newgrf_commons.cpp index 5626c6543..e05217fee 100644 --- a/src/newgrf_commons.cpp +++ b/src/newgrf_commons.cpp @@ -579,7 +579,7 @@ bool Convert8bitBooleanCallback(const GRFFile *grffile, uint16 cbid, uint16 cb_r } -/* static */ SmallVector<DrawTileSeqStruct, 8> NewGRFSpriteLayout::result_seq; +/* static */ std::vector<DrawTileSeqStruct> NewGRFSpriteLayout::result_seq; /** * Clone the building sprites of a spritelayout. diff --git a/src/newgrf_commons.h b/src/newgrf_commons.h index c7ca609fa..819e84451 100644 --- a/src/newgrf_commons.h +++ b/src/newgrf_commons.h @@ -170,7 +170,7 @@ struct NewGRFSpriteLayout : ZeroedMemoryAllocator, DrawTileSprites { } private: - static SmallVector<DrawTileSeqStruct, 8> result_seq; ///< Temporary storage when preprocessing spritelayouts. + static std::vector<DrawTileSeqStruct> result_seq; ///< Temporary storage when preprocessing spritelayouts. }; /** diff --git a/src/newgrf_config.h b/src/newgrf_config.h index 4266dd1fd..6396fa368 100644 --- a/src/newgrf_config.h +++ b/src/newgrf_config.h @@ -172,7 +172,7 @@ struct GRFConfig : ZeroedMemoryAllocator { uint8 num_params; ///< Number of used parameters uint8 num_valid_params; ///< NOSAVE: Number of valid parameters (action 0x14) uint8 palette; ///< GRFPalette, bitset - SmallVector<GRFParameterInfo *, 4> param_info; ///< NOSAVE: extra information about the parameters + std::vector<GRFParameterInfo *> param_info; ///< NOSAVE: extra information about the parameters bool has_param_defaults; ///< NOSAVE: did this newgrf specify any defaults for it's parameters struct GRFConfig *next; ///< NOSAVE: Next item in the linked list diff --git a/src/newgrf_debug.h b/src/newgrf_debug.h index 6e514c4ce..b73c93266 100644 --- a/src/newgrf_debug.h +++ b/src/newgrf_debug.h @@ -29,7 +29,7 @@ struct NewGrfDebugSpritePicker { NewGrfDebugSpritePickerMode mode; ///< Current state void *clicked_pixel; ///< Clicked pixel (pointer to blitter buffer) uint32 click_time; ///< Realtime tick when clicked to detect next frame - SmallVector<SpriteID, 256> sprites; ///< Sprites found + std::vector<SpriteID> sprites; ///< Sprites found }; extern NewGrfDebugSpritePicker _newgrf_debug_sprite_picker; diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp index f8745440c..2ea9a6d88 100644 --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -47,7 +47,7 @@ #include "safeguards.h" /** The sprite picker. */ -NewGrfDebugSpritePicker _newgrf_debug_sprite_picker = { SPM_NONE, NULL, 0, SmallVector<SpriteID, 256>() }; +NewGrfDebugSpritePicker _newgrf_debug_sprite_picker = { SPM_NONE, NULL, 0, std::vector<SpriteID>() }; /** * Get the feature index related to the window number. @@ -894,7 +894,7 @@ struct SpriteAlignerWindow : Window { const NWidgetBase *nwid = this->GetWidget<NWidgetBase>(widget); int step_size = nwid->resize_y; - SmallVector<SpriteID, 256> &list = _newgrf_debug_sprite_picker.sprites; + std::vector<SpriteID> &list = _newgrf_debug_sprite_picker.sprites; int max = min<int>(this->vscroll->GetPosition() + this->vscroll->GetCapacity(), list.size()); int y = r.top + WD_FRAMERECT_TOP; diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index 0c7e4314b..a9929540a 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -1185,7 +1185,7 @@ struct ListOrderChange { uint target; ///< local ID }; -static SmallVector<ListOrderChange, 16> _list_order_changes; +static std::vector<ListOrderChange> _list_order_changes; /** * Record a vehicle ListOrderChange. @@ -1226,7 +1226,7 @@ static int CDECL EnginePreSort(const EngineID *a, const EngineID *b) void CommitVehicleListOrderChanges() { /* Pre-sort engines by scope-grfid and local index */ - SmallVector<EngineID, 16> ordering; + std::vector<EngineID> ordering; Engine *e; FOR_ALL_ENGINES(e) { ordering.push_back(e->index); diff --git a/src/newgrf_sound.cpp b/src/newgrf_sound.cpp index e9f1163c6..c37d6b4ed 100644 --- a/src/newgrf_sound.cpp +++ b/src/newgrf_sound.cpp @@ -22,7 +22,7 @@ #include "safeguards.h" -static SmallVector<SoundEntry, 8> _sounds; +static std::vector<SoundEntry> _sounds; /** diff --git a/src/newgrf_text.cpp b/src/newgrf_text.cpp index 57f2ce5e4..e1f73a5c3 100644 --- a/src/newgrf_text.cpp +++ b/src/newgrf_text.cpp @@ -167,7 +167,7 @@ static byte _currentLangID = GRFLX_ENGLISH; ///< by default, english is used. */ int LanguageMap::GetMapping(int newgrf_id, bool gender) const { - const SmallVector<Mapping, 1> &map = gender ? this->gender_map : this->case_map; + const std::vector<Mapping> &map = gender ? this->gender_map : this->case_map; for (const Mapping &m : map) { if (m.newgrf_id == newgrf_id) return m.openttd_id; } @@ -182,7 +182,7 @@ int LanguageMap::GetMapping(int newgrf_id, bool gender) const */ int LanguageMap::GetReverseMapping(int openttd_id, bool gender) const { - const SmallVector<Mapping, 1> &map = gender ? this->gender_map : this->case_map; + const std::vector<Mapping> &map = gender ? this->gender_map : this->case_map; for (const Mapping &m : map) { if (m.openttd_id == openttd_id) return m.newgrf_id; } diff --git a/src/newgrf_text.h b/src/newgrf_text.h index 033967d30..601535d99 100644 --- a/src/newgrf_text.h +++ b/src/newgrf_text.h @@ -57,8 +57,8 @@ struct LanguageMap { * the genders/cases/plural OpenTTD IDs to the NewGRF's internal IDs. In this * case a NewGRF developer/translator might want a different translation for * both cases. Thus we are basically implementing a multi-map. */ - SmallVector<Mapping, 1> gender_map; ///< Mapping of NewGRF and OpenTTD IDs for genders. - SmallVector<Mapping, 1> case_map; ///< Mapping of NewGRF and OpenTTD IDs for cases. + std::vector<Mapping> gender_map; ///< Mapping of NewGRF and OpenTTD IDs for genders. + std::vector<Mapping> case_map; ///< Mapping of NewGRF and OpenTTD IDs for cases. int plural_form; ///< The plural form used for this language. int GetMapping(int newgrf_id, bool gender) const; diff --git a/src/object_base.h b/src/object_base.h index 47e5a7f94..228eeaa2d 100644 --- a/src/object_base.h +++ b/src/object_base.h @@ -92,6 +92,6 @@ struct ClearedObjectArea { }; ClearedObjectArea *FindClearedObject(TileIndex tile); -extern SmallVector<ClearedObjectArea, 4> _cleared_object_areas; +extern std::vector<ClearedObjectArea> _cleared_object_areas; #endif /* OBJECT_BASE_H */ diff --git a/src/object_cmd.cpp b/src/object_cmd.cpp index 26f0fc4e8..92e6d6ab2 100644 --- a/src/object_cmd.cpp +++ b/src/object_cmd.cpp @@ -442,7 +442,7 @@ static void ReallyClearObjectTile(Object *o) delete o; } -SmallVector<ClearedObjectArea, 4> _cleared_object_areas; +std::vector<ClearedObjectArea> _cleared_object_areas; /** * Find the entry in _cleared_object_areas which occupies a certain tile. diff --git a/src/openttd.cpp b/src/openttd.cpp index 5c7af2dfc..29319236a 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -1174,7 +1174,7 @@ static void CheckCaches() if (_debug_desync_level <= 1) return; /* Check the town caches. */ - SmallVector<TownCache, 4> old_town_caches; + std::vector<TownCache> old_town_caches; Town *t; FOR_ALL_TOWNS(t) { old_town_caches.push_back(t->cache); @@ -1193,7 +1193,7 @@ static void CheckCaches() } /* Check company infrastructure cache. */ - SmallVector<CompanyInfrastructure, 4> old_infrastructure; + std::vector<CompanyInfrastructure> old_infrastructure; Company *c; FOR_ALL_COMPANIES(c) old_infrastructure.push_back(c->infrastructure); diff --git a/src/rail.h b/src/rail.h index ac5805d09..b08f0650a 100644 --- a/src/rail.h +++ b/src/rail.h @@ -118,7 +118,7 @@ enum RailFenceOffset { }; /** List of rail type labels. */ -typedef SmallVector<RailTypeLabel, 4> RailTypeLabelList; +typedef std::vector<RailTypeLabel> RailTypeLabelList; /** * This struct contains all the info that is needed to draw and construct tracks. diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 8e996bbe3..4257b5258 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -41,7 +41,7 @@ #include "safeguards.h" /** Helper type for lists/vectors of trains */ -typedef SmallVector<Train *, 16> TrainList; +typedef std::vector<Train *> TrainList; RailtypeInfo _railtypes[RAILTYPE_END]; RailType _sorted_railtypes[RAILTYPE_END]; @@ -1603,7 +1603,7 @@ CommandCost CmdConvertRail(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 continue; } - SmallVector<Train *, 2> vehicles_affected; + std::vector<Train *> vehicles_affected; /* Vehicle on the tile when not converting Rail <-> ElRail * Tunnels and bridges have special check later */ diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 3efed69e4..b4e3ce986 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -2195,7 +2195,7 @@ bool AfterLoadGame() /* Animated tiles would sometimes not be actually animated or * in case of old savegames duplicate. */ - extern SmallVector<TileIndex, 256> _animated_tiles; + extern std::vector<TileIndex> _animated_tiles; for (auto tile = _animated_tiles.begin(); tile < _animated_tiles.end(); /* Nothing */) { /* Remove if tile is not animated */ @@ -2939,7 +2939,7 @@ bool AfterLoadGame() * So, make articulated parts catch up. */ RoadVehicle *v; bool roadside = _settings_game.vehicle.road_side == 1; - SmallVector<uint, 16> skip_frames; + std::vector<uint> skip_frames; FOR_ALL_ROADVEHICLES(v) { if (!v->IsFrontEngine()) continue; skip_frames.clear(); diff --git a/src/saveload/animated_tile_sl.cpp b/src/saveload/animated_tile_sl.cpp index 4d4ed69a9..f82950c50 100644 --- a/src/saveload/animated_tile_sl.cpp +++ b/src/saveload/animated_tile_sl.cpp @@ -18,7 +18,7 @@ #include "../safeguards.h" -extern SmallVector<TileIndex, 256> _animated_tiles; +extern std::vector<TileIndex> _animated_tiles; /** * Save the ANIT chunk. diff --git a/src/saveload/labelmaps_sl.cpp b/src/saveload/labelmaps_sl.cpp index 3d930e768..dd71f1c3e 100644 --- a/src/saveload/labelmaps_sl.cpp +++ b/src/saveload/labelmaps_sl.cpp @@ -17,7 +17,7 @@ #include "../safeguards.h" -static SmallVector<RailTypeLabel, RAILTYPE_END> _railtype_list; +static std::vector<RailTypeLabel> _railtype_list; /** * Test if any saved rail type labels are different to the currently loaded @@ -42,7 +42,7 @@ static bool NeedRailTypeConversion() void AfterLoadLabelMaps() { if (NeedRailTypeConversion()) { - SmallVector<RailType, RAILTYPE_END> railtype_conversion_map; + std::vector<RailType> railtype_conversion_map; for (uint i = 0; i < _railtype_list.size(); i++) { RailType r = GetRailTypeByLabel(_railtype_list[i]); diff --git a/src/saveload/linkgraph_sl.cpp b/src/saveload/linkgraph_sl.cpp index 842ad6d42..90c056eba 100644 --- a/src/saveload/linkgraph_sl.cpp +++ b/src/saveload/linkgraph_sl.cpp @@ -51,7 +51,7 @@ const SaveLoad *GetLinkGraphDesc() */ const SaveLoad *GetLinkGraphJobDesc() { - static SmallVector<SaveLoad, 16> saveloads; + static std::vector<SaveLoad> saveloads; static const char *prefix = "linkgraph."; /* Build the SaveLoad array on first call and don't touch it later on */ diff --git a/src/saveload/oldloader_sl.cpp b/src/saveload/oldloader_sl.cpp index 7b445858e..a93006f1f 100644 --- a/src/saveload/oldloader_sl.cpp +++ b/src/saveload/oldloader_sl.cpp @@ -491,7 +491,7 @@ static inline uint RemapOrderIndex(uint x) return _savegame_type == SGT_TTO ? (x - 0x1AC4) / 2 : (x - 0x1C18) / 2; } -extern SmallVector<TileIndex, 256> _animated_tiles; +extern std::vector<TileIndex> _animated_tiles; extern char *_old_name_array; static uint32 _old_town_index; diff --git a/src/saveload/waypoint_sl.cpp b/src/saveload/waypoint_sl.cpp index d7701c8af..167086467 100644 --- a/src/saveload/waypoint_sl.cpp +++ b/src/saveload/waypoint_sl.cpp @@ -42,7 +42,7 @@ struct OldWaypoint { }; /** Temporary array with old waypoints. */ -static SmallVector<OldWaypoint, 16> _old_waypoints; +static std::vector<OldWaypoint> _old_waypoints; /** * Update the waypoint orders to get the new waypoint ID. diff --git a/src/script/squirrel_helper.hpp b/src/script/squirrel_helper.hpp index 775fe142e..add6b49c1 100644 --- a/src/script/squirrel_helper.hpp +++ b/src/script/squirrel_helper.hpp @@ -29,7 +29,7 @@ namespace SQConvert { * comes out of scope. Useful to make sure you can use stredup(), * without leaking memory. */ - struct SQAutoFreePointers : SmallVector<void *, 1> { + struct SQAutoFreePointers : std::vector<void *> { ~SQAutoFreePointers() { for (uint i = 0; i < std::vector<void *>::size(); i++) free(std::vector<void *>::operator[](i)); @@ -132,7 +132,7 @@ namespace SQConvert { sq_pushobject(vm, obj); sq_pushnull(vm); - SmallVector<int32, 2> data; + std::vector<int32> data; while (SQ_SUCCEEDED(sq_next(vm, -2))) { SQInteger tmp; diff --git a/src/settingsgen/settingsgen.cpp b/src/settingsgen/settingsgen.cpp index f52fe5426..bf41161b4 100644 --- a/src/settingsgen/settingsgen.cpp +++ b/src/settingsgen/settingsgen.cpp @@ -152,7 +152,7 @@ private: return num_blocks > 0 && this->output_buffer[num_blocks - 1].HasRoom(); } - typedef SmallVector<OutputBuffer, 2> OutputBufferVector; ///< Vector type for output buffers. + typedef std::vector<OutputBuffer> OutputBufferVector; ///< Vector type for output buffers. OutputBufferVector output_buffer; ///< Vector of blocks containing the stored output. }; diff --git a/src/sortlist_type.h b/src/sortlist_type.h index 23a558018..f5036903b 100644 --- a/src/sortlist_type.h +++ b/src/sortlist_type.h @@ -47,7 +47,7 @@ struct Filtering { * @tparam F Type of data fed as additional value to the filter function. @see FilterFunction */ template <typename T, typename F = const char*> -class GUIList : public SmallVector<T, 32> { +class GUIList : public std::vector<T> { public: typedef int CDECL SortFunction(const T*, const T*); ///< Signature of sort function. typedef bool CDECL FilterFunction(const T*, F); ///< Signature of filter function. diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 63e3384b0..5dfba2d19 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -887,7 +887,7 @@ static CommandCost CheckFlatLandAirport(AirportTileTableIterator tile_iter, DoCo * @param numtracks Number of platforms. * @return The cost in case of success, or an error code if it failed. */ -static CommandCost CheckFlatLandRailStation(TileArea tile_area, DoCommandFlag flags, Axis axis, StationID *station, RailType rt, SmallVector<Train *, 4> &affected_vehicles, StationClassID spec_class, byte spec_index, byte plat_len, byte numtracks) +static CommandCost CheckFlatLandRailStation(TileArea tile_area, DoCommandFlag flags, Axis axis, StationID *station, RailType rt, std::vector<Train *> &affected_vehicles, StationClassID spec_class, byte spec_index, byte plat_len, byte numtracks) { CommandCost cost(EXPENSES_CONSTRUCTION); int allowed_z = -1; @@ -1310,7 +1310,7 @@ CommandCost CmdBuildRailStation(TileIndex tile_org, DoCommandFlag flags, uint32 /* Make sure the area below consists of clear tiles. (OR tiles belonging to a certain rail station) */ StationID est = INVALID_STATION; - SmallVector<Train *, 4> affected_vehicles; + std::vector<Train *> affected_vehicles; /* Clear the land below the station. */ CommandCost cost = CheckFlatLandRailStation(new_location, flags, axis, &est, rt, affected_vehicles, spec_class, spec_index, plat_len, numtracks); if (cost.Failed()) return cost; @@ -1547,7 +1547,7 @@ restart: * @return the number of cleared tiles or an error. */ template <class T> -CommandCost RemoveFromRailBaseStation(TileArea ta, SmallVector<T *, 4> &affected_stations, DoCommandFlag flags, Money removal_cost, bool keep_rail) +CommandCost RemoveFromRailBaseStation(TileArea ta, std::vector<T *> &affected_stations, DoCommandFlag flags, Money removal_cost, bool keep_rail) { /* Count of the number of tiles removed */ int quantity = 0; @@ -1660,7 +1660,7 @@ CommandCost CmdRemoveFromRailStation(TileIndex start, DoCommandFlag flags, uint3 if (start >= MapSize() || end >= MapSize()) return CMD_ERROR; TileArea ta(start, end); - SmallVector<Station *, 4> affected_stations; + std::vector<Station *> affected_stations; CommandCost ret = RemoveFromRailBaseStation(ta, affected_stations, flags, _price[PR_CLEAR_STATION_RAIL], HasBit(p2, 0)); if (ret.Failed()) return ret; @@ -1694,7 +1694,7 @@ CommandCost CmdRemoveFromRailWaypoint(TileIndex start, DoCommandFlag flags, uint if (start >= MapSize() || end >= MapSize()) return CMD_ERROR; TileArea ta(start, end); - SmallVector<Waypoint *, 4> affected_stations; + std::vector<Waypoint *> affected_stations; return RemoveFromRailBaseStation(ta, affected_stations, flags, _price[PR_CLEAR_WAYPOINT_RAIL], HasBit(p2, 0)); } @@ -1727,7 +1727,7 @@ CommandCost RemoveRailStation(T *st, DoCommandFlag flags, Money removal_cost) TILE_AREA_LOOP(tile, ta) { /* only remove tiles that are actually train station tiles */ if (st->TileBelongsToRailStation(tile)) { - SmallVector<T*, 4> affected_stations; // dummy + std::vector<T*> affected_stations; // dummy CommandCost ret = RemoveFromRailBaseStation(TileArea(tile, 1, 1), affected_stations, flags, removal_cost, false); if (ret.Failed()) return ret; cost.AddCost(ret); @@ -3521,7 +3521,7 @@ void DeleteStaleLinks(Station *from) /* Have all vehicles refresh their next hops before deciding to * remove the node. */ OrderList *l; - SmallVector<Vehicle *, 32> vehicles; + std::vector<Vehicle *> vehicles; FOR_ALL_ORDER_LISTS(l) { bool found_from = false; bool found_to = false; diff --git a/src/station_gui.cpp b/src/station_gui.cpp index 98ac80df4..92c186a2e 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -2116,8 +2116,8 @@ struct TileAndStation { StationID station; ///< StationID }; -static SmallVector<TileAndStation, 8> _deleted_stations_nearby; -static SmallVector<StationID, 8> _stations_nearby_list; +static std::vector<TileAndStation> _deleted_stations_nearby; +static std::vector<StationID> _stations_nearby_list; /** * Add station on this tile to _stations_nearby_list if it's fully within the diff --git a/src/strgen/strgen_base.cpp b/src/strgen/strgen_base.cpp index 6c835782c..f0dc03aa0 100644 --- a/src/strgen/strgen_base.cpp +++ b/src/strgen/strgen_base.cpp @@ -235,7 +235,7 @@ static ParsedCommandStruct _cur_pcs; static int _cur_argidx; /** The buffer for writing a single string. */ -struct Buffer : SmallVector<byte, 256> { +struct Buffer : std::vector<byte> { /** * Convenience method for adding a byte. * @param value The value to add. diff --git a/src/string.cpp b/src/string.cpp index 72254a877..7c16489bf 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -624,8 +624,8 @@ class IcuStringIterator : public StringIterator icu::BreakIterator *char_itr; ///< ICU iterator for characters. icu::BreakIterator *word_itr; ///< ICU iterator for words. - SmallVector<UChar, 32> utf16_str; ///< UTF-16 copy of the string. - SmallVector<size_t, 32> utf16_to_utf8; ///< Mapping from UTF-16 code point position to index in the UTF-8 source string. + std::vector<UChar> utf16_str; ///< UTF-16 copy of the string. + std::vector<size_t> utf16_to_utf8; ///< Mapping from UTF-16 code point position to index in the UTF-8 source string. public: IcuStringIterator() : char_itr(NULL), word_itr(NULL) diff --git a/src/stringfilter_type.h b/src/stringfilter_type.h index 4dad55aaa..0a4a464c7 100644 --- a/src/stringfilter_type.h +++ b/src/stringfilter_type.h @@ -39,7 +39,7 @@ private: }; const char *filter_buffer; ///< Parsed filter string. Words separated by 0. - SmallVector<WordState, 4> word_index; ///< Word index and filter state. + std::vector<WordState> word_index; ///< Word index and filter state. uint word_matches; ///< Summary of filter state: Number of words matched. const bool *case_sensitive; ///< Match case-sensitively (usually a static variable). diff --git a/src/subsidy.cpp b/src/subsidy.cpp index a61d6f1ce..2b851048b 100644 --- a/src/subsidy.cpp +++ b/src/subsidy.cpp @@ -564,7 +564,7 @@ bool CheckSubsidised(CargoID cargo_type, CompanyID company, SourceType src_type, /* Remember all towns near this station (at least one house in its catchment radius) * which are destination of subsidised path. Do that only if needed */ - SmallVector<const Town *, 2> towns_near; + std::vector<const Town *> towns_near; if (!st->rect.IsEmpty()) { Subsidy *s; FOR_ALL_SUBSIDIES(s) { diff --git a/src/texteff.cpp b/src/texteff.cpp index 6827d980f..5e8c74985 100644 --- a/src/texteff.cpp +++ b/src/texteff.cpp @@ -37,7 +37,7 @@ struct TextEffect : public ViewportSign { } }; -static SmallVector<struct TextEffect, 32> _text_effects; ///< Text effects are stored there +static std::vector<struct TextEffect> _text_effects; ///< Text effects are stored there /* Text Effects */ TextEffectID AddTextEffect(StringID msg, int center, int y, uint8 duration, TextEffectMode mode) diff --git a/src/textfile_gui.h b/src/textfile_gui.h index b7bcb2db7..b572fe09c 100644 --- a/src/textfile_gui.h +++ b/src/textfile_gui.h @@ -21,12 +21,12 @@ const char *GetTextfile(TextfileType type, Subdirectory dir, const char *filenam /** Window for displaying a textfile */ struct TextfileWindow : public Window, MissingGlyphSearcher { - TextfileType file_type; ///< Type of textfile to view. - Scrollbar *vscroll; ///< Vertical scrollbar. - Scrollbar *hscroll; ///< Horizontal scrollbar. - char *text; ///< Lines of text from the NewGRF's textfile. - SmallVector<const char *, 64> lines; ///< #text, split into lines in a table with lines. - uint search_iterator; ///< Iterator for the font check search. + TextfileType file_type; ///< Type of textfile to view. + Scrollbar *vscroll; ///< Vertical scrollbar. + Scrollbar *hscroll; ///< Horizontal scrollbar. + char *text; ///< Lines of text from the NewGRF's textfile. + std::vector<const char *> lines; ///< #text, split into lines in a table with lines. + uint search_iterator; ///< Iterator for the font check search. static const int TOP_SPACING = WD_FRAMETEXT_TOP; ///< Additional spacing at the top of the #WID_TF_BACKGROUND widget. static const int BOTTOM_SPACING = WD_FRAMETEXT_BOTTOM; ///< Additional spacing at the bottom of the #WID_TF_BACKGROUND widget. diff --git a/src/timetable_cmd.cpp b/src/timetable_cmd.cpp index 7e718c717..6524260ff 100644 --- a/src/timetable_cmd.cpp +++ b/src/timetable_cmd.cpp @@ -281,7 +281,7 @@ CommandCost CmdSetTimetableStart(TileIndex tile, DoCommandFlag flags, uint32 p1, if (timetable_all && !v->orders.list->IsCompleteTimetable()) return CMD_ERROR; if (flags & DC_EXEC) { - SmallVector<Vehicle *, 8> vehs; + std::vector<Vehicle *> vehs; if (timetable_all) { for (Vehicle *w = v->orders.list->GetFirstSharedVehicle(); w != NULL; w = w->NextShared()) { diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 6ce113184..008d51557 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -814,7 +814,7 @@ static Train *FindGoodVehiclePos(const Train *src) } /** Helper type for lists/vectors of trains */ -typedef SmallVector<Train *, 16> TrainList; +typedef std::vector<Train *> TrainList; /** * Make a backup of a train into a train list. diff --git a/src/train_gui.cpp b/src/train_gui.cpp index 427d45dea..31b7a2ec0 100644 --- a/src/train_gui.cpp +++ b/src/train_gui.cpp @@ -186,7 +186,7 @@ static const uint TRAIN_DETAILS_MIN_INDENT = 32; ///< Minimum indent level in th static const uint TRAIN_DETAILS_MAX_INDENT = 72; ///< Maximum indent level in the train details window; wider than this and we start on a new line /** Container for the cargo summary information. */ -typedef SmallVector<CargoSummaryItem, 2> CargoSummary; +typedef std::vector<CargoSummaryItem> CargoSummary; /** Reused container of cargo details */ static CargoSummary _cargo_summary; diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index 872c9458c..919173ac1 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -346,8 +346,7 @@ static CommandCost RefitVehicle(Vehicle *v, bool only_this, uint8 num_vehicles, v = v->First(); } - static SmallVector<RefitResult, 16> refit_result; - refit_result.clear(); + std::vector<RefitResult> refit_result; v->InvalidateNewGRFCacheOfChain(); byte actual_subtype = new_subtype; diff --git a/src/vehicle_func.h b/src/vehicle_func.h index 17ec9e28d..b4e1c0074 100644 --- a/src/vehicle_func.h +++ b/src/vehicle_func.h @@ -175,7 +175,7 @@ bool CanVehicleUseStation(const Vehicle *v, const struct Station *st); void ReleaseDisastersTargetingVehicle(VehicleID vehicle); -typedef SmallVector<VehicleID, 2> VehicleSet; +typedef std::vector<VehicleID> VehicleSet; void GetVehicleSet(VehicleSet &set, Vehicle *v, uint8 num_vehicles); void CheckCargoCapacity(Vehicle *v); diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index 9b6c68a36..34fcdc159 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -233,7 +233,7 @@ byte GetBestFittingSubType(Vehicle *v_from, Vehicle *v_for, CargoID dest_cargo_t v_for = v_for->GetFirstEnginePart(); /* Create a list of subtypes used by the various parts of v_for */ - static SmallVector<StringID, 4> subtypes; + static std::vector<StringID> subtypes; subtypes.clear(); for (; v_from != NULL; v_from = v_from->HasArticulatedPart() ? v_from->GetNextArticulatedPart() : NULL) { const Engine *e_from = v_from->GetEngine(); @@ -317,7 +317,7 @@ struct RefitOption { } }; -typedef SmallVector<RefitOption, 32> SubtypeList; ///< List of refit subtypes associated to a cargo. +typedef std::vector<RefitOption> SubtypeList; ///< List of refit subtypes associated to a cargo. /** * Draw the list of available refit options for a consist and highlight the selected refit option (if any). diff --git a/src/vehiclelist.h b/src/vehiclelist.h index 996c8c007..ed817b71c 100644 --- a/src/vehiclelist.h +++ b/src/vehiclelist.h @@ -52,7 +52,7 @@ struct VehicleListIdentifier { }; /** A list of vehicles. */ -typedef SmallVector<const Vehicle *, 32> VehicleList; +typedef std::vector<const Vehicle *> VehicleList; bool GenerateVehicleSortList(VehicleList *list, const VehicleListIdentifier &identifier); void BuildDepotVehicleList(VehicleType type, TileIndex tile, VehicleList *engine_list, VehicleList *wagon_list, bool individual_wagons = false); diff --git a/src/viewport.cpp b/src/viewport.cpp index 892e94d60..4c9507bca 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -153,10 +153,10 @@ enum SpriteCombineMode { SPRITE_COMBINE_ACTIVE, ///< %Sprite combining is active. #AddSortableSpriteToDraw outputs child sprites. }; -typedef SmallVector<TileSpriteToDraw, 64> TileSpriteToDrawVector; -typedef SmallVector<StringSpriteToDraw, 4> StringSpriteToDrawVector; -typedef SmallVector<ParentSpriteToDraw, 64> ParentSpriteToDrawVector; -typedef SmallVector<ChildScreenSpriteToDraw, 16> ChildScreenSpriteToDrawVector; +typedef std::vector<TileSpriteToDraw> TileSpriteToDrawVector; +typedef std::vector<StringSpriteToDraw> StringSpriteToDrawVector; +typedef std::vector<ParentSpriteToDraw> ParentSpriteToDrawVector; +typedef std::vector<ChildScreenSpriteToDraw> ChildScreenSpriteToDrawVector; /** Data structure storing rendering information */ struct ViewportDrawer { diff --git a/src/viewport_sprite_sorter.h b/src/viewport_sprite_sorter.h index 324ece302..24241565e 100644 --- a/src/viewport_sprite_sorter.h +++ b/src/viewport_sprite_sorter.h @@ -41,7 +41,7 @@ struct ParentSpriteToDraw { bool comparison_done; ///< Used during sprite sorting: true if sprite has been compared with all other sprites }; -typedef SmallVector<ParentSpriteToDraw*, 64> ParentSpriteToSortVector; +typedef std::vector<ParentSpriteToDraw*> ParentSpriteToSortVector; /** Type for method for checking whether a viewport sprite sorter exists. */ typedef bool (*VpSorterChecker)(); diff --git a/src/window.cpp b/src/window.cpp index 9366b92eb..891eafb5e 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -85,7 +85,7 @@ SpecialMouseMode _special_mouse_mode; ///< Mode of the mouse. * List of all WindowDescs. * This is a pointer to ensure initialisation order with the various static WindowDesc instances. */ -static SmallVector<WindowDesc*, 16> *_window_descs = NULL; +static std::vector<WindowDesc*> *_window_descs = NULL; /** Config file to store WindowDesc */ char *_windows_file; @@ -108,7 +108,7 @@ WindowDesc::WindowDesc(WindowPosition def_pos, const char *ini_key, int16 def_wi default_width_trad(def_width_trad), default_height_trad(def_height_trad) { - if (_window_descs == NULL) _window_descs = new SmallVector<WindowDesc*, 16>(); + if (_window_descs == NULL) _window_descs = new std::vector<WindowDesc*>(); _window_descs->push_back(this); } diff --git a/src/window_gui.h b/src/window_gui.h index b2bba675b..63793b0ef 100644 --- a/src/window_gui.h +++ b/src/window_gui.h @@ -281,7 +281,7 @@ protected: void InitializePositionSize(int x, int y, int min_width, int min_height); virtual void FindWindowPlacementAndResize(int def_width, int def_height); - SmallVector<int, 4> scheduled_invalidation_data; ///< Data of scheduled OnInvalidateData() calls. + std::vector<int> scheduled_invalidation_data; ///< Data of scheduled OnInvalidateData() calls. public: Window(WindowDesc *desc); |