Commits

Alex Szpakowski committed 0f09f6c

Using auto for some iterators for less dense-looking code

Comments (0)

Files changed (5)

src/modules/audio/openal/Pool.cpp

 	bool p = false;
 	{
 		thread::Lock lock(mutex);
-		for (std::map<Source *, ALuint>::iterator i = playing.begin(); i != playing.end(); i++)
+		for (auto i = playing.begin(); i != playing.end(); i++)
 		{
 			if (i->first == s)
 				p = true;
 void Pool::stop()
 {
 	thread::Lock lock(mutex);
-	for (std::map<Source *, ALuint>::iterator i = playing.begin(); i != playing.end(); i++)
+	for (auto i = playing.begin(); i != playing.end(); i++)
 	{
 		i->first->stopAtomic();
 		i->first->release();
 void Pool::pause()
 {
 	thread::Lock lock(mutex);
-	for (std::map<Source *, ALuint>::iterator i = playing.begin(); i != playing.end(); i++)
+	for (auto i = playing.begin(); i != playing.end(); i++)
 		i->first->pauseAtomic();
 }
 
 void Pool::resume()
 {
 	thread::Lock lock(mutex);
-	for (std::map<Source *, ALuint>::iterator i = playing.begin(); i != playing.end(); i++)
+	for (auto i = playing.begin(); i != playing.end(); i++)
 		i->first->resumeAtomic();
 }
 
 void Pool::rewind()
 {
 	thread::Lock lock(mutex);
-	for (std::map<Source *, ALuint>::iterator i = playing.begin(); i != playing.end(); i++)
+	for (auto i = playing.begin(); i != playing.end(); i++)
 		i->first->rewindAtomic();
 }
 

src/modules/graphics/opengl/Font.cpp

 
 Font::Glyph *Font::findGlyph(uint32 glyph)
 {
-	std::map<uint32, Glyph *>::const_iterator it = glyphs.find(glyph);
+	auto it = glyphs.find(glyph);
 
 	if (it != glyphs.end())
 		return it->second;
 {
 	filter = f;
 
-	std::vector<GLuint>::const_iterator it;
-	for (it = textures.begin(); it != textures.end(); ++it)
+	for (auto it = textures.begin(); it != textures.end(); ++it)
 	{
 		gl.bindTexture(*it);
 		filter.anisotropy = gl.setTextureFilter(f);

src/modules/graphics/opengl/Shader.cpp

 	if (activeTextureUnits[textureunit-1] == 0)
 		++textureCounters[textureunit-1];
 
-	// store texture id so it can be re-bound to the proper texture unit when necessary
+	// store texture id so it can be re-bound to the proper texture unit later
 	activeTextureUnits[textureunit-1] = texture;
 }
 
 
 int Shader::getTextureUnit(const std::string &name)
 {
-	std::map<std::string, GLint>::const_iterator it = textureUnitPool.find(name);
+	auto it = textureUnitPool.find(name);
 
 	if (it != textureUnitPool.end())
 		return it->second;
 	int textureunit = 1;
 
 	// prefer texture units which are unused by all other shaders
-	std::vector<int>::iterator nextfreeunit = std::find(textureCounters.begin(), textureCounters.end(), 0);
+	auto freeunit_it = std::find(textureCounters.begin(), textureCounters.end(), 0);
 
-	if (nextfreeunit != textureCounters.end())
-		textureunit = std::distance(textureCounters.begin(), nextfreeunit) + 1; // we don't want to use unit 0
+	if (freeunit_it != textureCounters.end())
+	{
+		// we don't want to use unit 0
+		textureunit = std::distance(textureCounters.begin(), freeunit_it) + 1;
+	}
 	else
 	{
 		// no completely unused texture units exist, try to use next free slot in our own list
-		std::vector<GLuint>::iterator nexttexunit = std::find(activeTextureUnits.begin(), activeTextureUnits.end(), 0);
+		auto nextunit_it = std::find(activeTextureUnits.begin(), activeTextureUnits.end(), 0);
 
-		if (nexttexunit == activeTextureUnits.end())
+		if (nextunit_it == activeTextureUnits.end())
 			throw love::Exception("No more texture units available for shader.");
 
-		textureunit = std::distance(activeTextureUnits.begin(), nexttexunit) + 1; // we don't want to use unit 0
+		// we don't want to use unit 0
+		textureunit = std::distance(activeTextureUnits.begin(), nextunit_it) + 1;
 	}
 
 	textureUnitPool[name] = textureunit;

src/modules/joystick/sdl/JoystickModule.cpp

 JoystickModule::~JoystickModule()
 {
 	// Close any open Joysticks.
-	std::list<joystick::Joystick *>::iterator it;
-	for (it = joysticks.begin(); it != joysticks.end(); ++it)
+	for (auto it = joysticks.begin(); it != joysticks.end(); ++it)
 	{
 		(*it)->close();
 		(*it)->release();
 	joystick::Joystick *joystick = 0;
 	bool reused = false;
 
-	std::list<joystick::Joystick *>::iterator it;
-	for (it = joysticks.begin(); it != joysticks.end(); ++it)
+	for (auto it = joysticks.begin(); it != joysticks.end(); ++it)
 	{
 		// Try to re-use a disconnected Joystick with the same GUID.
 		if (!(*it)->isConnected() && (*it)->getGUID() == guidstr)
 
 	// Make sure multiple instances of the same physical joystick aren't added
 	// to the active list.
-	for (size_t i = 0; i < activeSticks.size(); i++)
+	for (auto it = activeSticks.begin(); it != activeSticks.end(); ++it)
 	{
-		if (joystick->getHandle() == activeSticks[i]->getHandle())
+		if (joystick->getHandle() == (*it)->getHandle())
 		{
 			joystick->close();
 
+			// If we just created the stick, remove it since it's a duplicate.
 			if (!reused)
 			{
 				joysticks.remove(joystick);
 				joystick->release();
 			}
 
-			return activeSticks[i];
+			return *it;
 		}
 	}
 
 		return;
 
 	// Close the Joystick and remove it from the active joystick list.
-	std::vector<joystick::Joystick *>::iterator it = std::find(activeSticks.begin(), activeSticks.end(), joystick);
+	auto it = std::find(activeSticks.begin(), activeSticks.end(), joystick);
 	if (it != activeSticks.end())
 	{
 		(*it)->close();
 		if (guid.compare(getDeviceGUID(d_index)) != 0)
 			continue;
 
-		std::vector<love::joystick::Joystick *>::const_iterator it;
-		for (it = activeSticks.begin(); it != activeSticks.end(); ++it)
+		for (auto it = activeSticks.begin(); it != activeSticks.end(); ++it)
 		{
 			if ((*it)->isGamepad() || guid.compare((*it)->getGUID()) != 0)
 				continue;

src/modules/physics/box2d/World.cpp

 	world->Step(dt, 8, 6);
 
 	// Destroy all objects marked during the time step.
-	for (std::vector<Body *>::iterator i = destructBodies.begin(); i < destructBodies.end(); i++)
+	for (auto i = destructBodies.begin(); i < destructBodies.end(); i++)
 	{
 		Body *b = *i;
 		if (b->body != 0) b->destroy();
 		// Release for reference in vector.
 		b->release();
 	}
-	for (std::vector<Fixture *>::iterator i = destructFixtures.begin(); i < destructFixtures.end(); i++)
+	for (auto i = destructFixtures.begin(); i < destructFixtures.end(); i++)
 	{
 		Fixture *f = *i;
 		if (f->isValid()) f->destroy();
 		// Release for reference in vector.
 		f->release();
 	}
-	for (std::vector<Joint *>::iterator i = destructJoints.begin(); i < destructJoints.end(); i++)
+	for (auto i = destructJoints.begin(); i < destructJoints.end(); i++)
 	{
 		Joint *j = *i;
 		if (j->isValid()) j->destroyJoint();