Modernize various files (part 2)
authorLoic Blot <loic.blot@unix-experience.fr>
Fri, 18 Aug 2017 06:07:59 +0000 (08:07 +0200)
committerLoic Blot <loic.blot@unix-experience.fr>
Fri, 18 Aug 2017 06:07:59 +0000 (08:07 +0200)
* range-based for loops
* emplace_back instead of push_back
* code style
* C++ headers instead of C headers
* Default operators
* empty stl function

src/guiscalingfilter.h
src/httpfetch.h
src/hud.cpp
src/imagefilters.cpp
src/intlGUIEditBox.cpp
src/inventory.cpp
src/inventory.h
src/inventorymanager.cpp
src/inventorymanager.h
src/itemstackmetadata.cpp

index 7408ff5ebd85c767602ff956517012bc65b32be6..4661bf8daff3e4df3c4209392a29cec58cea1bb0 100644 (file)
@@ -46,5 +46,5 @@ video::ITexture *guiScalingImageButton(video::IVideoDriver *driver, video::IText
  */
 void draw2DImageFilterScaled(video::IVideoDriver *driver, video::ITexture *txr,
                const core::rect<s32> &destrect, const core::rect<s32> &srcrect,
-               const core::rect<s32> *cliprect = 0, video::SColor *const colors = 0,
+               const core::rect<s32> *cliprect = 0, const video::SColor *const colors = 0,
                bool usealpha = false);
index 2065768493fbaf07074bd3de5df6d745e2703a00..db43e3a4b8d400eaf6ffe81611ad69b07588a2eb 100644 (file)
@@ -76,7 +76,7 @@ struct HTTPFetchResult
        unsigned long caller = HTTPFETCH_DISCARD;
        unsigned long request_id = 0;
 
-       HTTPFetchResult() {}
+       HTTPFetchResult() = default;
 
        HTTPFetchResult(const HTTPFetchRequest &fetch_request)
            : caller(fetch_request.caller), request_id(fetch_request.request_id)
index 70903ce15e895422aba53b25d8043a270ef29d70..14e784a62621a6f387fb3f8cfebbc2c307a4752e 100644 (file)
@@ -55,8 +55,8 @@ Hud::Hud(gui::IGUIEnvironment *guienv, Client *client, LocalPlayer *player,
        m_hotbar_imagesize *= m_hud_scaling;
        m_padding = m_hotbar_imagesize / 12;
 
-       for (unsigned int i = 0; i < 4; i++)
-               hbar_colors[i] = video::SColor(255, 255, 255, 255);
+       for (auto &hbar_color : hbar_colors)
+               hbar_color = video::SColor(255, 255, 255, 255);
 
        tsrc = client->getTextureSource();
 
@@ -220,7 +220,7 @@ void Hud::drawItems(v2s32 upperleftpos, v2s32 screen_offset, s32 itemcount,
        // Store hotbar_image in member variable, used by drawItem()
        if (hotbar_image != player->hotbar_image) {
                hotbar_image = player->hotbar_image;
-               if (hotbar_image != "")
+               if (!hotbar_image.empty())
                        use_hotbar_image = tsrc->isKnownSourceImage(hotbar_image);
                else
                        use_hotbar_image = false;
@@ -229,7 +229,7 @@ void Hud::drawItems(v2s32 upperleftpos, v2s32 screen_offset, s32 itemcount,
        // Store hotbar_selected_image in member variable, used by drawItem()
        if (hotbar_selected_image != player->hotbar_selected_image) {
                hotbar_selected_image = player->hotbar_selected_image;
-               if (hotbar_selected_image != "")
+               if (!hotbar_selected_image.empty())
                        use_hotbar_selected_image = tsrc->isKnownSourceImage(hotbar_selected_image);
                else
                        use_hotbar_selected_image = false;
@@ -572,7 +572,7 @@ void Hud::updateSelectionMesh(const v3s16 &camera_offset)
                m_selection_mesh = NULL;
        }
 
-       if (!m_selection_boxes.size()) {
+       if (m_selection_boxes.empty()) {
                // No pointed object
                return;
        }
@@ -597,10 +597,8 @@ void Hud::updateSelectionMesh(const v3s16 &camera_offset)
        aabb3f halo_box(100.0, 100.0, 100.0, -100.0, -100.0, -100.0);
        m_halo_boxes.clear();
 
-       for (std::vector<aabb3f>::iterator
-                       i = m_selection_boxes.begin();
-                       i != m_selection_boxes.end(); ++i) {
-               halo_box.addInternalBox(*i);
+       for (const auto &selection_box : m_selection_boxes) {
+               halo_box.addInternalBox(selection_box);
        }
 
        m_halo_boxes.push_back(halo_box);
index b34027725a93728d6c54c6313efb357904811b97..dd029628f3926aeecd27655c8c4b5cf375c61dad 100644 (file)
@@ -18,7 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include "imagefilters.h"
 #include "util/numeric.h"
-#include <math.h>
+#include <cmath>
 
 /* Fill in RGB values for transparent pixels, to correct for odd colors
  * appearing at borders when blending.  This is because many PNG optimizers
index 2aacc72590acc3bf3fb30727021ee713a9b15bfc..671b37c5d3b591a2d4766fe7cb3a559eee3817c5 100644 (file)
@@ -630,8 +630,7 @@ bool intlGUIEditBox::processKey(const SEvent& event)
                if ( !this->IsEnabled )
                        break;
 
-               if (Text.size())
-               {
+               if (!Text.empty()) {
                        core::stringw s;
 
                        if (MarkBegin != MarkEnd)
@@ -670,8 +669,7 @@ bool intlGUIEditBox::processKey(const SEvent& event)
                if ( !this->IsEnabled )
                        break;
 
-               if (Text.size() != 0)
-               {
+               if (!Text.empty()) {
                        core::stringw s;
 
                        if (MarkBegin != MarkEnd)
@@ -820,8 +818,7 @@ void intlGUIEditBox::draw()
                const bool prevOver = OverrideColorEnabled;
                const video::SColor prevColor = OverrideColor;
 
-               if (Text.size())
-               {
+               if (!Text.empty()) {
                        if (!IsEnabled && !OverrideColorEnabled)
                        {
                                OverrideColorEnabled = true;
@@ -908,7 +905,7 @@ void intlGUIEditBox::draw()
                                        // draw marked text
                                        s = txtLine->subString(lineStartPos, lineEndPos - lineStartPos);
 
-                                       if (s.size())
+                                       if (!s.empty())
                                                font->draw(s.c_str(), CurrentTextRect,
                                                        OverrideColorEnabled ? OverrideColor : skin->getColor(EGDC_HIGH_LIGHT_TEXT),
                                                        false, true, &localClipRect);
@@ -1057,24 +1054,22 @@ bool intlGUIEditBox::processMouse(const SEvent& event)
                else
                {
                        if (!AbsoluteClippingRect.isPointInside(
-                               core::position2d<s32>(event.MouseInput.X, event.MouseInput.Y)))
-                       {
+                               core::position2d<s32>(event.MouseInput.X, event.MouseInput.Y))) {
                                return false;
                        }
-                       else
-                       {
-                               // move cursor
-                               CursorPos = getCursorPos(event.MouseInput.X, event.MouseInput.Y);
 
-                s32 newMarkBegin = MarkBegin;
-                               if (!MouseMarking)
-                                       newMarkBegin = CursorPos;
 
-                               MouseMarking = true;
-                               setTextMarkers( newMarkBegin, CursorPos);
-                               calculateScrollPos();
-                               return true;
-                       }
+                       // move cursor
+                       CursorPos = getCursorPos(event.MouseInput.X, event.MouseInput.Y);
+
+                       s32 newMarkBegin = MarkBegin;
+                       if (!MouseMarking)
+                               newMarkBegin = CursorPos;
+
+                       MouseMarking = true;
+                       setTextMarkers( newMarkBegin, CursorPos);
+                       calculateScrollPos();
+                       return true;
                }
        default:
                break;
@@ -1185,8 +1180,7 @@ void intlGUIEditBox::breakText()
 
                if (c == L' ' || c == 0 || i == (size-1))
                {
-                       if (word.size())
-                       {
+                       if (!word.empty()) {
                                // here comes the next whitespace, look if
                                // we can break the last word to the next line.
                                s32 whitelgth = font->getDimension(whitespace.c_str()).Width;
@@ -1488,7 +1482,7 @@ void intlGUIEditBox::deserializeAttributes(io::IAttributes* in, io::SAttributeRe
        setAutoScroll(in->getAttributeAsBool("AutoScroll"));
        core::stringw ch = in->getAttributeAsStringW("PasswordChar");
 
-       if (!ch.size())
+       if (ch.empty())
                setPasswordBox(in->getAttributeAsBool("PasswordBox"));
        else
                setPasswordBox(in->getAttributeAsBool("PasswordBox"), ch[0]);
index 4da380a249b06f58700b3b895b1080c63093c851..82325997ee1cbc1151f84e354b9ea971927bb799 100644 (file)
@@ -35,11 +35,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 static content_t content_translate_from_19_to_internal(content_t c_from)
 {
-       for(u32 i=0; i<sizeof(trans_table_19)/sizeof(trans_table_19[0]); i++)
-       {
-               if(trans_table_19[i][1] == c_from)
-               {
-                       return trans_table_19[i][0];
+       for (const auto &tt : trans_table_19) {
+               if(tt[1] == c_from) {
+                       return tt[0];
                }
        }
        return c_from;
@@ -116,7 +114,7 @@ void ItemStack::deSerialize(std::istream &is, IItemDefManager *itemdef)
                NameIdMapping legacy_nimap;
                content_mapnode_get_name_id_mapping(&legacy_nimap);
                legacy_nimap.getName(material, name);
-               if(name == "")
+               if(name.empty())
                        name = "unknown_block";
                if (itemdef)
                        name = itemdef->getAlias(name);
@@ -136,7 +134,7 @@ void ItemStack::deSerialize(std::istream &is, IItemDefManager *itemdef)
                NameIdMapping legacy_nimap;
                content_mapnode_get_name_id_mapping(&legacy_nimap);
                legacy_nimap.getName(material, name);
-               if(name == "")
+               if(name.empty())
                        name = "unknown_block";
                if (itemdef)
                        name = itemdef->getAlias(name);
@@ -207,21 +205,20 @@ void ItemStack::deSerialize(std::istream &is, IItemDefManager *itemdef)
                        // Read the count
                        std::string count_str;
                        std::getline(is, count_str, ' ');
-                       if(count_str.empty())
-                       {
+                       if (count_str.empty()) {
                                count = 1;
                                break;
                        }
-                       else
-                               count = stoi(count_str);
+
+                       count = stoi(count_str);
 
                        // Read the wear
                        std::string wear_str;
                        std::getline(is, wear_str, ' ');
                        if(wear_str.empty())
                                break;
-                       else
-                               wear = stoi(wear_str);
+
+                       wear = stoi(wear_str);
 
                        // Read metadata
                        metadata.deSerialize(is);
@@ -388,17 +385,12 @@ InventoryList::InventoryList(const std::string &name, u32 size, IItemDefManager
        clearItems();
 }
 
-InventoryList::~InventoryList()
-{
-}
-
 void InventoryList::clearItems()
 {
        m_items.clear();
 
-       for(u32 i=0; i<m_size; i++)
-       {
-               m_items.push_back(ItemStack());
+       for (u32 i=0; i < m_size; i++) {
+               m_items.emplace_back();
        }
 
        //setDirty(true);
@@ -427,15 +419,10 @@ void InventoryList::serialize(std::ostream &os) const
 
        os<<"Width "<<m_width<<"\n";
 
-       for(u32 i=0; i<m_items.size(); i++)
-       {
-               const ItemStack &item = m_items[i];
-               if(item.empty())
-               {
+       for (const auto &item : m_items) {
+               if (item.empty()) {
                        os<<"Empty";
-               }
-               else
-               {
+               } else {
                        os<<"Item ";
                        item.serialize(os);
                }
@@ -464,17 +451,16 @@ void InventoryList::deSerialize(std::istream &is)
                std::string name;
                std::getline(iss, name, ' ');
 
-               if(name == "EndInventoryList")
-               {
+               if (name == "EndInventoryList") {
                        break;
                }
+
                // This is a temporary backwards compatibility fix
-               else if(name == "end")
-               {
+               if (name == "end") {
                        break;
                }
-               else if(name == "Width")
-               {
+
+               if (name == "Width") {
                        iss >> m_width;
                        if (iss.fail())
                                throw SerializationError("incorrect width property");
@@ -551,9 +537,8 @@ u32 InventoryList::getWidth() const
 u32 InventoryList::getUsedSlots() const
 {
        u32 num = 0;
-       for(u32 i=0; i<m_items.size(); i++)
-       {
-               if(!m_items[i].empty())
+       for (const auto &m_item : m_items) {
+               if (!m_item.empty())
                        num++;
        }
        return num;
@@ -672,20 +657,17 @@ bool InventoryList::roomForItem(const ItemStack &item_) const
 bool InventoryList::containsItem(const ItemStack &item, bool match_meta) const
 {
        u32 count = item.count;
-       if(count == 0)
+       if (count == 0)
                return true;
-       for(std::vector<ItemStack>::const_reverse_iterator
-                       i = m_items.rbegin();
-                       i != m_items.rend(); ++i)
-       {
-               if(count == 0)
+
+       for (auto i = m_items.rbegin(); i != m_items.rend(); ++i) {
+               if (count == 0)
                        break;
-               if (i->name == item.name
-                               && (!match_meta || (i->metadata == item.metadata))) {
+               if (i->name == item.name && (!match_meta || (i->metadata == item.metadata))) {
                        if (i->count >= count)
                                return true;
-                       else
-                               count -= i->count;
+
+                       count -= i->count;
                }
        }
        return false;
@@ -694,15 +676,11 @@ bool InventoryList::containsItem(const ItemStack &item, bool match_meta) const
 ItemStack InventoryList::removeItem(const ItemStack &item)
 {
        ItemStack removed;
-       for(std::vector<ItemStack>::reverse_iterator
-                       i = m_items.rbegin();
-                       i != m_items.rend(); ++i)
-       {
-               if(i->name == item.name)
-               {
+       for (auto i = m_items.rbegin(); i != m_items.rend(); ++i) {
+               if (i->name == item.name) {
                        u32 still_to_remove = item.count - removed.count;
                        removed.addItem(i->takeItem(still_to_remove), m_itemdef);
-                       if(removed.count == item.count)
+                       if (removed.count == item.count)
                                break;
                }
        }
@@ -815,9 +793,8 @@ Inventory::~Inventory()
 void Inventory::clear()
 {
        m_dirty = true;
-       for(u32 i=0; i<m_lists.size(); i++)
-       {
-               delete m_lists[i];
+       for (auto &m_list : m_lists) {
+               delete m_list;
        }
        m_lists.clear();
 }
@@ -825,11 +802,8 @@ void Inventory::clear()
 void Inventory::clearContents()
 {
        m_dirty = true;
-       for(u32 i=0; i<m_lists.size(); i++)
-       {
-               InventoryList *list = m_lists[i];
-               for(u32 j=0; j<list->getSize(); j++)
-               {
+       for (InventoryList *list : m_lists) {
+               for (u32 j=0; j<list->getSize(); j++) {
                        list->deleteItem(j);
                }
        }
@@ -855,9 +829,8 @@ Inventory & Inventory::operator = (const Inventory &other)
                m_dirty = true;
                clear();
                m_itemdef = other.m_itemdef;
-               for(u32 i=0; i<other.m_lists.size(); i++)
-               {
-                       m_lists.push_back(new InventoryList(*other.m_lists[i]));
+               for (InventoryList *list : other.m_lists) {
+                       m_lists.push_back(new InventoryList(*list));
                }
        }
        return *this;
@@ -878,9 +851,7 @@ bool Inventory::operator == (const Inventory &other) const
 
 void Inventory::serialize(std::ostream &os) const
 {
-       for(u32 i=0; i<m_lists.size(); i++)
-       {
-               InventoryList *list = m_lists[i];
+       for (InventoryList *list : m_lists) {
                os<<"List "<<list->getName()<<" "<<list->getSize()<<"\n";
                list->serialize(os);
        }
@@ -902,17 +873,16 @@ void Inventory::deSerialize(std::istream &is)
                std::string name;
                std::getline(iss, name, ' ');
 
-               if(name == "EndInventory")
-               {
+               if (name == "EndInventory") {
                        break;
                }
+
                // This is a temporary backwards compatibility fix
-               else if(name == "end")
-               {
+               if (name == "end") {
                        break;
                }
-               else if(name == "List")
-               {
+
+               if (name == "List") {
                        std::string listname;
                        u32 listsize;
 
@@ -944,15 +914,14 @@ InventoryList * Inventory::addList(const std::string &name, u32 size)
                }
                return m_lists[i];
        }
-       else
-       {
-               //don't create list with invalid name
-               if (name.find(" ") != std::string::npos) return NULL;
 
-               InventoryList *list = new InventoryList(name, size, m_itemdef);
-               m_lists.push_back(list);
-               return list;
-       }
+
+       //don't create list with invalid name
+       if (name.find(' ') != std::string::npos) return NULL;
+
+       InventoryList *list = new InventoryList(name, size, m_itemdef);
+       m_lists.push_back(list);
+       return list;
 }
 
 InventoryList * Inventory::getList(const std::string &name)
@@ -966,9 +935,7 @@ InventoryList * Inventory::getList(const std::string &name)
 std::vector<const InventoryList*> Inventory::getLists()
 {
        std::vector<const InventoryList*> lists;
-       for(u32 i=0; i<m_lists.size(); i++)
-       {
-               InventoryList *list = m_lists[i];
+       for (auto list : m_lists) {
                lists.push_back(list);
        }
        return lists;
index c1126421333e06eea5bfe08d9865b2d32c9aeacc..aff0ce20fea4de7ca81ada6d6daf91a59ecedd95 100644 (file)
@@ -172,7 +172,7 @@ class InventoryList
 {
 public:
        InventoryList(const std::string &name, u32 size, IItemDefManager *itemdef);
-       ~InventoryList();
+       ~InventoryList() = default;
        void clearItems();
        void setSize(u32 newsize);
        void setWidth(u32 newWidth);
index 0d44e9cdab30aedc9411ff455139a7ec0424383c..d4315f7a47369523ad91cd88a58127195f5374b4 100644 (file)
@@ -774,17 +774,15 @@ void ICraftAction::apply(InventoryManager *mgr,
 
                // Add the new replacements to the list
                IItemDefManager *itemdef = gamedef->getItemDefManager();
-               for (std::vector<ItemStack>::iterator it = temp.begin();
-                               it != temp.end(); ++it) {
-                       for (std::vector<ItemStack>::iterator jt = output_replacements.begin();
-                                       jt != output_replacements.end(); ++jt) {
-                               if (it->name == jt->name) {
-                                       *it = jt->addItem(*it, itemdef);
-                                       if (it->empty())
+               for (auto &itemstack : temp) {
+                       for (auto &output_replacement : output_replacements) {
+                               if (itemstack.name == output_replacement.name) {
+                                       itemstack = output_replacement.addItem(itemstack, itemdef);
+                                       if (itemstack.empty())
                                                continue;
                                }
                        }
-                       output_replacements.push_back(*it);
+                       output_replacements.push_back(itemstack);
                }
 
                actionstream << player->getDescription()
@@ -795,7 +793,8 @@ void ICraftAction::apply(InventoryManager *mgr,
                // Decrement counter
                if (count_remaining == 1)
                        break;
-               else if (count_remaining > 1)
+
+               if (count_remaining > 1)
                        count_remaining--;
 
                // Get next crafting result
@@ -806,24 +805,23 @@ void ICraftAction::apply(InventoryManager *mgr,
 
        // Put the replacements in the inventory or drop them on the floor, if
        // the invenotry is full
-       for (std::vector<ItemStack>::iterator it = output_replacements.begin();
-                       it != output_replacements.end(); ++it) {
+       for (auto &output_replacement : output_replacements) {
                if (list_main)
-                       *it = list_main->addItem(*it);
-               if (it->empty())
+                       output_replacement = list_main->addItem(output_replacement);
+               if (output_replacement.empty())
                        continue;
-               u16 count = it->count;
+               u16 count = output_replacement.count;
                do {
-                       PLAYER_TO_SA(player)->item_OnDrop(*it, player,
+                       PLAYER_TO_SA(player)->item_OnDrop(output_replacement, player,
                                player->getBasePosition());
-                       if (count >= it->count) {
+                       if (count >= output_replacement.count) {
                                errorstream << "Couldn't drop replacement stack " <<
-                                       it->getItemString() << " because drop loop didn't "
+                                       output_replacement.getItemString() << " because drop loop didn't "
                                        "decrease count." << std::endl;
 
                                break;
                        }
-               } while (!it->empty());
+               } while (!output_replacement.empty());
        }
 
        infostream<<"ICraftAction::apply(): crafted "
index 53830d5c13945bfd58aaa3f42182bc13ec6a4b6a..9ae92e5f4ba2c1922d4d1fdb269d1c4f96347e57 100644 (file)
@@ -54,7 +54,7 @@ struct InventoryLocation
                type = PLAYER;
                name = name_;
        }
-       void setNodeMeta(v3s16 p_)
+       void setNodeMeta(const v3s16 &p_)
        {
                type = NODEMETA;
                p = p_;
@@ -105,8 +105,8 @@ struct InventoryAction;
 class InventoryManager
 {
 public:
-       InventoryManager(){}
-       virtual ~InventoryManager(){}
+       InventoryManager() = default;
+       virtual ~InventoryManager() = default;
 
        // Get an inventory (server and client)
        virtual Inventory* getInventory(const InventoryLocation &loc){return NULL;}
@@ -131,7 +131,7 @@ struct InventoryAction
        virtual void apply(InventoryManager *mgr, ServerActiveObject *player,
                        IGameDef *gamedef) = 0;
        virtual void clientApply(InventoryManager *mgr, IGameDef *gamedef) = 0;
-       virtual ~InventoryAction() {};
+       virtual ~InventoryAction() = default;;
 };
 
 struct IMoveAction : public InventoryAction
@@ -151,7 +151,7 @@ struct IMoveAction : public InventoryAction
        bool caused_by_move_somewhere = false;
        u32 move_count = 0;
 
-       IMoveAction() {}
+       IMoveAction() = default;
 
        IMoveAction(std::istream &is, bool somewhere);
 
@@ -189,7 +189,7 @@ struct IDropAction : public InventoryAction
        std::string from_list;
        s16 from_i = -1;
 
-       IDropAction() {}
+       IDropAction() = default;
 
        IDropAction(std::istream &is);
 
@@ -218,7 +218,7 @@ struct ICraftAction : public InventoryAction
        u16 count = 0;
        InventoryLocation craft_inv;
 
-       ICraftAction() {}
+       ICraftAction() = default;
 
        ICraftAction(std::istream &is);
 
index 65829fd68b251c8a2368c60f3c57251c0493a8e9..02c548abb6ae88b18519eec027f480381f385f0d 100644 (file)
@@ -13,11 +13,9 @@ void ItemStackMetadata::serialize(std::ostream &os) const
 {
        std::ostringstream os2;
        os2 << DESERIALIZE_START;
-       for (StringMap::const_iterator
-                       it = m_stringvars.begin();
-                       it != m_stringvars.end(); ++it) {
-               os2 << it->first << DESERIALIZE_KV_DELIM
-                   << it->second << DESERIALIZE_PAIR_DELIM;
+       for (const auto &stringvar : m_stringvars) {
+               os2 << stringvar.first << DESERIALIZE_KV_DELIM
+                   << stringvar.second << DESERIALIZE_PAIR_DELIM;
        }
        os << serializeJsonStringIfNeeded(os2.str());
 }