aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Blot <loic.blot@unix-experience.fr>2015-03-04 17:18:57 +0100
committerLoic Blot <loic.blot@unix-experience.fr>2015-03-04 17:22:37 +0100
commitcd684497c28a93e1bca4fbe889eef2d6d5c59289 (patch)
tree20fd3eb2e9e3605803204140bfe2352018049c0d
parent06f328207fa0a3e606992d3569b061b335eb0f48 (diff)
downloadminetest-cd684497c28a93e1bca4fbe889eef2d6d5c59289.tar.gz
minetest-cd684497c28a93e1bca4fbe889eef2d6d5c59289.tar.bz2
minetest-cd684497c28a93e1bca4fbe889eef2d6d5c59289.zip
Use std::vector instead of std::list in StaticObjectList and MutexedMap::getValues()
-rw-r--r--src/environment.cpp5
-rw-r--r--src/itemdef.cpp4
-rw-r--r--src/staticobject.cpp8
-rw-r--r--src/staticobject.h4
-rw-r--r--src/util/container.h6
5 files changed, 12 insertions, 15 deletions
diff --git a/src/environment.cpp b/src/environment.cpp
index 0a3d36019..9daa9e042 100644
--- a/src/environment.cpp
+++ b/src/environment.cpp
@@ -1675,12 +1675,13 @@ void ServerEnvironment::activateObjects(MapBlock *block, u32 dtime_s)
// Ignore if no stored objects (to not set changed flag)
if(block->m_static_objects.m_stored.empty())
return;
+
verbosestream<<"ServerEnvironment::activateObjects(): "
<<"activating objects of block "<<PP(block->getPos())
<<" ("<<block->m_static_objects.m_stored.size()
<<" objects)"<<std::endl;
bool large_amount = (block->m_static_objects.m_stored.size() > g_settings->getU16("max_objects_per_block"));
- if(large_amount){
+ if (large_amount) {
errorstream<<"suspiciously large amount of objects detected: "
<<block->m_static_objects.m_stored.size()<<" in "
<<PP(block->getPos())
@@ -1695,7 +1696,7 @@ void ServerEnvironment::activateObjects(MapBlock *block, u32 dtime_s)
// Activate stored objects
std::vector<StaticObject> new_stored;
- for(std::list<StaticObject>::iterator
+ for (std::vector<StaticObject>::iterator
i = block->m_static_objects.m_stored.begin();
i != block->m_static_objects.m_stored.end(); ++i) {
StaticObject &s_obj = *i;
diff --git a/src/itemdef.cpp b/src/itemdef.cpp
index d356b96c5..3b4d2596a 100644
--- a/src/itemdef.cpp
+++ b/src/itemdef.cpp
@@ -249,8 +249,8 @@ public:
virtual ~CItemDefManager()
{
#ifndef SERVER
- const std::list<ClientCached*> &values = m_clientcached.getValues();
- for(std::list<ClientCached*>::const_iterator
+ const std::vector<ClientCached*> &values = m_clientcached.getValues();
+ for(std::vector<ClientCached*>::const_iterator
i = values.begin(); i != values.end(); ++i)
{
ClientCached *cc = *i;
diff --git a/src/staticobject.cpp b/src/staticobject.cpp
index 16d98605b..2e7d45a47 100644
--- a/src/staticobject.cpp
+++ b/src/staticobject.cpp
@@ -47,10 +47,9 @@ void StaticObjectList::serialize(std::ostream &os)
// count
u16 count = m_stored.size() + m_active.size();
writeU16(os, count);
- for(std::list<StaticObject>::iterator
+ for(std::vector<StaticObject>::iterator
i = m_stored.begin();
- i != m_stored.end(); ++i)
- {
+ i != m_stored.end(); ++i) {
StaticObject &s_obj = *i;
s_obj.serialize(os);
}
@@ -68,8 +67,7 @@ void StaticObjectList::deSerialize(std::istream &is)
u8 version = readU8(is);
// count
u16 count = readU16(is);
- for(u16 i=0; i<count; i++)
- {
+ for(u16 i = 0; i < count; i++) {
StaticObject s_obj;
s_obj.deSerialize(is, version);
m_stored.push_back(s_obj);
diff --git a/src/staticobject.h b/src/staticobject.h
index 575c15b18..4918a1466 100644
--- a/src/staticobject.h
+++ b/src/staticobject.h
@@ -23,7 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "irrlichttypes_bloated.h"
#include <string>
#include <sstream>
-#include <list>
+#include <vector>
#include <map>
#include "debug.h"
@@ -95,7 +95,7 @@ public:
from m_stored and inserted to m_active.
The caller directly manipulates these containers.
*/
- std::list<StaticObject> m_stored;
+ std::vector<StaticObject> m_stored;
std::map<u16, StaticObject> m_active;
private:
diff --git a/src/util/container.h b/src/util/container.h
index 5e9f13d88..3ffd885e4 100644
--- a/src/util/container.h
+++ b/src/util/container.h
@@ -77,7 +77,6 @@ private:
std::queue<Value> m_queue;
};
-#if 1
template<typename Key, typename Value>
class MutexedMap
{
@@ -109,9 +108,9 @@ public:
return true;
}
- std::list<Value> getValues()
+ std::vector<Value> getValues()
{
- std::list<Value> result;
+ std::vector<Value> result;
for(typename std::map<Key, Value>::iterator
i = m_values.begin();
i != m_values.end(); ++i){
@@ -129,7 +128,6 @@ private:
std::map<Key, Value> m_values;
JMutex m_mutex;
};
-#endif
/*
Generates ids for comparable values.