int main(int argc, char** argv) { ReferenceCountPtr<Mapa> mapa(new Mapa()); ReferenceCountPtr<Continente> america(new Continente("AMERICA")); ReferenceCountPtr<Continente> asia(new Continente("ASIA")); ReferenceCountPtr<Continente> europa(new Continente("EUROPA")); ReferenceCountPtr<Pais> argentina(new Pais("ARGENTINA")); ReferenceCountPtr<Pais> bolivia(new Pais("BOLIVIA")); argentina->agregarAdyacente(bolivia); america->agregarPais(argentina); mapa->agregarPais(argentina); mapa->agregarPais(bolivia); mapa->agregarContinente(america); mapa->agregarContinente(asia); mapa->agregarContinente(europa); MapaParser parser; parser.saveMap("mapa.xml", mapa); ReferenceCountPtr<Pais> pais = mapa->obtenerPais("ARGENTINA"); ReferenceCountPtr<Continente> continente = mapa->obtenerContinente("EUROPA"); if (pais != NULL) { std::cout << "Contiene Argentina" << std::endl; } if (continente != NULL) { std::cout << "Contiene Europa" << std::endl; } ReferenceCountPtr<Mapa> otroMapa = parser.loadMap("mapa.xml"); Mapa::IteradorPais iterPais; for (iterPais = otroMapa->primerPais(); iterPais != otroMapa->ultimoPais(); ++iterPais) { ReferenceCountPtr<Pais> actual = *iterPais; std::cout << actual->getNombre() << std::endl; } return 0; }
void Earth::constructContinentsAndRegions() { // Australia Continent australia("Australia",2); australia.addRegion(std::make_pair(EasternAustralia, RegionStrings[EasternAustralia])); australia.addRegion(std::make_pair(Indonesia, RegionStrings[Indonesia])); australia.addRegion(std::make_pair(NewGuinea, RegionStrings[NewGuinea])); australia.addRegion(std::make_pair(WesternAustralia, RegionStrings[WesternAustralia])); continentList.push_back(australia); // North America Continent northAmerica("North America", 5); northAmerica.addRegion(std::make_pair(Alaska, RegionStrings[Alaska])); northAmerica.addRegion(std::make_pair(Alberta, RegionStrings[Alberta])); northAmerica.addRegion(std::make_pair(CentralAmerica, RegionStrings[CentralAmerica])); northAmerica.addRegion(std::make_pair(EasternUnitedStates, RegionStrings[EasternUnitedStates])); northAmerica.addRegion(std::make_pair(Greenland, RegionStrings[Greenland])); northAmerica.addRegion(std::make_pair(NorthwestTerritory, RegionStrings[NorthwestTerritory])); northAmerica.addRegion(std::make_pair(Ontario, RegionStrings[Ontario])); northAmerica.addRegion(std::make_pair(Quebec, RegionStrings[Quebec])); northAmerica.addRegion(std::make_pair(WesternUnitedStates, RegionStrings[WesternUnitedStates])); continentList.push_back(northAmerica); // South America Continent southAmerica("South America", 2); southAmerica.addRegion(std::make_pair(Argentina, RegionStrings[Argentina])); southAmerica.addRegion(std::make_pair(Brazil, RegionStrings[Brazil])); southAmerica.addRegion(std::make_pair(Peru, RegionStrings[Peru])); southAmerica.addRegion(std::make_pair(Venezuela, RegionStrings[Venezuela])); continentList.push_back(southAmerica); // Europe Continent europe("Europe", 5); europe.addRegion(std::make_pair(GreatBritain, RegionStrings[GreatBritain])); europe.addRegion(std::make_pair(Iceland, RegionStrings[Iceland])); europe.addRegion(std::make_pair(NorthernEurope, RegionStrings[NorthernEurope])); europe.addRegion(std::make_pair(Scandinavia, RegionStrings[Scandinavia])); europe.addRegion(std::make_pair(SouthernEurope, RegionStrings[SouthernEurope])); europe.addRegion(std::make_pair(Ukraine, RegionStrings[Ukraine])); europe.addRegion(std::make_pair(WesternEurope, RegionStrings[WesternEurope])); continentList.push_back(europe); // Asia Continent asia("Asia", 7); asia.addRegion(std::make_pair(Afghanistan, RegionStrings[Afghanistan])); asia.addRegion(std::make_pair(China, RegionStrings[China])); asia.addRegion(std::make_pair(India, RegionStrings[India])); asia.addRegion(std::make_pair(Irkutsk, RegionStrings[Irkutsk])); asia.addRegion(std::make_pair(Japan, RegionStrings[Japan])); asia.addRegion(std::make_pair(Kamchatka, RegionStrings[Kamchatka])); asia.addRegion(std::make_pair(MiddleEast, RegionStrings[MiddleEast])); asia.addRegion(std::make_pair(Mongolia, RegionStrings[Mongolia])); asia.addRegion(std::make_pair(Siam, RegionStrings[Siam])); asia.addRegion(std::make_pair(Siberia, RegionStrings[Siberia])); asia.addRegion(std::make_pair(Ural, RegionStrings[Ural])); asia.addRegion(std::make_pair(Yakutsk, RegionStrings[Yakutsk])); continentList.push_back(asia); // Africa Continent africa("Africa", 3); africa.addRegion(std::make_pair(Congo, RegionStrings[Congo])); africa.addRegion(std::make_pair(EastAfrica, RegionStrings[EastAfrica])); africa.addRegion(std::make_pair(Egypt, RegionStrings[Egypt])); africa.addRegion(std::make_pair(Madagascar, RegionStrings[Madagascar])); africa.addRegion(std::make_pair(NorthAfrica, RegionStrings[NorthAfrica])); africa.addRegion(std::make_pair(SouthAfrica, RegionStrings[SouthAfrica])); continentList.push_back(africa); }