Issue #114 Use CSetBuilder and CMapBuilder

This commit is contained in:
Mat Sutcliffe
2021-08-26 23:13:23 +01:00
parent f0db8b567f
commit 2aeacf49a7
14 changed files with 63 additions and 50 deletions

View File

@@ -18,6 +18,7 @@
#include "blackmisc/directoryutils.h"
#include "blackmisc/statusmessage.h"
#include "blackmisc/stringutils.h"
#include "blackmisc/setbuilder.h"
#include "blackconfig/buildconfig.h"
#include <QStringBuilder>
@@ -1057,7 +1058,7 @@ namespace BlackMisc
QSet<QString> CAircraftModelList::getModelStringSet() const
{
QSet<QString> ms;
CSetBuilder<QString> ms;
for (const CAircraftModel &model : *this)
{
if (!model.hasModelString()) { continue; }
@@ -1233,7 +1234,7 @@ namespace BlackMisc
QSet<QString> CAircraftModelList::getAircraftDesignators() const
{
QSet<QString> designators;
CSetBuilder<QString> designators;
for (const CAircraftModel &model : *this)
{
if (!model.hasAircraftDesignator()) { continue; }
@@ -1244,8 +1245,8 @@ namespace BlackMisc
QSet<QString> CAircraftModelList::getAircraftDesignatorsForAirline(const CAirlineIcaoCode &airlineCode) const
{
QSet<QString> designators;
if (!airlineCode.hasValidDesignator()) { return designators; }
CSetBuilder<QString> designators;
if (!airlineCode.hasValidDesignator()) { return {}; }
for (const CAircraftModel &model : *this)
{
if (model.getAirlineIcaoCode() != airlineCode) { continue; }
@@ -1286,7 +1287,7 @@ namespace BlackMisc
QSet<QString> CAircraftModelList::getAirlineDesignators() const
{
QSet<QString> designators;
CSetBuilder<QString> designators;
for (const CAircraftModel &model : *this)
{
if (!model.hasAirlineDesignator()) { continue; }
@@ -1297,7 +1298,7 @@ namespace BlackMisc
QSet<QString> CAircraftModelList::getAirlineVDesignators() const
{
QSet<QString> designators;
CSetBuilder<QString> designators;
for (const CAircraftModel &model : *this)
{
if (!model.hasAirlineDesignator()) { continue; }
@@ -1332,7 +1333,7 @@ namespace BlackMisc
QSet<QString> CAircraftModelList::getCombinedTypes() const
{
QSet<QString> combinedCodes;
CSetBuilder<QString> combinedCodes;
for (const CAircraftModel &model : *this)
{
const QString ct = model.getAircraftIcaoCode().getCombinedType();
@@ -1345,7 +1346,7 @@ namespace BlackMisc
QSet<QString> CAircraftModelList::getAllFileNames() const
{
const bool cs = CFileUtils::isFileNameCaseSensitive();
QSet<QString> files;
CSetBuilder<QString> files;
for (const CAircraftModel &model : *this)
{
if (!model.hasFileName()) { continue; }
@@ -1357,7 +1358,7 @@ namespace BlackMisc
QSet<QString> CAircraftModelList::getAllUNCFileNames() const
{
const bool cs = CFileUtils::isFileNameCaseSensitive();
QSet<QString> files;
CSetBuilder<QString> files;
for (const CAircraftModel &model : *this)
{
if (!model.hasFileName()) { continue; }
@@ -1378,7 +1379,7 @@ namespace BlackMisc
QSet<QString> CAircraftModelList::getAicraftAndAirlineDesignators(bool withDbId) const
{
QSet<QString> str;
CSetBuilder<QString> str;
for (const CAircraftModel &model : *this)
{
const QString s = (model.hasAircraftDesignator() ?

View File

@@ -11,6 +11,7 @@
#include "blackmisc/fileutils.h"
#include "blackmisc/json.h"
#include "blackmisc/logcategories.h"
#include "blackmisc/setbuilder.h"
#include <QStringList>
#include <QStringBuilder>
@@ -148,7 +149,7 @@ namespace BlackMisc
CStatusMessageList msgs;
msgs.push_back(CStatusMessage(cats).validationInfo(u"DB models: %1") << dbModels.size());
QSet<QString> unchangedCG;
CSetBuilder<QString> unchangedCG;
for (const QString &modelString : m_modelStringVsCG.keys())
{
const CAircraftModel dbModel = dbModels.findFirstByModelStringOrDefault(modelString);
@@ -161,7 +162,7 @@ namespace BlackMisc
}
}
QSet<QString> unchangedSim;
CSetBuilder<QString> unchangedSim;
for (const QString &modelString : m_modelStringVsSimulatorInfo.keys())
{
const CAircraftModel dbModel = dbModels.findFirstByModelStringOrDefault(modelString);
@@ -177,14 +178,16 @@ namespace BlackMisc
// remove
if (!unchangedCG.isEmpty())
{
msgs.push_back(CStatusMessage(cats).validationInfo(u"Removing unchanged CGs: %1") << unchangedCG.size());
for (const QString &m : unchangedCG) { m_modelStringVsCG.remove(m); }
QList<QString> unchangedCGList = std::move(unchangedCG);
msgs.push_back(CStatusMessage(cats).validationInfo(u"Removing unchanged CGs: %1") << unchangedCGList.size());
for (const QString &m : unchangedCGList) { m_modelStringVsCG.remove(m); }
}
if (!unchangedSim.isEmpty())
{
msgs.push_back(CStatusMessage(cats).validationInfo(u"Removing unchanged simulators: %1") << unchangedSim.size());
for (const QString &m : unchangedSim) { m_modelStringVsSimulatorInfo.remove(m); }
QList<QString> unchangedSimList = std::move(unchangedSim);
msgs.push_back(CStatusMessage(cats).validationInfo(u"Removing unchanged simulators: %1") << unchangedSimList.size());
for (const QString &m : unchangedSimList) { m_modelStringVsSimulatorInfo.remove(m); }
}
msgs.push_back(CStatusMessage(this).validationInfo(this->getSummary()));

View File

@@ -12,6 +12,7 @@
#include "stringutils.h"
#include "blackmisc/predicates.h"
#include "blackmisc/range.h"
#include "blackmisc/setbuilder.h"
using namespace BlackMisc;
using namespace BlackMisc::Simulation;
@@ -57,7 +58,7 @@ namespace BlackMisc
QSet<QString> CAircraftCfgEntriesList::getTitleSetUpperCase() const
{
QSet<QString> titlesUc;
CSetBuilder<QString> titlesUc;
for (const CAircraftCfgEntries &entries : *this)
{
titlesUc.insert(entries.getTitle().toUpper());