Changeset - r23531:603769aaf687
[Not reviewed]
master
0 8 0
Henry Wilson - 6 years ago 2018-09-25 21:01:05
m3henry@googlemail.com
Codechange: Replaced SmallVector::Erase() with std::vector::erase()
8 files changed with 22 insertions and 35 deletions:
0 comments (0 inline, 0 general)
src/core/smallmap_type.hpp
Show inline comments
 
@@ -115,7 +115,8 @@ struct SmallMap : SmallVector<SmallPair<
 
	inline void Erase(Pair *pair)
 
	{
 
		assert(pair >= this->Begin() && pair < this->End());
 
		SmallVector<Pair, S>::Erase(pair);
 
		auto distance = pair - std::vector<Pair>::data();
 
		std::vector<Pair>::erase(std::vector<Pair>::begin() + distance);
 
	}
 

	
 
	/**
 
@@ -126,11 +127,10 @@ struct SmallMap : SmallVector<SmallPair<
 
	 */
 
	inline bool Erase(const T &key)
 
	{
 
		Pair *pair = this->Find(key);
 
		if (pair == this->End())
 
			return false;
 
		auto pair = std::find(this->begin(), this->end(), key);
 
		if (pair == this->end()) return false;
 

	
 
		SmallVector<Pair, S>::Erase(pair);
 
		std::vector<Pair>::erase(pair);
 
		return true;
 
	}
 

	
src/core/smallvec_type.hpp
Show inline comments
 
@@ -104,18 +104,6 @@ public:
 
	}
 

	
 
	/**
 
	 * Removes given item from this vector
 
	 * @param item item to remove
 
	 * @note it has to be pointer to item in this map. It is overwritten by the last item.
 
	 */
 
	inline void Erase(T *item)
 
	{
 
		assert(item >= this->Begin() && item < this->End());
 
		*item = std::vector<T>::back();
 
		std::vector<T>::pop_back();
 
	}
 

	
 
	/**
 
	 * Tests whether a item is present in the vector, and appends it to the end if not.
 
	 * The '!=' operator of T is used for comparison.
 
	 * @param item Item to test for
src/network/core/tcp_connect.cpp
Show inline comments
 
@@ -66,22 +66,22 @@ void TCPConnecter::Connect()
 
 */
 
/* static */ void TCPConnecter::CheckCallbacks()
 
{
 
	for (TCPConnecter **iter = _tcp_connecters.Begin(); iter < _tcp_connecters.End(); /* nothing */) {
 
	for (auto iter = _tcp_connecters.begin(); iter < _tcp_connecters.end(); /* nothing */) {
 
		TCPConnecter *cur = *iter;
 
		if ((cur->connected || cur->aborted) && cur->killed) {
 
			_tcp_connecters.Erase(iter);
 
			iter = _tcp_connecters.erase(iter);
 
			if (cur->sock != INVALID_SOCKET) closesocket(cur->sock);
 
			delete cur;
 
			continue;
 
		}
 
		if (cur->connected) {
 
			_tcp_connecters.Erase(iter);
 
			iter = _tcp_connecters.erase(iter);
 
			cur->OnConnect(cur->sock);
 
			delete cur;
 
			continue;
 
		}
 
		if (cur->aborted) {
 
			_tcp_connecters.Erase(iter);
 
			iter = _tcp_connecters.erase(iter);
 
			cur->OnFailure();
 
			delete cur;
 
			continue;
src/network/core/tcp_http.cpp
Show inline comments
 
@@ -311,7 +311,7 @@ int NetworkHTTPSocketHandler::Receive()
 
	int n = select(FD_SETSIZE, &read_fd, NULL, NULL, &tv);
 
	if (n == -1) return;
 

	
 
	for (NetworkHTTPSocketHandler **iter = _http_connections.Begin(); iter < _http_connections.End(); /* nothing */) {
 
	for (auto iter = _http_connections.begin(); iter < _http_connections.end(); /* nothing */) {
 
		NetworkHTTPSocketHandler *cur = *iter;
 

	
 
		if (FD_ISSET(cur->sock, &read_fd)) {
 
@@ -321,7 +321,7 @@ int NetworkHTTPSocketHandler::Receive()
 
			if (ret <= 0) {
 
				/* Then... the connection can be closed */
 
				cur->CloseConnection();
 
				_http_connections.Erase(iter);
 
				iter = _http_connections.erase(iter);
 
				delete cur;
 
				continue;
 
			}
src/newgrf_debug_gui.cpp
Show inline comments
 
@@ -986,7 +986,7 @@ struct SpriteAlignerWindow : Window {
 

	
 
			case WID_SA_RESET_REL:
 
				/* Reset the starting offsets for the current sprite. */
 
				this->offs_start_map.Erase(this->current_sprite);
 
				this->offs_start_map.erase(this->offs_start_map.begin() + this->current_sprite);
 
				this->SetDirty();
 
				break;
 
		}
src/sortlist_type.h
Show inline comments
 
@@ -337,13 +337,12 @@ public:
 
		if (!(this->flags & VL_FILTER)) return false;
 

	
 
		bool changed = false;
 
		for (uint iter = 0; iter < std::vector<T>::size();) {
 
			T *item = &std::vector<T>::operator[](iter);
 
			if (!decide(item, filter_data)) {
 
				this->Erase(item);
 
		for (auto it = std::vector<T>::begin(); it != std::vector<T>::end(); /* Nothing */) {
 
			if (!decide(&*it, filter_data)) {
 
				it = std::vector<T>::erase(it);
 
				changed = true;
 
			} else {
 
				iter++;
 
				it++;
 
			}
 
		}
 

	
src/station_cmd.cpp
Show inline comments
 
@@ -3541,8 +3541,8 @@ void DeleteStaleLinks(Station *from)
 
						*(vehicles.Append()) = l->GetFirstSharedVehicle();
 
					}
 

	
 
					Vehicle **iter = vehicles.Begin();
 
					while (iter != vehicles.End()) {
 
					auto iter = vehicles.begin();
 
					while (iter != vehicles.end()) {
 
						Vehicle *v = *iter;
 

	
 
						LinkRefresher::Run(v, false); // Don't allow merging. Otherwise lg might get deleted.
 
@@ -3556,10 +3556,10 @@ void DeleteStaleLinks(Station *from)
 
							*iter = next_shared;
 
							++iter;
 
						} else {
 
							vehicles.Erase(iter);
 
							iter = vehicles.erase(iter);
 
						}
 

	
 
						if (iter == vehicles.End()) iter = vehicles.Begin();
 
						if (iter == vehicles.end()) iter = vehicles.begin();
 
					}
 
				}
 

	
src/station_gui.cpp
Show inline comments
 
@@ -2133,10 +2133,10 @@ static bool AddNearbyStation(TileIndex t
 

	
 
	/* First check if there were deleted stations here */
 
	for (uint i = 0; i < _deleted_stations_nearby.size(); i++) {
 
		TileAndStation *ts = _deleted_stations_nearby.data() + i;
 
		auto ts = _deleted_stations_nearby.begin() + i;
 
		if (ts->tile == tile) {
 
			*_stations_nearby_list.Append() = _deleted_stations_nearby[i].station;
 
			_deleted_stations_nearby.Erase(ts);
 
			_deleted_stations_nearby.erase(ts);
 
			i--;
 
		}
 
	}
0 comments (0 inline, 0 general)