Modernize various files

* range-based for loops
* emplace_back instead of push_back
* code style
* C++ headers instead of C headers
* Default operators
* empty stl function
This commit is contained in:
Loic Blot 2017-08-18 07:44:42 +02:00
parent 13e995b811
commit 55ab4264dc
No known key found for this signature in database
GPG Key ID: EFAA458E8C153987
12 changed files with 100 additions and 118 deletions

@ -40,39 +40,39 @@ const std::vector<v3s16> &FacePositionCache::generateFacePosition(u16 d)
cache[d] = std::vector<v3s16>(); cache[d] = std::vector<v3s16>();
std::vector<v3s16> &c = cache[d]; std::vector<v3s16> &c = cache[d];
if (d == 0) { if (d == 0) {
c.push_back(v3s16(0,0,0)); c.emplace_back(0,0,0);
return c; return c;
} }
if (d == 1) { if (d == 1) {
// This is an optimized sequence of coordinates. // This is an optimized sequence of coordinates.
c.push_back(v3s16( 0, 1, 0)); // Top c.emplace_back(0, 1, 0); // Top
c.push_back(v3s16( 0, 0, 1)); // Back c.emplace_back(0, 0, 1); // Back
c.push_back(v3s16(-1, 0, 0)); // Left c.emplace_back(-1, 0, 0); // Left
c.push_back(v3s16( 1, 0, 0)); // Right c.emplace_back(1, 0, 0); // Right
c.push_back(v3s16( 0, 0,-1)); // Front c.emplace_back(0, 0,-1); // Front
c.push_back(v3s16( 0,-1, 0)); // Bottom c.emplace_back(0,-1, 0); // Bottom
// 6 // 6
c.push_back(v3s16(-1, 0, 1)); // Back left c.emplace_back(-1, 0, 1); // Back left
c.push_back(v3s16( 1, 0, 1)); // Back right c.emplace_back(1, 0, 1); // Back right
c.push_back(v3s16(-1, 0,-1)); // Front left c.emplace_back(-1, 0,-1); // Front left
c.push_back(v3s16( 1, 0,-1)); // Front right c.emplace_back(1, 0,-1); // Front right
c.push_back(v3s16(-1,-1, 0)); // Bottom left c.emplace_back(-1,-1, 0); // Bottom left
c.push_back(v3s16( 1,-1, 0)); // Bottom right c.emplace_back(1,-1, 0); // Bottom right
c.push_back(v3s16( 0,-1, 1)); // Bottom back c.emplace_back(0,-1, 1); // Bottom back
c.push_back(v3s16( 0,-1,-1)); // Bottom front c.emplace_back(0,-1,-1); // Bottom front
c.push_back(v3s16(-1, 1, 0)); // Top left c.emplace_back(-1, 1, 0); // Top left
c.push_back(v3s16( 1, 1, 0)); // Top right c.emplace_back(1, 1, 0); // Top right
c.push_back(v3s16( 0, 1, 1)); // Top back c.emplace_back(0, 1, 1); // Top back
c.push_back(v3s16( 0, 1,-1)); // Top front c.emplace_back(0, 1,-1); // Top front
// 18 // 18
c.push_back(v3s16(-1, 1, 1)); // Top back-left c.emplace_back(-1, 1, 1); // Top back-left
c.push_back(v3s16( 1, 1, 1)); // Top back-right c.emplace_back(1, 1, 1); // Top back-right
c.push_back(v3s16(-1, 1,-1)); // Top front-left c.emplace_back(-1, 1,-1); // Top front-left
c.push_back(v3s16( 1, 1,-1)); // Top front-right c.emplace_back(1, 1,-1); // Top front-right
c.push_back(v3s16(-1,-1, 1)); // Bottom back-left c.emplace_back(-1,-1, 1); // Bottom back-left
c.push_back(v3s16( 1,-1, 1)); // Bottom back-right c.emplace_back(1,-1, 1); // Bottom back-right
c.push_back(v3s16(-1,-1,-1)); // Bottom front-left c.emplace_back(-1,-1,-1); // Bottom front-left
c.push_back(v3s16( 1,-1,-1)); // Bottom front-right c.emplace_back(1,-1,-1); // Bottom front-right
// 26 // 26
return c; return c;
} }
@ -81,20 +81,20 @@ const std::vector<v3s16> &FacePositionCache::generateFacePosition(u16 d)
for (s16 y = 0; y <= d - 1; y++) { for (s16 y = 0; y <= d - 1; y++) {
// Left and right side, including borders // Left and right side, including borders
for (s16 z =- d; z <= d; z++) { for (s16 z =- d; z <= d; z++) {
c.push_back(v3s16( d, y, z)); c.emplace_back(d, y, z);
c.push_back(v3s16(-d, y, z)); c.emplace_back(-d, y, z);
if (y != 0) { if (y != 0) {
c.push_back(v3s16( d, -y, z)); c.emplace_back(d, -y, z);
c.push_back(v3s16(-d, -y, z)); c.emplace_back(-d, -y, z);
} }
} }
// Back and front side, excluding borders // Back and front side, excluding borders
for (s16 x = -d + 1; x <= d - 1; x++) { for (s16 x = -d + 1; x <= d - 1; x++) {
c.push_back(v3s16(x, y, d)); c.emplace_back(x, y, d);
c.push_back(v3s16(x, y, -d)); c.emplace_back(x, y, -d);
if (y != 0) { if (y != 0) {
c.push_back(v3s16(x, -y, d)); c.emplace_back(x, -y, d);
c.push_back(v3s16(x, -y, -d)); c.emplace_back(x, -y, -d);
} }
} }
} }
@ -103,8 +103,8 @@ const std::vector<v3s16> &FacePositionCache::generateFacePosition(u16 d)
// -d < x < d, y = +-d, -d < z < d // -d < x < d, y = +-d, -d < z < d
for (s16 x = -d; x <= d; x++) for (s16 x = -d; x <= d; x++)
for (s16 z = -d; z <= d; z++) { for (s16 z = -d; z <= d; z++) {
c.push_back(v3s16(x, -d, z)); c.emplace_back(x, -d, z);
c.push_back(v3s16(x, d, z)); c.emplace_back(x, d, z);
} }
return c; return c;
} }

@ -26,7 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <string> #include <string>
#include <iostream> #include <iostream>
#include <fstream> #include <fstream>
#include <stdlib.h> #include <cstdlib>
bool FileCache::loadByPath(const std::string &path, std::ostream &os) bool FileCache::loadByPath(const std::string &path, std::ostream &os)
{ {

@ -20,9 +20,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "filesys.h" #include "filesys.h"
#include "util/string.h" #include "util/string.h"
#include <iostream> #include <iostream>
#include <stdio.h> #include <cstdio>
#include <string.h> #include <cstring>
#include <errno.h> #include <cerrno>
#include <fstream> #include <fstream>
#include "log.h" #include "log.h"
#include "config.h" #include "config.h"
@ -246,7 +246,7 @@ std::vector<DirListNode> GetDirListing(const std::string &pathstring)
If so, try stat(). If so, try stat().
*/ */
if(isdir == -1) { if(isdir == -1) {
struct stat statbuf; struct stat statbuf{};
if (stat((pathstring + "/" + node.name).c_str(), &statbuf)) if (stat((pathstring + "/" + node.name).c_str(), &statbuf))
continue; continue;
isdir = ((statbuf.st_mode & S_IFDIR) == S_IFDIR); isdir = ((statbuf.st_mode & S_IFDIR) == S_IFDIR);
@ -262,22 +262,20 @@ std::vector<DirListNode> GetDirListing(const std::string &pathstring)
bool CreateDir(const std::string &path) bool CreateDir(const std::string &path)
{ {
int r = mkdir(path.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); int r = mkdir(path.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
if(r == 0) if (r == 0) {
{
return true; return true;
} }
else
{
// If already exists, return true // If already exists, return true
if (errno == EEXIST) if (errno == EEXIST)
return true; return true;
return false; return false;
}
} }
bool PathExists(const std::string &path) bool PathExists(const std::string &path)
{ {
struct stat st; struct stat st{};
return (stat(path.c_str(),&st) == 0); return (stat(path.c_str(),&st) == 0);
} }
@ -288,7 +286,7 @@ bool IsPathAbsolute(const std::string &path)
bool IsDir(const std::string &path) bool IsDir(const std::string &path)
{ {
struct stat statbuf; struct stat statbuf{};
if(stat(path.c_str(), &statbuf)) if(stat(path.c_str(), &statbuf))
return false; // Actually error; but certainly not a directory return false; // Actually error; but certainly not a directory
return ((statbuf.st_mode & S_IFDIR) == S_IFDIR); return ((statbuf.st_mode & S_IFDIR) == S_IFDIR);
@ -353,14 +351,14 @@ bool DeleteSingleFileOrEmptyDirectory(const std::string &path)
errorstream << "rmdir errno: " << errno << ": " << strerror(errno) errorstream << "rmdir errno: " << errno << ": " << strerror(errno)
<< std::endl; << std::endl;
return did; return did;
} else { }
bool did = (unlink(path.c_str()) == 0); bool did = (unlink(path.c_str()) == 0);
if (!did) if (!did)
errorstream << "unlink errno: " << errno << ": " << strerror(errno) errorstream << "unlink errno: " << errno << ": " << strerror(errno)
<< std::endl; << std::endl;
return did; return did;
} }
}
std::string TempPath() std::string TempPath()
{ {
@ -385,8 +383,7 @@ std::string TempPath()
void GetRecursiveSubPaths(const std::string &path, std::vector<std::string> &dst) void GetRecursiveSubPaths(const std::string &path, std::vector<std::string> &dst)
{ {
std::vector<DirListNode> content = GetDirListing(path); std::vector<DirListNode> content = GetDirListing(path);
for(unsigned int i=0; i<content.size(); i++){ for (const auto &n : content) {
const DirListNode &n = content[i];
std::string fullpath = path + DIR_DELIM + n.name; std::string fullpath = path + DIR_DELIM + n.name;
dst.push_back(fullpath); dst.push_back(fullpath);
if (n.dir) { if (n.dir) {
@ -414,14 +411,12 @@ bool RecursiveDeleteContent(const std::string &path)
{ {
infostream<<"Removing content of \""<<path<<"\""<<std::endl; infostream<<"Removing content of \""<<path<<"\""<<std::endl;
std::vector<DirListNode> list = GetDirListing(path); std::vector<DirListNode> list = GetDirListing(path);
for(unsigned int i=0; i<list.size(); i++) for (const DirListNode &dln : list) {
{ if(trim(dln.name) == "." || trim(dln.name) == "..")
if(trim(list[i].name) == "." || trim(list[i].name) == "..")
continue; continue;
std::string childpath = path + DIR_DELIM + list[i].name; std::string childpath = path + DIR_DELIM + dln.name;
bool r = RecursiveDelete(childpath); bool r = RecursiveDelete(childpath);
if(r == false) if(!r) {
{
errorstream << "Removing \"" << childpath << "\" failed" << std::endl; errorstream << "Removing \"" << childpath << "\" failed" << std::endl;
return false; return false;
} }
@ -510,10 +505,10 @@ bool CopyDir(const std::string &source, const std::string &target)
bool retval = true; bool retval = true;
std::vector<DirListNode> content = fs::GetDirListing(source); std::vector<DirListNode> content = fs::GetDirListing(source);
for(unsigned int i=0; i < content.size(); i++){ for (const auto &dln : content) {
std::string sourcechild = source + DIR_DELIM + content[i].name; std::string sourcechild = source + DIR_DELIM + dln.name;
std::string targetchild = target + DIR_DELIM + content[i].name; std::string targetchild = target + DIR_DELIM + dln.name;
if(content[i].dir){ if(dln.dir){
if(!fs::CopyDir(sourcechild, targetchild)){ if(!fs::CopyDir(sourcechild, targetchild)){
retval = false; retval = false;
} }
@ -526,10 +521,9 @@ bool CopyDir(const std::string &source, const std::string &target)
} }
return retval; return retval;
} }
else {
return false; return false;
} }
}
bool PathStartsWith(const std::string &path, const std::string &prefix) bool PathStartsWith(const std::string &path, const std::string &prefix)
{ {

@ -26,12 +26,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#ifdef _WIN32 // WINDOWS #ifdef _WIN32 // WINDOWS
#define DIR_DELIM "\\" #define DIR_DELIM "\\"
#define DIR_DELIM_CHAR '\\' #define DIR_DELIM_CHAR '\\'
#define FILESYS_CASE_INSENSITIVE 1 #define FILESYS_CASE_INSENSITIVE true
#define PATH_DELIM ";" #define PATH_DELIM ";"
#else // POSIX #else // POSIX
#define DIR_DELIM "/" #define DIR_DELIM "/"
#define DIR_DELIM_CHAR '/' #define DIR_DELIM_CHAR '/'
#define FILESYS_CASE_INSENSITIVE 0 #define FILESYS_CASE_INSENSITIVE false
#define PATH_DELIM ":" #define PATH_DELIM ":"
#endif #endif

@ -21,9 +21,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <map> #include <map>
#include <vector> #include <vector>
#include "IGUIFont.h" #include "util/basic_macros.h"
#include "IGUISkin.h" #include <IGUIFont.h>
#include "IGUIEnvironment.h" #include <IGUISkin.h>
#include <IGUIEnvironment.h>
#include "settings.h" #include "settings.h"
#define FONT_SIZE_UNSPECIFIED 0xFFFFFFFF #define FONT_SIZE_UNSPECIFIED 0xFFFFFFFF
@ -81,17 +82,6 @@ public:
void readSettings(); void readSettings();
private: private:
/** disable copy constructor */
FontEngine() :
m_settings(NULL),
m_env(NULL),
m_font_cache(),
m_currentMode(FM_Standard),
m_lastMode(),
m_lastSize(0),
m_lastFont(NULL)
{};
/** update content of font cache in case of a setting change made it invalid */ /** update content of font cache in case of a setting change made it invalid */
void updateFontCache(); void updateFontCache();
@ -108,10 +98,10 @@ private:
void cleanCache(); void cleanCache();
/** pointer to settings for registering callbacks or reading config */ /** pointer to settings for registering callbacks or reading config */
Settings* m_settings; Settings* m_settings = nullptr;
/** pointer to irrlicht gui environment */ /** pointer to irrlicht gui environment */
gui::IGUIEnvironment* m_env; gui::IGUIEnvironment* m_env = nullptr;
/** internal storage for caching fonts of different size */ /** internal storage for caching fonts of different size */
std::map<unsigned int, irr::gui::IGUIFont*> m_font_cache[FM_MaxMode]; std::map<unsigned int, irr::gui::IGUIFont*> m_font_cache[FM_MaxMode];
@ -131,6 +121,7 @@ private:
/** last font returned */ /** last font returned */
irr::gui::IGUIFont* m_lastFont = nullptr; irr::gui::IGUIFont* m_lastFont = nullptr;
DISABLE_CLASS_COPY(FontEngine);
}; };
/** interface to access main font engine*/ /** interface to access main font engine*/

@ -109,10 +109,9 @@ std::string gob_cmd_update_armor_groups(const ItemGroupList &armor_groups)
std::ostringstream os(std::ios::binary); std::ostringstream os(std::ios::binary);
writeU8(os, GENERIC_CMD_UPDATE_ARMOR_GROUPS); writeU8(os, GENERIC_CMD_UPDATE_ARMOR_GROUPS);
writeU16(os, armor_groups.size()); writeU16(os, armor_groups.size());
for(ItemGroupList::const_iterator i = armor_groups.begin(); for (const auto &armor_group : armor_groups) {
i != armor_groups.end(); ++i){ os<<serializeString(armor_group.first);
os<<serializeString(i->first); writeS16(os, armor_group.second);
writeS16(os, i->second);
} }
return os.str(); return os.str();
} }

@ -18,9 +18,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
*/ */
#include <string> #include <string>
#include <string.h> #include <cstring>
#include <iostream> #include <iostream>
#include <stdlib.h> #include <cstdlib>
#include "gettext.h" #include "gettext.h"
#include "util/string.h" #include "util/string.h"
#include "log.h" #include "log.h"

@ -26,7 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
struct MainMenuDataForScript { struct MainMenuDataForScript {
MainMenuDataForScript() {} MainMenuDataForScript() = default;
// Whether the server has requested a reconnect // Whether the server has requested a reconnect
bool reconnect_requested = false; bool reconnect_requested = false;
@ -51,5 +51,5 @@ struct MainMenuData {
// Data to be passed to the script // Data to be passed to the script
MainMenuDataForScript script_data; MainMenuDataForScript script_data;
MainMenuData() {} MainMenuData() = default;
}; };

@ -67,7 +67,7 @@ void GUIFileSelectMenu::drawMenu()
void GUIFileSelectMenu::acceptInput() void GUIFileSelectMenu::acceptInput()
{ {
if ((m_text_dst != 0) && (this->m_formname != "")) { if (m_text_dst && !m_formname.empty()) {
StringMap fields; StringMap fields;
if (m_accepted) { if (m_accepted) {
std::string path; std::string path;
@ -82,7 +82,7 @@ void GUIFileSelectMenu::acceptInput()
} else { } else {
fields[m_formname + "_canceled"] = m_formname; fields[m_formname + "_canceled"] = m_formname;
} }
this->m_text_dst->gotText(fields); m_text_dst->gotText(fields);
} }
quitMenu(); quitMenu();
} }

@ -22,7 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <queue> #include <queue>
#include <sstream> #include <sstream>
#include <utility> #include <utility>
#include <string.h> #include <cstring>
#include <IGUISkin.h> #include <IGUISkin.h>
#include <IGUIFont.h> #include <IGUIFont.h>
#include <IGUIScrollBar.h> #include <IGUIScrollBar.h>

@ -20,7 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "imagefilters.h" #include "imagefilters.h"
#include "settings.h" #include "settings.h"
#include "util/numeric.h" #include "util/numeric.h"
#include <stdio.h> #include <cstdio>
#include "client/renderingengine.h" #include "client/renderingengine.h"
/* Maintain a static cache to store the images that correspond to textures /* Maintain a static cache to store the images that correspond to textures
@ -51,16 +51,14 @@ void guiScalingCache(io::path key, video::IVideoDriver *driver, video::IImage *v
// Manually clear the cache, e.g. when switching to different worlds. // Manually clear the cache, e.g. when switching to different worlds.
void guiScalingCacheClear() void guiScalingCacheClear()
{ {
for (std::map<io::path, video::IImage *>::iterator it = g_imgCache.begin(); for (auto &it : g_imgCache) {
it != g_imgCache.end(); ++it) { if (it.second)
if (it->second) it.second->drop();
it->second->drop();
} }
g_imgCache.clear(); g_imgCache.clear();
for (std::map<io::path, video::ITexture *>::iterator it = g_txrCache.begin(); for (auto &it : g_txrCache) {
it != g_txrCache.end(); ++it) { if (it.second)
if (it->second) RenderingEngine::get_video_driver()->removeTexture(it.second);
RenderingEngine::get_video_driver()->removeTexture(it->second);
} }
g_txrCache.clear(); g_txrCache.clear();
} }

@ -46,5 +46,5 @@ video::ITexture *guiScalingImageButton(video::IVideoDriver *driver, video::IText
*/ */
void draw2DImageFilterScaled(video::IVideoDriver *driver, video::ITexture *txr, void draw2DImageFilterScaled(video::IVideoDriver *driver, video::ITexture *txr,
const core::rect<s32> &destrect, const core::rect<s32> &srcrect, const core::rect<s32> &destrect, const core::rect<s32> &srcrect,
const core::rect<s32> *cliprect = 0, const video::SColor *const colors = 0, const core::rect<s32> *cliprect = 0, video::SColor *const colors = 0,
bool usealpha = false); bool usealpha = false);