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

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

@ -21,9 +21,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <map>
#include <vector>
#include "IGUIFont.h"
#include "IGUISkin.h"
#include "IGUIEnvironment.h"
#include "util/basic_macros.h"
#include <IGUIFont.h>
#include <IGUISkin.h>
#include <IGUIEnvironment.h>
#include "settings.h"
#define FONT_SIZE_UNSPECIFIED 0xFFFFFFFF
@ -81,17 +82,6 @@ public:
void readSettings();
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 */
void updateFontCache();
@ -108,10 +98,10 @@ private:
void cleanCache();
/** pointer to settings for registering callbacks or reading config */
Settings* m_settings;
Settings* m_settings = nullptr;
/** pointer to irrlicht gui environment */
gui::IGUIEnvironment* m_env;
gui::IGUIEnvironment* m_env = nullptr;
/** internal storage for caching fonts of different size */
std::map<unsigned int, irr::gui::IGUIFont*> m_font_cache[FM_MaxMode];
@ -131,6 +121,7 @@ private:
/** last font returned */
irr::gui::IGUIFont* m_lastFont = nullptr;
DISABLE_CLASS_COPY(FontEngine);
};
/** 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);
writeU8(os, GENERIC_CMD_UPDATE_ARMOR_GROUPS);
writeU16(os, armor_groups.size());
for(ItemGroupList::const_iterator i = armor_groups.begin();
i != armor_groups.end(); ++i){
os<<serializeString(i->first);
writeS16(os, i->second);
for (const auto &armor_group : armor_groups) {
os<<serializeString(armor_group.first);
writeS16(os, armor_group.second);
}
return os.str();
}

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

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

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

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

@ -20,7 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "imagefilters.h"
#include "settings.h"
#include "util/numeric.h"
#include <stdio.h>
#include <cstdio>
#include "client/renderingengine.h"
/* 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.
void guiScalingCacheClear()
{
for (std::map<io::path, video::IImage *>::iterator it = g_imgCache.begin();
it != g_imgCache.end(); ++it) {
if (it->second)
it->second->drop();
for (auto &it : g_imgCache) {
if (it.second)
it.second->drop();
}
g_imgCache.clear();
for (std::map<io::path, video::ITexture *>::iterator it = g_txrCache.begin();
it != g_txrCache.end(); ++it) {
if (it->second)
RenderingEngine::get_video_driver()->removeTexture(it->second);
for (auto &it : g_txrCache) {
if (it.second)
RenderingEngine::get_video_driver()->removeTexture(it.second);
}
g_txrCache.clear();
}

@ -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, const video::SColor *const colors = 0,
const core::rect<s32> *cliprect = 0, video::SColor *const colors = 0,
bool usealpha = false);