[generator] autoregister specifiers, log on iunknown country

This commit is contained in:
LaGrunge 2019-07-17 19:52:59 +03:00 committed by cc-engineering
parent c1fb5f0400
commit d23aa3cf18
256 changed files with 932 additions and 389 deletions

View file

@ -20,8 +20,10 @@ public:
virtual int RelateByWeight(LevelRegion const & l, LevelRegion const & r) const;
virtual ~CountrySpecifier() = default;
static PlaceLevel GetLevel(PlaceType placeType);
private:
private:
virtual PlaceLevel GetSpecificCountryLevel(Region const & region) const;
};
} // namespace regions
} // namespace generator

View file

@ -1,393 +1,11 @@
#include "country_specifier_builder.hpp"
#include "generator/regions/specs/afghanistan.hpp"
#include "generator/regions/specs/albania.hpp"
#include "generator/regions/specs/algeria.hpp"
#include "generator/regions/specs/andorra.hpp"
#include "generator/regions/specs/angola.hpp"
#include "generator/regions/specs/antigua_and_barbuda.hpp"
#include "generator/regions/specs/argentina.hpp"
#include "generator/regions/specs/aruba.hpp"
#include "generator/regions/specs/australia.hpp"
#include "generator/regions/specs/austria.hpp"
#include "generator/regions/specs/azerbaijan.hpp"
#include "generator/regions/specs/bahamas.hpp"
#include "generator/regions/specs/bahrain.hpp"
#include "generator/regions/specs/bangladesh.hpp"
#include "generator/regions/specs/barbados.hpp"
#include "generator/regions/specs/belarus.hpp"
#include "generator/regions/specs/belgium.hpp"
#include "generator/regions/specs/belize.hpp"
#include "generator/regions/specs/benin.hpp"
#include "generator/regions/specs/bhutan.hpp"
#include "generator/regions/specs/bolivia.hpp"
#include "generator/regions/specs/bosnia_and_herzegovina.hpp"
#include "generator/regions/specs/brazil.hpp"
#include "generator/regions/specs/brunei.hpp"
#include "generator/regions/specs/bulgaria.hpp"
#include "generator/regions/specs/burkina_faso.hpp"
#include "generator/regions/specs/burundi.hpp"
#include "generator/regions/specs/cameroon.hpp"
#include "generator/regions/specs/canada.hpp"
#include "generator/regions/specs/chad.hpp"
#include "generator/regions/specs/chile.hpp"
#include "generator/regions/specs/china.hpp"
#include "generator/regions/specs/colombia.hpp"
#include "generator/regions/specs/costa_rica.hpp"
#include "generator/regions/specs/cote_divoire.hpp"
#include "generator/regions/specs/croatia.hpp"
#include "generator/regions/specs/cuba.hpp"
#include "generator/regions/specs/cyprus.hpp"
#include "generator/regions/specs/czech_republic.hpp"
#include "generator/regions/specs/denmark.hpp"
#include "generator/regions/specs/dominican_republic.hpp"
#include "generator/regions/specs/egypt.hpp"
#include "generator/regions/specs/estonia.hpp"
#include "generator/regions/specs/ethiopia.hpp"
#include "generator/regions/specs/finland.hpp"
#include "generator/regions/specs/france.hpp"
#include "generator/regions/specs/french_polynesia.hpp"
#include "generator/regions/specs/gabon.hpp"
#include "generator/regions/specs/gambia.hpp"
#include "generator/regions/specs/georgia.hpp"
#include "generator/regions/specs/germany.hpp"
#include "generator/regions/specs/ghana.hpp"
#include "generator/regions/specs/greece.hpp"
#include "generator/regions/specs/guinea.hpp"
#include "generator/regions/specs/haiti.hpp"
#include "generator/regions/specs/hong_kong.hpp"
#include "generator/regions/specs/hungary.hpp"
#include "generator/regions/specs/iceland.hpp"
#include "generator/regions/specs/india.hpp"
#include "generator/regions/specs/indonesia.hpp"
#include "generator/regions/specs/iran.hpp"
#include "generator/regions/specs/iraq.hpp"
#include "generator/regions/specs/ireland.hpp"
#include "generator/regions/specs/isle_of_man.hpp"
#include "generator/regions/specs/israel.hpp"
#include "generator/regions/specs/italy.hpp"
#include "generator/regions/specs/japan.hpp"
#include "generator/regions/specs/jordan.hpp"
#include "generator/regions/specs/kosovo.hpp"
#include "generator/regions/specs/laos.hpp"
#include "generator/regions/specs/latvia.hpp"
#include "generator/regions/specs/lebanon.hpp"
#include "generator/regions/specs/lesotho.hpp"
#include "generator/regions/specs/liberia.hpp"
#include "generator/regions/specs/libya.hpp"
#include "generator/regions/specs/lithuania.hpp"
#include "generator/regions/specs/luxembourg.hpp"
#include "generator/regions/specs/macedonia.hpp"
#include "generator/regions/specs/madagascar.hpp"
#include "generator/regions/specs/malawi.hpp"
#include "generator/regions/specs/malaysia.hpp"
#include "generator/regions/specs/mali.hpp"
#include "generator/regions/specs/mauritania.hpp"
#include "generator/regions/specs/moldova.hpp"
#include "generator/regions/specs/morocco.hpp"
#include "generator/regions/specs/mozambique.hpp"
#include "generator/regions/specs/myanmar.hpp"
#include "generator/regions/specs/nepal.hpp"
#include "generator/regions/specs/netherlands.hpp"
#include "generator/regions/specs/new_zealand.hpp"
#include "generator/regions/specs/niger.hpp"
#include "generator/regions/specs/nigeria.hpp"
#include "generator/regions/specs/north_korea.hpp"
#include "generator/regions/specs/norway.hpp"
#include "generator/regions/specs/philippines.hpp"
#include "generator/regions/specs/poland.hpp"
#include "generator/regions/specs/portugal.hpp"
#include "generator/regions/specs/romania.hpp"
#include "generator/regions/specs/russia.hpp"
#include "generator/regions/specs/senegal.hpp"
#include "generator/regions/specs/serbia.hpp"
#include "generator/regions/specs/sierra_leone.hpp"
#include "generator/regions/specs/slovakia.hpp"
#include "generator/regions/specs/slovenia.hpp"
#include "generator/regions/specs/south_africa.hpp"
#include "generator/regions/specs/south_korea.hpp"
#include "generator/regions/specs/south_sudan.hpp"
#include "generator/regions/specs/suriname.hpp"
#include "generator/regions/specs/swaziland.hpp"
#include "generator/regions/specs/sweden.hpp"
#include "generator/regions/specs/switzerland.hpp"
#include "generator/regions/specs/syria.hpp"
#include "generator/regions/specs/taiwan.hpp"
#include "generator/regions/specs/tajikistan.hpp"
#include "generator/regions/specs/tanzania.hpp"
#include "generator/regions/specs/thailand.hpp"
#include "generator/regions/specs/the_central_african_republic.hpp"
#include "generator/regions/specs/togo.hpp"
#include "generator/regions/specs/tunisia.hpp"
#include "generator/regions/specs/turkey.hpp"
#include "generator/regions/specs/uganda.hpp"
#include "generator/regions/specs/ukraine.hpp"
#include "generator/regions/specs/united_kingdom.hpp"
#include "generator/regions/specs/united_states.hpp"
#include "generator/regions/specs/vanuatu.hpp"
#include "generator/regions/specs/vietnam.hpp"
namespace generator
{
namespace regions
{
std::unique_ptr<CountrySpecifier> GetCountrySpecifier(std::string const & countryName)
{
if (countryName == u8"Afghanistan")
return std::make_unique<specs::AfghanistanSpecifier>();
if (countryName == u8"Albania")
return std::make_unique<specs::AlbaniaSpecifier>();
if (countryName == u8"Algeria")
return std::make_unique<specs::AlgeriaSpecifier>();
if (countryName == u8"Andorra")
return std::make_unique<specs::AndorraSpecifier>();
if (countryName == u8"Angola")
return std::make_unique<specs::AngolaSpecifier>();
if (countryName == u8"Antigua and Barbuda")
return std::make_unique<specs::AntiguaAndBarbudaSpecifier>();
if (countryName == u8"Argentina")
return std::make_unique<specs::ArgentinaSpecifier>();
if (countryName == u8"Aruba")
return std::make_unique<specs::ArubaSpecifier>();
if (countryName == u8"Australia")
return std::make_unique<specs::AustraliaSpecifier>();
if (countryName == u8"Austria")
return std::make_unique<specs::AustriaSpecifier>();
if (countryName == u8"Azerbaijan")
return std::make_unique<specs::AzerbaijanSpecifier>();
if (countryName == u8"Bahamas")
return std::make_unique<specs::BahamasSpecifier>();
if (countryName == u8"Bahrain")
return std::make_unique<specs::BahrainSpecifier>();
if (countryName == u8"Bangladesh")
return std::make_unique<specs::BangladeshSpecifier>();
if (countryName == u8"Barbados")
return std::make_unique<specs::BarbadosSpecifier>();
if (countryName == u8"Belarus")
return std::make_unique<specs::BelarusSpecifier>();
if (countryName == u8"Belgium")
return std::make_unique<specs::BelgiumSpecifier>();
if (countryName == u8"Benin")
return std::make_unique<specs::BeninSpecifier>();
if (countryName == u8"Belize")
return std::make_unique<specs::BelizeSpecifier>();
if (countryName == u8"Bhutan")
return std::make_unique<specs::BhutanSpecifier>();
if (countryName == u8"Bolivia")
return std::make_unique<specs::BoliviaSpecifier>();
if (countryName == u8"Bosnia and Herzegovina")
return std::make_unique<specs::BosniaAndHerzegovinaSpecifier>();
if (countryName == u8"Brazil")
return std::make_unique<specs::BrazilSpecifier>();
if (countryName == u8"Brunei")
return std::make_unique<specs::BruneiSpecifier>();
if (countryName == u8"Bulgaria")
return std::make_unique<specs::BulgariaSpecifier>();
if (countryName == u8"Burkina Faso")
return std::make_unique<specs::BurkinaFasoSpecifier>();
if (countryName == u8"Burundi")
return std::make_unique<specs::BurundiSpecifier>();
if (countryName == u8"Canada")
return std::make_unique<specs::CanadaSpecifier>();
if (countryName == u8"Cameroon")
return std::make_unique<specs::CameroonSpecifier>();
if (countryName == u8"The Central African Republic")
return std::make_unique<specs::TheCentralAfricanRepublicSpecifier>();
if (countryName == u8"Chad")
return std::make_unique<specs::ChadSpecifier>();
if (countryName == u8"Colombia")
return std::make_unique<specs::ColombiaSpecifier>();
if (countryName == u8"Costa Rica")
return std::make_unique<specs::CostaRicaSpecifier>();
if (countryName == u8"Côte d'Ivoire")
return std::make_unique<specs::CoteDivoireSpecifier>();
if (countryName == u8"Croatia")
return std::make_unique<specs::CroatiaSpecifier>();
if (countryName == u8"China")
return std::make_unique<specs::ChinaSpecifier>();
if (countryName == u8"Chile")
return std::make_unique<specs::ChileSpecifier>();
if (countryName == u8"Cyprus")
return std::make_unique<specs::CyprusSpecifier>();
if (countryName == u8"Cuba")
return std::make_unique<specs::CubaSpecifier>();
if (countryName == u8"Czech Republic")
return std::make_unique<specs::CzechRepublicSpecifier>();
if (countryName == u8"Denmark")
return std::make_unique<specs::DenmarkSpecifier>();
if (countryName == u8"Dominican Republic")
return std::make_unique<specs::DominicanRepublicSpecifier>();
if (countryName == u8"Egypt")
return std::make_unique<specs::EgyptSpecifier>();
if (countryName == u8"Estonia")
return std::make_unique<specs::EstoniaSpecifier>();
if (countryName == u8"Ethiopia")
return std::make_unique<specs::EthiopiaSpecifier>();
if (countryName == u8"Finland")
return std::make_unique<specs::FinlandSpecifier>();
if (countryName == u8"France")
return std::make_unique<specs::FranceSpecifier>();
if (countryName == u8"French Polynesia")
return std::make_unique<specs::FrenchPolynesiaSpecifier>();
if (countryName == u8"Gabon")
return std::make_unique<specs::GabonSpecifier>();
if (countryName == u8"Gambia")
return std::make_unique<specs::GambiaSpecifier>();
if (countryName == u8"Georgia")
return std::make_unique<specs::GeorgiaSpecifier>();
if (countryName == u8"Germany")
return std::make_unique<specs::GermanySpecifier>();
if (countryName == u8"Ghana")
return std::make_unique<specs::GhanaSpecifier>();
if (countryName == u8"Guinea")
return std::make_unique<specs::GuineaSpecifier>();
if (countryName == u8"Greece")
return std::make_unique<specs::GreeceSpecifier>();
if (countryName == u8"Haiti")
return std::make_unique<specs::HaitiSpecifier>();
if (countryName == u8"Hungary")
return std::make_unique<specs::HungarySpecifier>();
if (countryName == u8"Hong Kong")
return std::make_unique<specs::HongKongSpecifier>();
if (countryName == u8"Iceland")
return std::make_unique<specs::IcelandSpecifier>();
if (countryName == u8"India")
return std::make_unique<specs::IndiaSpecifier>();
if (countryName == u8"Indonesia")
return std::make_unique<specs::IndonesiaSpecifier>();
if (countryName == u8"Iraq")
return std::make_unique<specs::IraqSpecifier>();
if (countryName == u8"Iran")
return std::make_unique<specs::IranSpecifier>();
if (countryName == u8"Ireland")
return std::make_unique<specs::IrelandSpecifier>();
if (countryName == u8"Isle of Man")
return std::make_unique<specs::IsleOfManSpecifier>();
if (countryName == u8"Israel")
return std::make_unique<specs::IsraelSpecifier>();
if (countryName == u8"Italy")
return std::make_unique<specs::ItalySpecifier>();
if (countryName == u8"Japan")
return std::make_unique<specs::JapanSpecifier>();
if (countryName == u8"Jordan")
return std::make_unique<specs::JordanSpecifier>();
if (countryName == u8"Kosovo")
return std::make_unique<specs::KosovoSpecifier>();
if (countryName == u8"Laos")
return std::make_unique<specs::LaosSpecifier>();
if (countryName == u8"Latvia")
return std::make_unique<specs::LatviaSpecifier>();
if (countryName == u8"Lebanon")
return std::make_unique<specs::LebanonSpecifier>();
if (countryName == u8"Lesotho")
return std::make_unique<specs::LesothoSpecifier>();
if (countryName == u8"Liberia")
return std::make_unique<specs::LiberiaSpecifier>();
if (countryName == u8"Libya")
return std::make_unique<specs::LibyaSpecifier>();
if (countryName == u8"Lithuania")
return std::make_unique<specs::LithuaniaSpecifier>();
if (countryName == u8"Luxembourg")
return std::make_unique<specs::LuxembourgSpecifier>();
if (countryName == u8"Macedonia")
return std::make_unique<specs::MacedoniaSpecifier>();
if (countryName == u8"Madagascar")
return std::make_unique<specs::MadagascarSpecifier>();
if (countryName == u8"Malaysia")
return std::make_unique<specs::MalaysiaSpecifier>();
if (countryName == u8"Malawi")
return std::make_unique<specs::MalawiSpecifier>();
if (countryName == u8"Mali")
return std::make_unique<specs::MaliSpecifier>();
if (countryName == u8"Mauritania")
return std::make_unique<specs::MauritaniaSpecifier>();
if (countryName == u8"Moldova")
return std::make_unique<specs::MoldovaSpecifier>();
if (countryName == u8"Morocco")
return std::make_unique<specs::MoroccoSpecifier>();
if (countryName == u8"Mozambique")
return std::make_unique<specs::MozambiqueSpecifier>();
if (countryName == u8"Myanmar")
return std::make_unique<specs::MyanmarSpecifier>();
if (countryName == u8"Netherlands")
return std::make_unique<specs::NetherlandsSpecifier>();
if (countryName == u8"Nepal")
return std::make_unique<specs::NepalSpecifier>();
if (countryName == u8"New Zealand")
return std::make_unique<specs::NewZealandSpecifier>();
if (countryName == u8"Niger")
return std::make_unique<specs::NigerSpecifier>();
if (countryName == u8"Nigeria")
return std::make_unique<specs::NigeriaSpecifier>();
if (countryName == u8"North Korea")
return std::make_unique<specs::NorthKoreaSpecifier>();
if (countryName == u8"Norway")
return std::make_unique<specs::NorwaySpecifier>();
if (countryName == u8"Philippines")
return std::make_unique<specs::PhilippinesSpecifier>();
if (countryName == u8"Poland")
return std::make_unique<specs::PolandSpecifier>();
if (countryName == u8"Portugal")
return std::make_unique<specs::PortugalSpecifier>();
if (countryName == u8"Romania")
return std::make_unique<specs::RomaniaSpecifier>();
if (countryName == u8"Russia" ||
countryName == u8"Россия" || countryName == u8"Российская Федерация" || countryName == u8"РФ")
return std::make_unique<specs::RussiaSpecifier>();
if (countryName == u8"Serbia")
return std::make_unique<specs::SerbiaSpecifier>();
if (countryName == u8"Senegal")
return std::make_unique<specs::SenegalSpecifier>();
if (countryName == u8"Sierra Leone")
return std::make_unique<specs::SierraLeoneSpecifier>();
if (countryName == u8"Slovakia")
return std::make_unique<specs::SlovakiaSpecifier>();
if (countryName == u8"Slovenia")
return std::make_unique<specs::SloveniaSpecifier>();
if (countryName == u8"South Africa")
return std::make_unique<specs::SouthAfricaSpecifier>();
if (countryName == u8"South Korea")
return std::make_unique<specs::SouthKoreaSpecifier>();
if (countryName == u8"South Korea")
return std::make_unique<specs::SouthKoreaSpecifier>();
if (countryName == u8"South Sudan")
return std::make_unique<specs::SouthSudanSpecifier>();
if (countryName == u8"Swaziland")
return std::make_unique<specs::SwazilandSpecifier>();
if (countryName == u8"Switzerland")
return std::make_unique<specs::SwitzerlandSpecifier>();
if (countryName == u8"Sweden")
return std::make_unique<specs::SwedenSpecifier>();
if (countryName == u8"Syria")
return std::make_unique<specs::SyriaSpecifier>();
if (countryName == u8"Taiwan")
return std::make_unique<specs::TaiwanSpecifier>();
if (countryName == u8"Tajikistan")
return std::make_unique<specs::TajikistanSpecifier>();
if (countryName == u8"Tanzania")
return std::make_unique<specs::TanzaniaSpecifier>();
if (countryName == u8"Thailand")
return std::make_unique<specs::ThailandSpecifier>();
if (countryName == u8"Togo")
return std::make_unique<specs::TogoSpecifier>();
if (countryName == u8"Tunisia")
return std::make_unique<specs::TunisiaSpecifier>();
if (countryName == u8"Turkey")
return std::make_unique<specs::TurkeySpecifier>();
if (countryName == u8"Uganda")
return std::make_unique<specs::UgandaSpecifier>();
if (countryName == u8"Ukraine")
return std::make_unique<specs::UkraineSpecifier>();
if (countryName == u8"United Kingdom")
return std::make_unique<specs::UnitedKingdomSpecifier>();
if (countryName == u8"United States")
return std::make_unique<specs::UnitedStatesSpecifier>();
if (countryName == u8"Vanuatu")
return std::make_unique<specs::VanuatuSpecifier>();
if (countryName == u8"Vietnam")
return std::make_unique<specs::VietnamSpecifier>();
return std::make_unique<CountrySpecifier>();
}
// static
std::unordered_map<std::string, std::function<std::unique_ptr<CountrySpecifier>(void)>>
CountrySpecifierBuilder::m_specifiers;
} // namespace regions
} // namespace generator

View file

@ -2,6 +2,8 @@
#include "generator/regions/country_specifier.hpp"
#include "base/logging.hpp"
#include <memory>
#include <string>
@ -9,6 +11,42 @@ namespace generator
{
namespace regions
{
std::unique_ptr<CountrySpecifier> GetCountrySpecifier(std::string const & countryName);
class CountrySpecifierBuilder
{
public:
template <class T>
void static Register()
{
for (std::string name : T::GetCountryNames())
m_specifiers.emplace(std::make_pair(std::move(name), []() { return std::make_unique<T>(); }));
}
static std::unique_ptr<CountrySpecifier> GetCountrySpecifier(std::string const & country)
{
auto it = m_specifiers.find(country);
if (it == m_specifiers.end())
{
LOG(LWARNING, ("Country", country, "has not specifier, look at generator/regions/specs"));
return std::make_unique<CountrySpecifier>();
}
return it->second();
}
private:
static std::unordered_map<std::string, std::function<std::unique_ptr<CountrySpecifier>(void)>>
m_specifiers;
static std::set<std::string> kCountriesWithoutSpecifier;
static std::set<std::string> kCountriesWithSpecifier;
static std::mutex kMutex;
};
#define REGISTER_COUNTRY_SPECIFIER(Specifier) \
struct REGISTER_COUNTRY_SPECIFIER##Specifier \
{ \
REGISTER_COUNTRY_SPECIFIER##Specifier() { CountrySpecifierBuilder::Register<Specifier>(); } \
}; \
static REGISTER_COUNTRY_SPECIFIER##Specifier a;
} // namespace regions
} // namespace generator

View file

@ -297,7 +297,7 @@ Node::PtrList RegionsBuilder::BuildCountry(std::string const & countryName) cons
};
std::copy_if(std::begin(countries), std::end(countries), std::back_inserter(outers), pred);
auto countrySpecifier = GetCountrySpecifier(countryName);
auto countrySpecifier = CountrySpecifierBuilder::GetCountrySpecifier(countryName);
auto countryTrees = BuildCountryRegionTrees(outers, *countrySpecifier);
PlacePointsIntegrator pointsIntegrator{m_placePointsMap, *countrySpecifier};

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/afghanistan.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(AfghanistanSpecifier);
PlaceLevel AfghanistanSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class AfghanistanSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Afghanistan"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/albania.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(AlbaniaSpecifier);
PlaceLevel AlbaniaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class AlbaniaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Albania"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/algeria.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(AlgeriaSpecifier);
PlaceLevel AlgeriaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class AlgeriaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Algeria"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/andorra.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(AndorraSpecifier);
PlaceLevel AndorraSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class AndorraSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Andorra"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/angola.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(AngolaSpecifier);
PlaceLevel AngolaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class AngolaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Angola"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/antigua_and_barbuda.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(AntiguaAndBarbudaSpecifier);
PlaceLevel AntiguaAndBarbudaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class AntiguaAndBarbudaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"AntiguaAndBarbuda"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/argentina.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(ArgentinaSpecifier);
PlaceLevel ArgentinaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class ArgentinaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Argentina"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/aruba.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(ArubaSpecifier);
PlaceLevel ArubaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class ArubaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Aruba"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/australia.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(AustraliaSpecifier);
PlaceLevel AustraliaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class AustraliaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Australia"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/austria.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(AustriaSpecifier);
PlaceLevel AustriaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class AustriaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Austria"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/azerbaijan.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(AzerbaijanSpecifier);
PlaceLevel AzerbaijanSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class AzerbaijanSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Azerbaijan"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/bahamas.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BahamasSpecifier);
PlaceLevel BahamasSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BahamasSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Bahamas"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/bahrain.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BahrainSpecifier);
PlaceLevel BahrainSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BahrainSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Bahrain"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/bangladesh.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BangladeshSpecifier);
PlaceLevel BangladeshSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BangladeshSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Bangladesh"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/barbados.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BarbadosSpecifier);
PlaceLevel BarbadosSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BarbadosSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Barbados"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/belarus.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BelarusSpecifier);
PlaceLevel BelarusSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BelarusSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Belarus"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/belgium.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BelgiumSpecifier);
PlaceLevel BelgiumSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BelgiumSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Belgium"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/belize.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BelizeSpecifier);
PlaceLevel BelizeSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BelizeSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Belize"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/benin.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BeninSpecifier);
PlaceLevel BeninSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BeninSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Benin"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/bhutan.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BhutanSpecifier);
PlaceLevel BhutanSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BhutanSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Bhutan"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/bolivia.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BoliviaSpecifier);
PlaceLevel BoliviaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BoliviaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Bolivia"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/bosnia_and_herzegovina.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BosniaAndHerzegovinaSpecifier);
PlaceLevel BosniaAndHerzegovinaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BosniaAndHerzegovinaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Bosnia And Herzegovina"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/brazil.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BrazilSpecifier);
PlaceLevel BrazilSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BrazilSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Brazil"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/brunei.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BruneiSpecifier);
PlaceLevel BruneiSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BruneiSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Brunei"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/bulgaria.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BulgariaSpecifier);
PlaceLevel BulgariaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BulgariaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Bulgaria"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/burkina_faso.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BurkinaFasoSpecifier);
PlaceLevel BurkinaFasoSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BurkinaFasoSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Burkina Faso"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/burundi.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(BurundiSpecifier);
PlaceLevel BurundiSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class BurundiSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Burundi"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/cameroon.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(CameroonSpecifier);
PlaceLevel CameroonSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class CameroonSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Cameroon"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/canada.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(CanadaSpecifier);
PlaceLevel CanadaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class CanadaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Canada"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/chad.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(ChadSpecifier);
PlaceLevel ChadSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class ChadSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Chad"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/chile.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(ChileSpecifier);
PlaceLevel ChileSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class ChileSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Chile"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/china.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(ChinaSpecifier);
PlaceLevel ChinaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class ChinaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"China"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/colombia.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(ColombiaSpecifier);
PlaceLevel ColombiaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class ColombiaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Colombia"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/costa_rica.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(CostaRicaSpecifier);
PlaceLevel CostaRicaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class CostaRicaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"CostaRica"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/cote_divoire.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(CoteDivoireSpecifier);
PlaceLevel CoteDivoireSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class CoteDivoireSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {u8"Côte d'Ivoire"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/croatia.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(CroatiaSpecifier);
PlaceLevel CroatiaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class CroatiaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Croatia"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/cuba.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(CubaSpecifier);
PlaceLevel CubaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class CubaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Cuba"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/cyprus.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(CyprusSpecifier);
PlaceLevel CyprusSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class CyprusSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Cyprus"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/czech_republic.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(CzechRepublicSpecifier);
PlaceLevel CzechRepublicSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class CzechRepublicSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"CzechRepublic"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/denmark.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(DenmarkSpecifier);
PlaceLevel DenmarkSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class DenmarkSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Denmark"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/dominican_republic.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(DominicanRepublicSpecifier);
PlaceLevel DominicanRepublicSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class DominicanRepublicSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"DominicanRepublic"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/egypt.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(EgyptSpecifier);
PlaceLevel EgyptSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class EgyptSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Egypt"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/estonia.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(EstoniaSpecifier);
PlaceLevel EstoniaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class EstoniaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Estonia"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/ethiopia.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(EthiopiaSpecifier);
PlaceLevel EthiopiaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class EthiopiaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Ethiopia"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/finland.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(FinlandSpecifier);
PlaceLevel FinlandSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class FinlandSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Finland"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/france.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(FranceSpecifier);
PlaceLevel FranceSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class FranceSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"France"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/french_polynesia.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(FrenchPolynesiaSpecifier);
PlaceLevel FrenchPolynesiaSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class FrenchPolynesiaSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"FrenchPolynesia"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

View file

@ -1,11 +1,15 @@
#include "generator/regions/specs/gabon.hpp"
#include "generator/regions/country_specifier_builder.hpp"
namespace generator
{
namespace regions
{
namespace specs
{
REGISTER_COUNTRY_SPECIFIER(GabonSpecifier);
PlaceLevel GabonSpecifier::GetSpecificCountryLevel(Region const & region) const
{
AdminLevel adminLevel = region.GetAdminLevel();

View file

@ -11,6 +11,9 @@ namespace specs
{
class GabonSpecifier final : public CountrySpecifier
{
public:
static std::vector<std::string> GetCountryNames() { return {"Gabon"}; }
private:
// CountrySpecifier overrides:
PlaceLevel GetSpecificCountryLevel(Region const & region) const override;

Some files were not shown because too many files have changed in this diff Show more