From b3588517e29db8ac2d83dbd2327f2e9f9d2e91f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Ziobro=C5=84?= Date: Fri, 11 Jun 2021 19:12:31 +0200 Subject: [PATCH 001/100] fix #30 --- module2/presentation_static.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/module2/presentation_static.md b/module2/presentation_static.md index 803b4f6fb..736e23f0f 100644 --- a/module2/presentation_static.md +++ b/module2/presentation_static.md @@ -51,21 +51,21 @@ ___ Rozwiązaniem tej uciążliwości jest `static`. Co więcej, problem ten możemy rozwiązać na 2 sposoby. Nie musimy w ten sposób tworzyć specjalnie obiektu, aby dostać się do cechy klasy, jaką jest jej nazwa. ```cpp -class ObjectA { +class ClassA { public: - static std::string getName() { return "ObjectA"; } + static std::string getName() { return "ClassA"; } }; -class ObjectB { +class ClassB { public: static std::string name_; }; -std::string ObjectB::name_{"ObjectB"}; +std::string ClassB::name_{"ClassB"}; int main() { - std::cout << ObjectA::getName() << '\n'; - std::cout << ObjectB::name_ << '\n'; + std::cout << ClassA::getName() << '\n'; + std::cout << ClassB::name_ << '\n'; return 0; } From c5340c88e6394dd379916f1ffd511a3be4c9fb18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Ziobro=C5=84?= Date: Fri, 11 Jun 2021 19:13:54 +0200 Subject: [PATCH 002/100] fix #84 --- module2/presentation_static.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module2/presentation_static.md b/module2/presentation_static.md index 736e23f0f..e73fe4a05 100644 --- a/module2/presentation_static.md +++ b/module2/presentation_static.md @@ -11,7 +11,7 @@ ___ -## "Zmienna lub stała klasy" +## Zmienna lub stała klasy Czasami chcielibyśmy przypisać jakąś stałą cechę do klasy. Nie konkretnych obiektów, a klasy samej w sobie. From 220bf13cf12af434185d53afeca47742b26d8ff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Ziobro=C5=84?= Date: Fri, 11 Jun 2021 19:25:31 +0200 Subject: [PATCH 003/100] fix #88, module3 almost removed --- module2/presentation_polymorphism.md | 10 +- module2/presentation_solutions.md | 12 +- module2/presentation_virtual.md | 6 +- module3/index.html | 134 ---------- module3/presentation_homework.md | 148 ----------- module3/presentation_polymorphism.md | 367 --------------------------- module3/presentation_solutions.md | 267 ------------------- module3/presentation_static.md | 91 ------- 8 files changed, 15 insertions(+), 1020 deletions(-) delete mode 100644 module3/index.html delete mode 100644 module3/presentation_homework.md delete mode 100644 module3/presentation_polymorphism.md delete mode 100644 module3/presentation_solutions.md delete mode 100644 module3/presentation_static.md diff --git a/module2/presentation_polymorphism.md b/module2/presentation_polymorphism.md index 5e46c6f19..1612473c6 100644 --- a/module2/presentation_polymorphism.md +++ b/module2/presentation_polymorphism.md @@ -110,7 +110,7 @@ ___ `override` jest opcjonalne. Jeśli go nie podamy za sygnaturą funkcji klasy pochodnej to metoda z klasy bazowej i tak zostanie nadpisana. -Jego użycie jest jednak dobrą praktyką, bo dzięki niemu kompilator sprawdzi czy faktycznie nadpisujemy metodę z klasy bazowej i jeśli nie, to program się nie skompiluje. +Jego użycie jest jednak dobrą praktyką, bo dzięki niemu kompilator sprawdzi, czy faktycznie nadpisujemy metodę z klasy bazowej i jeśli nie, to program się nie skompiluje. Bez `override` mogłaby zostać utworzona nowa metoda w klasie pochodnej, która nie nadpisuje niczego z klasy bazowej. @@ -230,22 +230,22 @@ ___ ```cpp class Doppler { public: - virtual sayHello() { std::cout << "I'm Doppler!"; } + virtual void sayHello() { std::cout << "I'm Doppler!"; } }; class Dwarf : public Doppler { public: - virtual sayHello() { std::cout << "I'm Dwarf!"; } + virtual void sayHello() { std::cout << "I'm Dwarf!"; } }; class Elf : public Doppler { public: - virtual sayHello() { std::cout << "I'm Elf!"; } + virtual void sayHello() { std::cout << "I'm Elf!"; } }; class Human : public Doppler { public: - virtual sayHello() { std::cout << "I'm Human!"; } + virtual void sayHello() { std::cout << "I'm Human!"; } }; int main() { diff --git a/module2/presentation_solutions.md b/module2/presentation_solutions.md index 708e7969e..e090368cf 100644 --- a/module2/presentation_solutions.md +++ b/module2/presentation_solutions.md @@ -10,6 +10,12 @@ ___ +## Disclaimer + +W PDFie te rozwiązania mogą być częściowo ucięte. Przejdź do lekcji na platformie lub na GitHubie, aby zobaczyć je w całości. + +___ + ### Zadanie 1 Cargo.hpp @@ -247,11 +253,11 @@ Cargo* Player::getCargo(size_t index) const { } size_t Player::getAvailableSpace() const { - size_t total_cargo_amount = 0; + available_space_ = 0; for (const auto cargo : ship_->getCargos()) { - total_cargo_amount += cargo->getAmount(); + available_space_ += cargo->getAmount(); } - available_space_ = ship_->getCapacity() - total_cargo_amount; + return available_space_; } ``` diff --git a/module2/presentation_virtual.md b/module2/presentation_virtual.md index 44a01f5d6..d7b237865 100644 --- a/module2/presentation_virtual.md +++ b/module2/presentation_virtual.md @@ -82,16 +82,12 @@ public: }; class Hummingbird : public Bird, - public Flyable, - public Soundable { + public Flyable { public: // Override from Bird void eat() override; void sleep() override; - // Override from Soundable - void makeSound() override; - // Override from Flyable void fly() override; }; diff --git a/module3/index.html b/module3/index.html deleted file mode 100644 index 1712af944..000000000 --- a/module3/index.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - Object Oriented Programming - Coders School - - - - - - - - - - - - - -
-
-
-
- -

OOP #3

-

Object-Oriented Programming #3

- - Coders School - -

Mateusz Adamski

-

Łukasz Ziobroń

- -
-
- -
-
- -
-
- -
-
- -
-
-
-
-
-
-
-
-
- -

Coders School

- Coders School - -
-
-
- - - - - - - - - diff --git a/module3/presentation_homework.md b/module3/presentation_homework.md deleted file mode 100644 index 13c848d34..000000000 --- a/module3/presentation_homework.md +++ /dev/null @@ -1,148 +0,0 @@ - - -# Programowanie obiektowe - -## Podsumowanie - - - Coders School - - -___ - -## Co pamiętasz z dzisiaj? - -### Napisz na czacie jak najwięcej haseł - - -1. dziedziczenie -2. wielodziedziczenie -3. funkcje wirtualne -4. funkcje czysto wirtualne -5. klasy abstrakcyjne -6. interfejsy -7. polimorfizm -8. pola i metody statyczne - -___ - -### Pre-work - -* Dowiedzcie się czym jest problem diamentowy -* Poczytajcie o zasadach SOLID, dotyczących pisania dobrego kodu obiektowego -* Lektura o wzorcach projektowych z przykładami w C++ - [refactoring.guru](https://refactoring.guru/design-patterns) -* Spróbujcie w grupie metodą Copy & Paste dorzucić system budowania cmake do projektu. W tym celu popatrzcie na dotychczasowe zadania domowe i plik CMakeLists.txt. - -___ - -## Projekt grupowy - -Wykorzystajcie kod napisany podczas zajęć. Możecie też skorzystać z kodu w katalogu [solutions](solutions) - -Projekt grupowy - kontynuacja. Możecie zmienić grupę jeśli chcecie ;) - -___ - -## Organizacja prac - -* Jak wyglądało wasze daily? -* Czy Code Review nie jest zaniedbane? -* Czy współpraca idzie gładko? -* Zróbcie sobie retrospektywę :) - -___ - -### Punktacja - -* 3 pierwsze zadania - 5 punktów -* zadania 4, 5, 6 - 8 punktów -* 20 punktów za dostarczenie wszystkich 6 zadań przed 05.07.2020 (niedziela) do 23:59 -* brak punktów bonusowych za dostarczenie tylko części zadań przed 05.07 -* 6 punktów za pracę w grupie dla każdej osoby z grupy. - -___ - -## Zadanie 1 - -Napisz klasę `Store`, która będzie umożliwiała dokonywanie zakupów. Wykorzystaj poniższy enum i funkcje. - -```cpp -enum class Response {done, lack_of_money, lack_of_cargo, lack_of_space}; - -Response buy(Cargo* cargo, size_t amount, Player* player); -Response sell(Cargo* cargo, size_t amount, Player* player); -``` - -___ - -## Zadanie 2 - -W klasach `Alcohol`, `Fruit`, `Item` dopisz brakujące metody oraz ich implementacje. - -```cpp -// override from Cargo -size_t getPrice() const override; -std::string getName() const override { return name_; } -size_t getAmount() const override { return amount_; } -size_t getBasePrice() const override { return base_price_; } -Cargo& operator+=(size_t amount) override; -Cargo& operator-=(size_t amount) override; -bool operator==(Cargo& cargo) const override; -``` - -___ - -## Zadanie 3 - -Dopisz do klasy `Ship`, `Cargo` oraz `Store` metodę `nextDay()` - -* Klasa `Ship`: Metoda powinna odejmować po 1 sztuce monety za każdego członka załogi. -* Klasa `Cargo`: Metoda powinna powodować psucie się towarów. -* Klasa `Store`: Metoda powinna zmieniać ilość towaru w sklepach. - -___ - -## Zadanie 4 (dla ambitnych) - -Spróbuj napisać klasę `Time`, która będzie odpowiadać za zarządzanie czasem w grze. - -Klasa ta powinna informować inne klasy, takie jak `Cargo`, `Ship`, `Store` o upłynięciu każdego dnia. - -Poczytaj czym jest wzorzec projektowy [`Observer`](https://refactoring.guru/design-patterns/observer). - -___ - -## Zadanie 5 (dla ambitnych) - -Napisz zaprzyjaźniony operator wypisywania do strumienia - -```cpp -friend std::ostream& operator<<(std::ostream& out, const Store& store); -``` - -Ma on w przystępny sposób wypisywać towar, jaki znajduje się w danym sklepie. - -___ - -## Zadanie 6 (dla ambitnych) - -Napisz klasę `Game`, która zarządzać będzie całą rozgrywką. - -Dodaj jej jedną metodę publiczną `startGame()`. - -Finalnie plik main powinien wyglądać tak: - -```cpp -#include "Game.hpp" - -constexpr size_t start_money = 1'000; -constexpr size_t game_days = 100; -constexpr size_t final_goal = 2'000; - -int main() { - Game game(start_money, game_days, final_goal); - game.startGame(); - - return 0; -} -``` diff --git a/module3/presentation_polymorphism.md b/module3/presentation_polymorphism.md deleted file mode 100644 index 32a9b3088..000000000 --- a/module3/presentation_polymorphism.md +++ /dev/null @@ -1,367 +0,0 @@ - - -# Programowanie obiektowe - -## Polimorfizm - - - Coders School - - -___ - -## Słowo kluczowe `virtual` - -Jeżeli chcemy, aby przy używaniu wskaźników lub referencji na klasę bazową, jakaś metoda zachowywała się inaczej w zależności od prawdziwego typu obiektu, to należy ją oznaczyć słowem kluczowym `virtual`. Jest to tzw. funkcja wirtualna. - -___ - - -## Funkcja nie-wirtualna - -```cpp -#include - -struct Bird { - void sing() { std::cout << "tweet, tweet\n"; } -}; - -struct Sparrow : Bird { - void sing() { std::cout << "chirp, chirp\n"; } -}; - -int main() { - Sparrow sparrow; - Bird& bird = sparrow; - bird.sing(); - return 0; -} -``` - -Co pojawi się na ekranie? - - -`tweet, tweet` - - -___ - - -## Funkcja wirtualna - -```cpp -#include - -struct Bird { - virtual void sing() { std::cout << "tweet, tweet\n"; } -}; - -struct Sparrow : Bird { - void sing() { std::cout << "chirp, chirp\n"; } -}; - -int main() { - Sparrow sparrow; - Bird& bird = sparrow; - bird.sing(); - return 0; -} -``` - -Co pojawi się na ekranie? - - -`chirp, chirp` - - -[Sprawdź na ideone.com](https://ideone.com/yW43Tq) - - -___ - -## Słowo kluczowe `override` - -Jeżeli w klasie pochodnej **nadpisujemy** metodę wirtualną, czyli zmieniamy jej zachowanie, to należy dodać słowo `override`. - - -```cpp -class Interface { -public: - virtual void doSth() = 0; -}; - -class SomeClass : public Interface { -public: - void doSth() override; // there should be an implementation in cpp file -}; - -int main() { - // Interface interface; // Compilation error, Interface is pure virtual - SomeClass someClass; // OK - Interface* interface = &someClass; // OK, we hold a pointer -} -``` - - -___ - -### Mała uwaga - -`override` jest opcjonalne. Jeśli go nie podamy za sygnaturą funkcji klasy pochodnej to metoda z klasy bazowej i tak zostanie nadpisana. - - -Jego użycie jest jednak dobrą praktyką, bo dzięki niemu kompilator sprawdzi czy faktycznie przeciążamy metodą z klasy bazowej i jeśli nie, to program się nie skompiluje. - - -Bez `override` mogłaby zostać utworzona nowa metoda w klasie pochodnej, która nie nadpisuje niczego z klasy bazowej. - - -Metody wirtualne **nadpisujemy**, nie przeciążamy. - - -___ - -## Nadpisywanie metod - `override` - -Wracając do przykładu o ptakach, klasy `Penguin`, `Hummingbird` oraz `Goose` to klasy pochodne, które dziedziczą po pewnych klasach bazowych jak `Bird`, `Flyable`, `Soundable`, `Swimmable` oraz nadpisują kilka ich metod jak: - -* void eat() override -* void sleep() override -* void makeSound() override -* void fly() override -* void swim() override - -Nadpisanie takich metod powoduje, że możemy zmienić ich implementacje. - - -___ - -## `override` - -```cpp -class Soundable { -public: - virtual void makeSound() = 0; -}; -``` - -```cpp -class Goose : public Soundable { -public: - void makeSound() override { std::cout << "Honk! Honk!"; } -}; -``` - -```cpp -class Hen : public Soundable { -public: - void makeSound() override { std::cout << "Cluck! Cluck!"; } -}; -``` - -```cpp -class Duck : public Soundable { -public: - void makeSound() override { std::cout << "Quack! Quack!"; } -}; -``` - -___ - -## Wspólna klasa bazowa - -Ponieważ wspólnym rodzicem wszystkich klas jest klasa `Soundable` możemy przechowywać w kontenerze wskaźniki typu `Soundable`. - -```cpp -std::vector> birds_; -``` - -### Jakie dane otrzymamy na wyjściu? - -```cpp -std::vector> birds_; -birds_.push_back(std::make_shared()); -birds_.push_back(std::make_shared()); -birds_.push_back(std::make_shared()); - -std::cout << birds_[0]->makeSound() << '\n'; -std::cout << birds_[1]->makeSound() << '\n'; -std::cout << birds_[2]->makeSound() << '\n'; -``` - - -___ - -## Polimorfizm - -Zjawisko, które właśnie zaobserwowaliśmy, nazywa się polimorfizmem. - -Polimorfizm pozwala funkcji przybrać różne formy (implementacje), tak jak na przykładzie. - - -Dlatego, jeżeli utworzymy kolejno obiekty `Goose`, `Hen` i `Duck` w zależności od obiektu zostanie wywołana jego wersja metody `makeSound`. - - -Polimorfizm włącza się, gdy mamy funkcje wirtualne i używamy wskaźników lub referencji na typ bazowy. - - -### Kto grał lub czytał Wiedźmina? - - -___ - -## Doppler :) - -W uniwersum wykreowanym przez naszego rodzimego pisarza Andrzeja Sapkowskiego, występuje pewna intrygująca i ciekawa rasa zwana Dopplerami. - - -Rasa ta potrafi przyjąć, postać różnych form życia, może stać się człowiekiem, elfem, krasnoludem. Zmienia w ten sposób swoje cechy jak głos, kolor włosów, a nawet ubranie! - - -Pomimo że rasa ta jest typu Doppler, potrafi w różnych okolicznościach podszywać się pod inne rasy jak elf, krasnolud czy człowiek. - - -Z punktu widzenia C++ nasz Doppler podlega zjawisku polimorfizmu. - - -___ - - -```cpp -class Doppler { -public: - virtual sayHello() { std::cout << "I'm Doppler!"; } -}; - -class Dwarf : public Doppler { -public: - virtual void sayHello() { std::cout << "I'm Dwarf!"; } -}; - -class Elf : public Doppler { -public: - virtual void sayHello() { std::cout << "I'm Elf!"; } -}; - -class Human : public Doppler { -public: - virtual void sayHello() { std::cout << "I'm Human!"; } -}; - -int main() { - std::shared_ptr doppler1 = std::make_shared(); - std::shared_ptr doppler2 = std::make_shared(); - std::shared_ptr doppler3 = std::make_shared(); - - std::cout << doppler1->sayHello() << '\n'; - std::cout << doppler2->sayHello() << '\n'; - std::cout << doppler3->sayHello() << '\n'; -} -``` - - - -Jak widzimy, nasz Doppler może przyjąć różne formy i zachowywać się tak jak one. Wskaźnik jest typu Doppler, ale program dobrze wie, kiedy Doppler podszywa się pod człowieka, kiedy pod krasnoluda, a kiedy pod elfa. - -___ - - -## Nie-wirtualne destruktory - -Bardzo ważne w przypadku tworzenia metod wirtualnych i dziedziczenia jest tworzenie wirtualnych destruktorów. -Jeżeli korzystamy z dobroci polimorfizmu i nie oznaczymy destruktor jako `virtual` to destruktor ten nie zostanie wywołany. - -```cpp -#include -#include - -class Parent { -public: - Parent() { std::cout << "PARENT C'tor called\n"; } - ~Parent() { std::cout << "PARENT D'tor caller\n"; } -}; - -class Child : public Parent { -public: - Child() { std::cout << "CHILD C'tor called\n"; } - ~Child() { std::cout << "CHILD D'tor caller\n"; } -}; - -int main() { - Child child; // ok, object on stack, not a pointer -} -``` - -___ - -## Nie-wirtualne destruktory - problem - -```cpp -#include -#include -#include - -class Parent { -public: - Parent() { std::cout << "PARENT C'tor called\n"; } - ~Parent() { std::cout << "PARENT D'tor caller\n"; } -}; - -class Child : public Parent { -public: - Child() { std::cout << "CHILD C'tor called\n"; } - ~Child() { std::cout << "CHILD D'tor caller\n"; } -}; - -int main() { - // Problem - std::unique_ptr child = std::make_unique(); - - // But shared_ptr will cleanup properly - std::shared_ptr child2 = std::make_shared(); -} -``` - -___ - -## Wirtualny destruktor - -```cpp -#include -#include -#include - -class Parent { -public: - Parent() { std::cout << "PARENT C'tor called\n"; } - virtual ~Parent() { std::cout << "PARENT D'tor caller\n"; } -}; - -class Child : public Parent { -public: - Child() { std::cout << "CHILD C'tor called\n"; } - ~Child() override { std::cout << "CHILD D'tor caller\n"; } -}; - -int main() { - std::unique_ptr child2 = std::make_unique(); -} -``` - -___ - -## Q&A - -___ - -## Zadanie 3 - -Napisz klasę `DryFruit`, która dziedziczyć będzie po klasie `Fruit`. - -Klasa ta powinna nadpisywać metody `getPrice()`, `getName()` oraz `operator--`. - -`operator--` powinien odejmować zużycie raz na 10 wywołań. - -Metoda `getPrice()` powinna zwracać trzykrotnie większą wartość w porównaniu do ceny bazowej. - -Przetestuj wywołania polimorficzne oraz podziel się wnioskami. diff --git a/module3/presentation_solutions.md b/module3/presentation_solutions.md deleted file mode 100644 index 24c5503b1..000000000 --- a/module3/presentation_solutions.md +++ /dev/null @@ -1,267 +0,0 @@ - - -# Programowanie obiektowe - -## Przykładowe rozwiązania - - - Coders School - - -___ - -## Disclaimer - -W PDFie te rozwiązania mogą być częściowo ucięte. Przejdź do lekcji na platformie lub na GitHubie, aby zobaczyć je w całości. - -___ - -### Zadanie 1 - -Cargo.hpp - -```cpp -bool operator==(const Cargo& cargo) const; -``` - -Cargo.cpp - -```cpp -bool Cargo::operator==(const Cargo& cargo) const { - return Cargo.getBasePrice() == base_price_ && Cargo.getName() == name_; -} -``` - -___ - -### Zadanie 2 - -Cargo.hpp - -```cpp -std::string getName() const; -size_t getAmount() const; -size_t getBasePrice() const; -``` - -Cargo.cpp - -```cpp -std::string Cargo::getName() const { return name_; } -size_t Cargo::getAmount() const { return amount_; } -size_t Cargo::getBasePrice() const { return base_price_; } -``` - -___ - -### Zadanie 3 #1 - -Island.hpp - -```cpp -#include -#include - -#include "Store.hpp" - -class Time; - -// Class describes position of island and available store. -class Island { -public: - class Coordinates { - public: - Coordinates() = default; - Coordinates(size_t pos_x, size_t pos_y) - : pos_x_(pos_x), pos_y_(pos_y) {} - - bool operator==(const Coordinates& lhs) const { - return this->pos_x_ == lhs.pos_x_ && this->pos_y_ == lhs.pos_y_; - } - - private: - const size_t pos_x_{0}; - const size_t pos_y_{0}; - }; - - Island() {} - Island(size_t pos_x, size_t pos_y, Time* time); - Coordinates getCoordinates() const { return position_; } - Store* getStore() const { return store_.get(); } - -private: - std::unique_ptr store_; - Coordinates position_; -}; -``` - -___ - -### Zadanie 3 #2 - -Island.cpp - -```cpp -#include "GTime.hpp" -#include "Island.hpp" - -Island::Island(size_t pos_x, size_t pos_y, Time* time) - : position_(Coordinates(pos_x, pos_y)), - store_(std::make_unique(time)) { -} -``` - -___ - -## Zadanie 4/5/6 #1 - -Map.hpp - -```cpp -class Time; - -// Class responsible for map generation which will be used to travel. -class Map { -public: - Map(Time* time); - void travel(Island* destination); - Island* getIsland(const Island::Coordinates& coordinate); - Island* getCurrentPosition() const { return current_position_; } - friend std::ostream& operator<<(std::ostream& out, const Map& map); - -private: - Island* current_position_; - std::vector islands_; -}; -``` - -___ - -### Zadanie 4/5/6 #2 - -Map.cpp - -```cpp -constexpr size_t kIslandNum = 10; -constexpr size_t kWidth = 50; -constexpr size_t kHeight = 50; - -Map::Map(Time* time) { - std::random_device rd; - std::mt19937 gen(rd()); - std::uniform_int_distribution<> widthGen(0, kWidth); - std::uniform_int_distribution<> heightGen(0, kHeight); - std::vector islands(kIslandNum); - std::vector> usedPositions; - - // Generate map - for (size_t i = 0; i < kIslandNum; ++i) { - while (true) { - size_t x = widthGen(gen); - size_t y = heightGen(gen); - if (std::find_if(begin(usedPositions), - end(usedPositions), - [x, y](const auto& pos) { - return pos.first == x && pos.second == y; - }) == std::end(usedPositions)) { - usedPositions.push_back({x, y}); - islands_.push_back(Island(x, y, time)); - break; - } - } - } - - current_position_ = &islands_.front(); -} - -Island* Map::getIsland(const Island::Coordinates& coordinate) { - auto island = std::find_if(std::begin(islands_), - std::end(islands_), - [&coordinate](const Island& island) { - return coordinate == island.GetCoordinates(); - }); - return island != std::end(islands_) ? &*island : nullptr; -} - -void Map::travel(Island* destination) { - current_position_ = destination; -} -``` - -___ - -### Zadanie7/8 #1 - -Player.hpp - -```cpp -#include - -#include "Cargo.hpp" -#include "Ship.hpp" - -class Time; - -// Class is responsible for every action made by player -class Player { -public: - Player(size_t money, Time* time); - virtual ~Player() = default; - - virtual size_t getAvailableSpace() const; - virtual size_t getMoney() const; - virtual size_t getSpeed() const; - virtual Cargo* getCargo(size_t index) const; - -private: - std::unique_ptr ship_; - size_t money_; - size_t available_space_; -}; - -``` - -___ - -### Zadanie 7/8 #2 - -Player.cpp - -```cpp -constexpr size_t kCapacity = 100; -constexpr size_t kCrew = 50; -constexpr size_t kSpeed = 10; -constexpr char kName[] = "BLACK WIDOW"; -constexpr size_t kId = 10; - -Player::Player(size_t money, Time* time) - : ship_(std::make_unique(kCapacity, kCrew, kSpeed, kName, kId, time, this)), - money_(money), - available_space_(kCapacity) { -} - -size_t Player::getMoney() const { - return money_; -} - -size_t Player::getSpeed() const { - return ship_->getSpeed(); -} - -Cargo* Player::getCargo(size_t index) const { - return ship_->getCargo(index); -} - -size_t Player::getAvailableSpace() const { - available_space_ = 0; - for (const auto cargo : ship_->getCargos()) { - available_space_ += cargo->getAmount(); - } - - return available_space_; -} -``` - -___ - -## Q&A diff --git a/module3/presentation_static.md b/module3/presentation_static.md deleted file mode 100644 index da4b1bb48..000000000 --- a/module3/presentation_static.md +++ /dev/null @@ -1,91 +0,0 @@ - - -# Programowanie obiektowe - -## Zmienne i funkcje statyczne - - - Coders School - - -___ - - -## "Zmienna lub stała klasy" - -Czasami chcielibyśmy przypisać jakąś stałą cechę do klasy. -Nie konkretnych obiektów, a klasy samej w sobie. -Np. każdy obiekt klasy ma nazwę "Object". - - -```cpp -class Object { -public: - std::string GetName() const { return name_; } - -private: - const std::string name_ = "Object"; -}; -``` - - -W celu otrzymania nazwy tego obiektu, musimy najpierw utworzyć obiekt, a następnie zawołać `getName()`. - - -```cpp -int main() { - Object obj; - std::cout << obj.getName() << '\n'; -} -``` - - -Nawet jeżeli obiekt zajmowałby dużo miejsca w pamięci a my chcielibyśmy tylko jego nazwę i tak musimy go utworzyć, ponieważ tylko na nim możemy zawołać metodę `getName()`. - - -___ - - -## `static` - -Rozwiązaniem tej uciążliwości jest `static`. Co więcej, problem ten możemy rozwiązać na 2 sposoby. Nie musimy w ten sposób tworzyć specjalnie obiektu, aby dostać się do cechy klasy, jaką jest jej nazwa. - -```cpp -class ObjectA { -public: - static std::string getName() { return "ObjectA"; } -}; - -class ObjectB { -public: - static std::string name_; -}; - -std::string ObjectB::name_{"ObjectB"}; - -int main() { - std::cout << ObjectA::getName() << '\n'; - std::cout << ObjectB::name_ << '\n'; - - return 0; -} -``` - - - - -___ - -## Q&A - -___ - -## Zadanie 4 - -Przekształć klasę bazową `Coordinates`, tak aby miała funkcję statyczną - -```cpp -static size_t distance(const Coordinates& lhs, const Coordinates& rhs) -``` - -Funkcja ta powinna zwracać dystans pomiędzy dwoma pozycjami. From 44b8e81a50eeffc853cc8fa3649e579d4fe198a4 Mon Sep 17 00:00:00 2001 From: Barbara Tessema <74462021+BarTes8@users.noreply.github.com> Date: Mon, 14 Jun 2021 13:44:44 +0200 Subject: [PATCH 004/100] Update 09-operators.md --- module1/09-operators.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module1/09-operators.md b/module1/09-operators.md index 395ce6e97..fc14da274 100644 --- a/module1/09-operators.md +++ b/module1/09-operators.md @@ -37,7 +37,7 @@ public: ```cpp int main() { - Person adam("Adam", 25) + Person adam("Adam", 25); ++adam; std::cout << adam.getAge() << '\n'; // prints 26 } From 5fc1b6fb8b355d12cdbc70e52a0241550df5b698 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Thu, 17 Jun 2021 23:41:34 +0200 Subject: [PATCH 005/100] Project start. First concept of files structure --- shm/cargo.hpp | 19 +++++++++++++++++++ shm/main.cpp | 11 +++++++++++ shm/ship.hpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 shm/cargo.hpp create mode 100644 shm/main.cpp create mode 100644 shm/ship.hpp diff --git a/shm/cargo.hpp b/shm/cargo.hpp new file mode 100644 index 000000000..7049ab811 --- /dev/null +++ b/shm/cargo.hpp @@ -0,0 +1,19 @@ +#pragma once +#include + +class Cargo { +public: + Cargo& operator+=(size_t amount) { + amount_ += amount; + return *this; + } + Cargo& operator-=(size_t amount) { + amount_ -= amount; + return *this; + } + +protected: + std::string name_; + size_t amount_; + size_t basePrice_; +}; diff --git a/shm/main.cpp b/shm/main.cpp new file mode 100644 index 000000000..433a465b2 --- /dev/null +++ b/shm/main.cpp @@ -0,0 +1,11 @@ +#include +#include "cargo.hpp" +#include "ship.hpp" + +int main() { + + Cargo testCargo; + Ship testShip; + + return 0; +} \ No newline at end of file diff --git a/shm/ship.hpp b/shm/ship.hpp new file mode 100644 index 000000000..f26ac1429 --- /dev/null +++ b/shm/ship.hpp @@ -0,0 +1,45 @@ +#pragma once +#include + +class Ship { +public: + Ship() + : id_(-1) + {} + Ship(int capacity, int maxCrew, int speed, const std::string& name, size_t id) + : capacity_(capacity) + , maxCrew_(maxCrew) + , crew_(0) + , speed_(speed) + , name_(name) + , id_(id) + {} + Ship(int maxCrew, int speed, size_t id) + : Ship(0, maxCrew, speed, "", id) + {} + + void setName(const std::string& name) { name_ = name; } + + Ship& operator-=(size_t num) { + crew_ -= num; + return *this; + } + Ship& operator+=(size_t num) { + crew_ += num; + return *this; + } + + size_t getCapacity() const { return capacity_; } + size_t getMaxCrew() const { return maxCrew_; } + size_t getSpeed() const { return speed_; } + std::string getName() const { return name_; } + size_t getId() const { return id_; } + +private: + size_t capacity_; + size_t maxCrew_; + size_t crew_; + size_t speed_; + std::string name_; + const size_t id_; +}; From ea70a73a80d6f09ddffb75f16f014e1ebbbb594b Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Sun, 20 Jun 2021 11:25:15 +0200 Subject: [PATCH 006/100] Files cargo.cpp and ship.cpp created. Methods impementations moved there (from hpp files). --- shm/cargo.cpp | 11 +++++++++++ shm/cargo.hpp | 10 ++-------- shm/ship.cpp | 19 +++++++++++++++++++ shm/ship.hpp | 24 +++++++++--------------- 4 files changed, 41 insertions(+), 23 deletions(-) create mode 100644 shm/cargo.cpp create mode 100644 shm/ship.cpp diff --git a/shm/cargo.cpp b/shm/cargo.cpp new file mode 100644 index 000000000..0b2e469b7 --- /dev/null +++ b/shm/cargo.cpp @@ -0,0 +1,11 @@ +#include "cargo.hpp" + +Cargo& Cargo::operator+=(size_t amount) { + amount_ += amount; + return *this; +} + +Cargo& Cargo::operator-=(size_t amount) { + amount_ -= amount; + return *this; +} diff --git a/shm/cargo.hpp b/shm/cargo.hpp index 7049ab811..8d26131ba 100644 --- a/shm/cargo.hpp +++ b/shm/cargo.hpp @@ -3,14 +3,8 @@ class Cargo { public: - Cargo& operator+=(size_t amount) { - amount_ += amount; - return *this; - } - Cargo& operator-=(size_t amount) { - amount_ -= amount; - return *this; - } + Cargo& operator+=(size_t amount); + Cargo& operator-=(size_t amount); protected: std::string name_; diff --git a/shm/ship.cpp b/shm/ship.cpp new file mode 100644 index 000000000..a1490e630 --- /dev/null +++ b/shm/ship.cpp @@ -0,0 +1,19 @@ +#include "ship.hpp" + +Ship& Ship::operator-=(size_t num) { + crew_ -= num; + return *this; +} + +Ship& Ship::operator+=(size_t num) { + crew_ += num; + return *this; +} + +size_t Ship::getCapacity() const { return capacity_; } +size_t Ship::getMaxCrew() const { return maxCrew_; } +size_t Ship::getSpeed() const { return speed_; } +std::string Ship::getName() const { return name_; } +size_t Ship::getId() const { return id_; } + +void Ship::setName(const std::string& name) { name_ = name; } diff --git a/shm/ship.hpp b/shm/ship.hpp index f26ac1429..2dcde3a97 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -18,23 +18,17 @@ class Ship { : Ship(0, maxCrew, speed, "", id) {} - void setName(const std::string& name) { name_ = name; } + Ship& operator-=(size_t num); + Ship& operator+=(size_t num); - Ship& operator-=(size_t num) { - crew_ -= num; - return *this; - } - Ship& operator+=(size_t num) { - crew_ += num; - return *this; - } - - size_t getCapacity() const { return capacity_; } - size_t getMaxCrew() const { return maxCrew_; } - size_t getSpeed() const { return speed_; } - std::string getName() const { return name_; } - size_t getId() const { return id_; } + size_t getCapacity() const; + size_t getMaxCrew() const; + size_t getSpeed() const; + std::string getName() const; + size_t getId() const; + void setName(const std::string& name); + private: size_t capacity_; size_t maxCrew_; From 5f82ef7e87b0b609394365d9adee756608939fa5 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Sun, 20 Jun 2021 11:41:39 +0200 Subject: [PATCH 007/100] Task 'Zadanie 2' completed. Constructor and getters added to the class 'Cargo'. --- shm/cargo.cpp | 10 ++++++++++ shm/cargo.hpp | 10 ++++++++++ shm/main.cpp | 2 +- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/shm/cargo.cpp b/shm/cargo.cpp index 0b2e469b7..38ff0b54e 100644 --- a/shm/cargo.cpp +++ b/shm/cargo.cpp @@ -9,3 +9,13 @@ Cargo& Cargo::operator-=(size_t amount) { amount_ -= amount; return *this; } + +std::string Cargo::getName() { + return name_; +} +size_t Cargo::getAmount() { + return amount_; +} +size_t Cargo::getBasePrice() { + return basePrice_; +} \ No newline at end of file diff --git a/shm/cargo.hpp b/shm/cargo.hpp index 8d26131ba..e0a14543b 100644 --- a/shm/cargo.hpp +++ b/shm/cargo.hpp @@ -3,9 +3,19 @@ class Cargo { public: + Cargo(std::string name, size_t amount, size_t basePrice) + : name_(name) + , amount_(amount) + , basePrice_(basePrice) + {} + Cargo& operator+=(size_t amount); Cargo& operator-=(size_t amount); + std::string getName(); + size_t getAmount(); + size_t getBasePrice(); + protected: std::string name_; size_t amount_; diff --git a/shm/main.cpp b/shm/main.cpp index 433a465b2..85c18d225 100644 --- a/shm/main.cpp +++ b/shm/main.cpp @@ -4,7 +4,7 @@ int main() { - Cargo testCargo; + Cargo testCargo("test cargo", 12, 13); Ship testShip; return 0; From 268dd718016b21539a3a465fb486925d150b2538 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Sun, 20 Jun 2021 17:21:11 +0200 Subject: [PATCH 008/100] Adding operator == --- shm/cargo.cpp | 15 +++++++++++---- shm/cargo.hpp | 8 +++++--- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/shm/cargo.cpp b/shm/cargo.cpp index 38ff0b54e..d8529a264 100644 --- a/shm/cargo.cpp +++ b/shm/cargo.cpp @@ -10,12 +10,19 @@ Cargo& Cargo::operator-=(size_t amount) { return *this; } -std::string Cargo::getName() { +bool Cargo::operator == (const Cargo& cargo) const { + return cargo.getName() == name_ && cargo.getBasePrice() == basePrice_; + } + +std::string Cargo::getName() const { return name_; } -size_t Cargo::getAmount() { +size_t Cargo::getAmount() const { return amount_; } -size_t Cargo::getBasePrice() { +size_t Cargo::getBasePrice() const { return basePrice_; -} \ No newline at end of file +} + + + diff --git a/shm/cargo.hpp b/shm/cargo.hpp index e0a14543b..0ac42c08d 100644 --- a/shm/cargo.hpp +++ b/shm/cargo.hpp @@ -12,9 +12,11 @@ class Cargo { Cargo& operator+=(size_t amount); Cargo& operator-=(size_t amount); - std::string getName(); - size_t getAmount(); - size_t getBasePrice(); + bool operator == (const Cargo& ) const; + + std::string getName() const; + size_t getAmount() const; + size_t getBasePrice() const; protected: std::string name_; From 1f174786ba824fcdee9dbd2758556b65509ed800 Mon Sep 17 00:00:00 2001 From: Jakub Kubalka Date: Tue, 22 Jun 2021 14:59:06 +0200 Subject: [PATCH 009/100] Initialize files and made first functionality --- shm/Map.cpp | 8 ++++++++ shm/Map.hpp | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 shm/Map.cpp create mode 100644 shm/Map.hpp diff --git a/shm/Map.cpp b/shm/Map.cpp new file mode 100644 index 000000000..c984b4527 --- /dev/null +++ b/shm/Map.cpp @@ -0,0 +1,8 @@ +#include "Map.hpp" + +Map::Map(Island island, Island* currentPosition) + : currentPostion_(currentPostion) + {} +void Map::initialize () { + +} \ No newline at end of file diff --git a/shm/Map.hpp b/shm/Map.hpp new file mode 100644 index 000000000..b7df79342 --- /dev/null +++ b/shm/Map.hpp @@ -0,0 +1,16 @@ +#pragma once +#include +#include +#include +#include + +class Map { +public: + Map(Island island, Island* currentPosition) + : currentPostion_(currentPosition) + {} + virtual void initialize(island); +private: + std::vector islands_; //I dont know if this vector is going to be the only place where we are collecting islands. If its the only way to somehow "remember" islands, then pointer is pointless (hehe) + Island* currentPostion_; +}; \ No newline at end of file From 3f5d8f7cb69bd846087d6e86601b22495ab1789f Mon Sep 17 00:00:00 2001 From: Jakub Kubalka Date: Tue, 22 Jun 2021 15:21:37 +0200 Subject: [PATCH 010/100] Added getPosition, Initialization, default constructor, some additional changes --- shm/Map.cpp | 11 +++++++---- shm/Map.hpp | 11 ++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/shm/Map.cpp b/shm/Map.cpp index c984b4527..bbd9cf355 100644 --- a/shm/Map.cpp +++ b/shm/Map.cpp @@ -1,8 +1,11 @@ #include "Map.hpp" -Map::Map(Island island, Island* currentPosition) - : currentPostion_(currentPostion) +Map::Map(Island* currentPosition) + : currentPostion_(currentPosition) {} -void Map::initialize () { - +void Map::initializeMap (const Island& island) { + islands_.push_back(island); +} +Island* Map::getPosition() { + return currentPostion_; } \ No newline at end of file diff --git a/shm/Map.hpp b/shm/Map.hpp index b7df79342..5b4d9c1a7 100644 --- a/shm/Map.hpp +++ b/shm/Map.hpp @@ -1,16 +1,17 @@ #pragma once -#include #include #include #include class Map { public: - Map(Island island, Island* currentPosition) + Map() = default; + Map(Island* currentPosition) //I dont know, if i want to fill vector of islands, i need to put island into constructor, or filling the vector will be done only by function : currentPostion_(currentPosition) {} - virtual void initialize(island); + virtual void initializeMap(const Island& island); + Island* const getPosition(); private: std::vector islands_; //I dont know if this vector is going to be the only place where we are collecting islands. If its the only way to somehow "remember" islands, then pointer is pointless (hehe) - Island* currentPostion_; -}; \ No newline at end of file + Island* currentPostion_; +}; From cd73046d7db03ce234035d257b66735bd00a0e64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Meisnerowski?= Date: Tue, 22 Jun 2021 23:21:59 +0200 Subject: [PATCH 011/100] Added island.cpp and island.hpp files --- shm/island.cpp | 26 ++++++++++++++++++++++++++ shm/island.hpp | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 shm/island.cpp create mode 100644 shm/island.hpp diff --git a/shm/island.cpp b/shm/island.cpp new file mode 100644 index 000000000..589c6926e --- /dev/null +++ b/shm/island.cpp @@ -0,0 +1,26 @@ +#include "island.hpp" + +void Island::Coordinates::setPositionX(int& positionX) { + positionX = positionX_; +} +int Island::Coordinates::getPositionX() const { + return positionX_; +} + +void Island::Coordinates::setPositionY(int& positionY) { + positionY = positionY_; +} +int Island::Coordinates::getPositionY() const { + return positionY_; +} + +bool Island::Coordinates::operator== (const Coordinates& n_pos) const { + if ( positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_) { + return true; + } + return false; +} + +Island::Coordinates Island::getPosition() const { + return position_; +} \ No newline at end of file diff --git a/shm/island.hpp b/shm/island.hpp new file mode 100644 index 000000000..aa9cc84a0 --- /dev/null +++ b/shm/island.hpp @@ -0,0 +1,38 @@ +#pragma once + +class Island { + + public: + + Island(int positionX, int positionY) + : position_(Coordinates(positionX, positionY)) + {} + + class Coordinates { + public: + + Coordinates(int& positionX, int& positionY) + : positionX_(positionX) + , positionY_(positionY) + {} + + void setPositionX(int& ); + int getPositionX() const; + + void setPositionY(int& ); + int getPositionY() const; + + bool operator== (const Coordinates& n_pos) const; + + private: + int positionX_; + int positionY_; + }; + + Coordinates getPosition() const; + + + private: + Coordinates position_; + +}; \ No newline at end of file From 92d4e90fa65a5026889e471567d01c8beb7b26a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Wed, 23 Jun 2021 09:32:27 +0200 Subject: [PATCH 012/100] Adding player.hpp --- shm/player.hpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 shm/player.hpp diff --git a/shm/player.hpp b/shm/player.hpp new file mode 100644 index 000000000..98a1ce6de --- /dev/null +++ b/shm/player.hpp @@ -0,0 +1,22 @@ +#pragma once +#include "ship.hpp" +#include "cargo.hpp" +#include + +class Player +{ +public: + Player(std::shared_ptr ship, uint16_t money_, uint8_t availableSpace_); + ~Player(); + + std::shared_ptr getShip() const; + uint16_t getMoney() const; + uint16_t getAvailableSpace() const; + +private: + std::shared_ptr ship_; + uint16_t money_; + uint16_t availableSpace_; + +}; + From ae6a443e022c49a8c5217bb5bf34beb2532f9260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Wed, 23 Jun 2021 09:47:16 +0200 Subject: [PATCH 013/100] Adding player.cpp, player.hpp -corrected --- shm/player.cpp | 14 ++++++++++++++ shm/player.hpp | 13 ++++++------- 2 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 shm/player.cpp diff --git a/shm/player.cpp b/shm/player.cpp new file mode 100644 index 000000000..d96eacc1f --- /dev/null +++ b/shm/player.cpp @@ -0,0 +1,14 @@ +#include "player.hpp" + + Player::Player(std::shared_ptr ship, uint16_t money, uint8_t availableSpace) + : ship_(ship) + , money_(money) + , availableSpace_(availableSpace) + {} + + Player::~Player() {}; + + + uint16_t Player::getMoney() const { return money_ ;} + uint16_t Player::getAvailableSpace() const { return availableSpace_;} + std::shared_ptrPlayer::getShip() const { return ship_ ;}; diff --git a/shm/player.hpp b/shm/player.hpp index 98a1ce6de..394c3fb3e 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -1,12 +1,13 @@ #pragma once -#include "ship.hpp" -#include "cargo.hpp" + #include -class Player -{ +#include "cargo.hpp" +#include "ship.hpp" + +class Player { public: - Player(std::shared_ptr ship, uint16_t money_, uint8_t availableSpace_); + Player(std::shared_ptr ship, uint16_t money, uint8_t availableSpace); ~Player(); std::shared_ptr getShip() const; @@ -17,6 +18,4 @@ class Player std::shared_ptr ship_; uint16_t money_; uint16_t availableSpace_; - }; - From 99cdf867251976aa55674e1e4e029898037e1e77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Wed, 23 Jun 2021 09:56:27 +0200 Subject: [PATCH 014/100] getSpeed() implemented --- shm/player.cpp | 3 +++ shm/player.hpp | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/shm/player.cpp b/shm/player.cpp index d96eacc1f..3b4f8eef4 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -12,3 +12,6 @@ uint16_t Player::getMoney() const { return money_ ;} uint16_t Player::getAvailableSpace() const { return availableSpace_;} std::shared_ptrPlayer::getShip() const { return ship_ ;}; + + size_t Player::getSpeed() const { return ship_ -> getSpeed();}; + diff --git a/shm/player.hpp b/shm/player.hpp index 394c3fb3e..d5cd71eff 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -10,9 +10,11 @@ class Player { Player(std::shared_ptr ship, uint16_t money, uint8_t availableSpace); ~Player(); - std::shared_ptr getShip() const; uint16_t getMoney() const; uint16_t getAvailableSpace() const; + std::shared_ptr getShip() const; + size_t getSpeed() const; + //Cargo* getCargo(size_t index) const; private: std::shared_ptr ship_; From daa404b464b86455a525b5449a0814e451c5ab21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Wed, 23 Jun 2021 12:47:32 +0200 Subject: [PATCH 015/100] implemented getCargo() --- shm/cargo.hpp | 7 ++++--- shm/player.cpp | 30 ++++++++++++++++++------------ shm/player.hpp | 12 ++++++------ shm/ship.cpp | 8 ++++++++ shm/ship.hpp | 22 ++++++++++------------ 5 files changed, 46 insertions(+), 33 deletions(-) diff --git a/shm/cargo.hpp b/shm/cargo.hpp index 0ac42c08d..b3f962a32 100644 --- a/shm/cargo.hpp +++ b/shm/cargo.hpp @@ -7,16 +7,17 @@ class Cargo { : name_(name) , amount_(amount) , basePrice_(basePrice) - {} + {} Cargo& operator+=(size_t amount); Cargo& operator-=(size_t amount); - bool operator == (const Cargo& ) const; - + bool operator==(const Cargo&) const; + std::string getName() const; size_t getAmount() const; size_t getBasePrice() const; + protected: std::string name_; diff --git a/shm/player.cpp b/shm/player.cpp index 3b4f8eef4..98e052245 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -1,17 +1,23 @@ #include "player.hpp" - Player::Player(std::shared_ptr ship, uint16_t money, uint8_t availableSpace) - : ship_(ship) - , money_(money) - , availableSpace_(availableSpace) - {} +Player::Player(std::shared_ptr ship, size_t money, size_t availableSpace) + : ship_(ship), money_(money), availableSpace_(availableSpace) {} - Player::~Player() {}; +Player::~Player(){}; - - uint16_t Player::getMoney() const { return money_ ;} - uint16_t Player::getAvailableSpace() const { return availableSpace_;} - std::shared_ptrPlayer::getShip() const { return ship_ ;}; +size_t Player::getMoney() const { + return money_; +} +size_t Player::getAvailableSpace() const { + return availableSpace_; +} +std::shared_ptr Player::getShip() const { + return ship_; +}; - size_t Player::getSpeed() const { return ship_ -> getSpeed();}; - +size_t Player::getSpeed() const { + return ship_->getSpeed(); +} +std::shared_ptr Player::getCargo(size_t index) const { + return ship_->getCargo(index); +} diff --git a/shm/player.hpp b/shm/player.hpp index d5cd71eff..e08788587 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -7,17 +7,17 @@ class Player { public: - Player(std::shared_ptr ship, uint16_t money, uint8_t availableSpace); + Player(std::shared_ptr ship, size_t money, size_t availableSpace); ~Player(); - uint16_t getMoney() const; - uint16_t getAvailableSpace() const; + size_t getMoney() const; + size_t getAvailableSpace() const; std::shared_ptr getShip() const; size_t getSpeed() const; - //Cargo* getCargo(size_t index) const; + std::shared_ptr getCargo(size_t index) const; private: std::shared_ptr ship_; - uint16_t money_; - uint16_t availableSpace_; + size_t money_; + size_t availableSpace_; }; diff --git a/shm/ship.cpp b/shm/ship.cpp index a1490e630..b8e3f6256 100644 --- a/shm/ship.cpp +++ b/shm/ship.cpp @@ -1,5 +1,10 @@ +#include + +#include "cargo.hpp" #include "ship.hpp" + + Ship& Ship::operator-=(size_t num) { crew_ -= num; return *this; @@ -16,4 +21,7 @@ size_t Ship::getSpeed() const { return speed_; } std::string Ship::getName() const { return name_; } size_t Ship::getId() const { return id_; } +std::shared_ptr Ship::getCargo(size_t index) const { return cargo_[index];} + + void Ship::setName(const std::string& name) { name_ = name; } diff --git a/shm/ship.hpp b/shm/ship.hpp index 2dcde3a97..1ae6ab5e4 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -1,22 +1,18 @@ #pragma once +#include #include +#include + +#include "cargo.hpp" class Ship { public: Ship() - : id_(-1) - {} + : id_(-1) {} Ship(int capacity, int maxCrew, int speed, const std::string& name, size_t id) - : capacity_(capacity) - , maxCrew_(maxCrew) - , crew_(0) - , speed_(speed) - , name_(name) - , id_(id) - {} + : capacity_(capacity), maxCrew_(maxCrew), crew_(0), speed_(speed), name_(name), id_(id) {} Ship(int maxCrew, int speed, size_t id) - : Ship(0, maxCrew, speed, "", id) - {} + : Ship(0, maxCrew, speed, "", id) {} Ship& operator-=(size_t num); Ship& operator+=(size_t num); @@ -26,9 +22,10 @@ class Ship { size_t getSpeed() const; std::string getName() const; size_t getId() const; + std::shared_ptr Ship::getCargo(size_t index) const; void setName(const std::string& name); - + private: size_t capacity_; size_t maxCrew_; @@ -36,4 +33,5 @@ class Ship { size_t speed_; std::string name_; const size_t id_; + std::vector> cargo_; }; From 8637398424b75f1e66fc349fc4813ad5c02ff416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Wed, 23 Jun 2021 18:37:50 +0200 Subject: [PATCH 016/100] corrected --- shm/cargo.cpp | 2 +- shm/player.cpp | 14 +++++++++++++- shm/player.hpp | 5 +++++ shm/ship.cpp | 9 ++++++++- shm/ship.hpp | 4 ++-- 5 files changed, 29 insertions(+), 5 deletions(-) diff --git a/shm/cargo.cpp b/shm/cargo.cpp index d8529a264..a11e2d72e 100644 --- a/shm/cargo.cpp +++ b/shm/cargo.cpp @@ -11,7 +11,7 @@ Cargo& Cargo::operator-=(size_t amount) { } bool Cargo::operator == (const Cargo& cargo) const { - return cargo.getName() == name_ && cargo.getBasePrice() == basePrice_; + return cargo.getName() == name_ && cargo.getBasePrice() == basePrice_; // I think basePrice is usless in this example. } std::string Cargo::getName() const { diff --git a/shm/player.cpp b/shm/player.cpp index 98e052245..46aa138d7 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -1,10 +1,16 @@ #include "player.hpp" +// constructors Player::Player(std::shared_ptr ship, size_t money, size_t availableSpace) - : ship_(ship), money_(money), availableSpace_(availableSpace) {} + : ship_(ship) + , money_(money) + , availableSpace_(availableSpace) + {} Player::~Player(){}; +//getters + size_t Player::getMoney() const { return money_; } @@ -21,3 +27,9 @@ size_t Player::getSpeed() const { std::shared_ptr Player::getCargo(size_t index) const { return ship_->getCargo(index); } + + +//methods + + + diff --git a/shm/player.hpp b/shm/player.hpp index e08788587..668ba0449 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -10,14 +10,19 @@ class Player { Player(std::shared_ptr ship, size_t money, size_t availableSpace); ~Player(); + // getters size_t getMoney() const; size_t getAvailableSpace() const; std::shared_ptr getShip() const; size_t getSpeed() const; std::shared_ptr getCargo(size_t index) const; + private: std::shared_ptr ship_; size_t money_; size_t availableSpace_; + + //metods + // size_t availableSpace(); }; diff --git a/shm/ship.cpp b/shm/ship.cpp index b8e3f6256..5c89e6f21 100644 --- a/shm/ship.cpp +++ b/shm/ship.cpp @@ -21,7 +21,14 @@ size_t Ship::getSpeed() const { return speed_; } std::string Ship::getName() const { return name_; } size_t Ship::getId() const { return id_; } -std::shared_ptr Ship::getCargo(size_t index) const { return cargo_[index];} +std::shared_ptr Ship::getCargo(size_t index) const +{ + if(cargo_.size() < 0) { + return nullptr; + } + return cargo_[index]; +} + void Ship::setName(const std::string& name) { name_ = name; } diff --git a/shm/ship.hpp b/shm/ship.hpp index 1ae6ab5e4..93c8a7147 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -22,8 +22,8 @@ class Ship { size_t getSpeed() const; std::string getName() const; size_t getId() const; - std::shared_ptr Ship::getCargo(size_t index) const; - + std::shared_ptr getCargo(size_t index) const; + std::vector> getCargos() const; void setName(const std::string& name); private: From b1fe926ab4a28ccceeb77483a55aefe47cf90c4d Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Sat, 26 Jun 2021 13:06:32 +0200 Subject: [PATCH 017/100] Changed capital letter in fiilenames Map.cpp and Map.hpp. Included island.hpp in map.hpp. --- shm/{Map.cpp => map.cpp} | 5 +++-- shm/{Map.hpp => map.hpp} | 0 2 files changed, 3 insertions(+), 2 deletions(-) rename shm/{Map.cpp => map.cpp} (71%) rename shm/{Map.hpp => map.hpp} (100%) diff --git a/shm/Map.cpp b/shm/map.cpp similarity index 71% rename from shm/Map.cpp rename to shm/map.cpp index bbd9cf355..f52331ef4 100644 --- a/shm/Map.cpp +++ b/shm/map.cpp @@ -1,4 +1,5 @@ -#include "Map.hpp" +#include "map.hpp" +#include "island.hpp" Map::Map(Island* currentPosition) : currentPostion_(currentPosition) @@ -6,6 +7,6 @@ Map::Map(Island* currentPosition) void Map::initializeMap (const Island& island) { islands_.push_back(island); } -Island* Map::getPosition() { +Island* const Map::getPosition() { return currentPostion_; } \ No newline at end of file diff --git a/shm/Map.hpp b/shm/map.hpp similarity index 100% rename from shm/Map.hpp rename to shm/map.hpp From f0bd5b549517f1faacd5b4fb83a7b5edcc3cb965 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Sat, 26 Jun 2021 17:09:33 +0200 Subject: [PATCH 018/100] some changings in hpp i cpp files --- shm/player.hpp | 2 +- shm/ship.cpp | 39 +++++++++++++++++++++++---------------- shm/ship.hpp | 10 ++++++++-- 3 files changed, 32 insertions(+), 19 deletions(-) diff --git a/shm/player.hpp b/shm/player.hpp index 668ba0449..9b8338d43 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -23,6 +23,6 @@ class Player { size_t money_; size_t availableSpace_; - //metods + //methods // size_t availableSpace(); }; diff --git a/shm/ship.cpp b/shm/ship.cpp index 5c89e6f21..b1382a827 100644 --- a/shm/ship.cpp +++ b/shm/ship.cpp @@ -3,8 +3,6 @@ #include "cargo.hpp" #include "ship.hpp" - - Ship& Ship::operator-=(size_t num) { crew_ -= num; return *this; @@ -15,20 +13,29 @@ Ship& Ship::operator+=(size_t num) { return *this; } -size_t Ship::getCapacity() const { return capacity_; } -size_t Ship::getMaxCrew() const { return maxCrew_; } -size_t Ship::getSpeed() const { return speed_; } -std::string Ship::getName() const { return name_; } -size_t Ship::getId() const { return id_; } - -std::shared_ptr Ship::getCargo(size_t index) const -{ - if(cargo_.size() < 0) { - return nullptr; - } - return cargo_[index]; +size_t Ship::getCapacity() const { + return capacity_; +} +size_t Ship::getMaxCrew() const { + return maxCrew_; +} +size_t Ship::getSpeed() const { + return speed_; +} +std::string Ship::getName() const { + return name_; +} +size_t Ship::getId() const { + return id_; +} +std::shared_ptrShip::getCargo(size_t index) const { + return cargos_[index]; } +std::vector> Ship::getCargos() const { + return cargos_; +} - -void Ship::setName(const std::string& name) { name_ = name; } +void Ship::setName(const std::string& name) { + name_ = name; +} diff --git a/shm/ship.hpp b/shm/ship.hpp index 93c8a7147..427ddee8c 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -10,7 +10,13 @@ class Ship { Ship() : id_(-1) {} Ship(int capacity, int maxCrew, int speed, const std::string& name, size_t id) - : capacity_(capacity), maxCrew_(maxCrew), crew_(0), speed_(speed), name_(name), id_(id) {} + : capacity_(capacity) + , maxCrew_(maxCrew) + , crew_(0) + , speed_(speed) + , name_(name) + , id_(id) + {} Ship(int maxCrew, int speed, size_t id) : Ship(0, maxCrew, speed, "", id) {} @@ -33,5 +39,5 @@ class Ship { size_t speed_; std::string name_; const size_t id_; - std::vector> cargo_; + std::vector> cargos_; }; From 714a9ba575fa2190d22213489d0cc4b32750f3bb Mon Sep 17 00:00:00 2001 From: Jakub Kubalka Date: Sat, 26 Jun 2021 20:16:04 +0200 Subject: [PATCH 019/100] Make some changes, and added getIsland function --- shm/map.cpp | 12 ++++++++++-- shm/map.hpp | 4 +++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/shm/map.cpp b/shm/map.cpp index f52331ef4..69cb350c7 100644 --- a/shm/map.cpp +++ b/shm/map.cpp @@ -4,9 +4,17 @@ Map::Map(Island* currentPosition) : currentPostion_(currentPosition) {} -void Map::initializeMap (const Island& island) { +void Map::initializeMap (Island& island) { //I think there might be some problems that i am using not const reference islands_.push_back(island); } Island* const Map::getPosition() { - return currentPostion_; + return currentPostion_; +} + +Island* Map::getIsland(const Island::Coordinates& coordinate) { + //Ok, if i understand it correctly, std::find should work, because we have definiiton of ==. Source: https://stackoverflow.com/questions/42933943/how-to-use-lambda-for-stdfind-if + return std::find(islands_.begin(), islands_.end(), coordinate); + //std::find_if(islands_.begin(), islands_.end(), [&coordinate](const Island& island) { + // return island::Coordinates == coordinate; + //}) } \ No newline at end of file diff --git a/shm/map.hpp b/shm/map.hpp index 5b4d9c1a7..1306269e4 100644 --- a/shm/map.hpp +++ b/shm/map.hpp @@ -2,6 +2,7 @@ #include #include #include +#include class Map { public: @@ -9,8 +10,9 @@ class Map { Map(Island* currentPosition) //I dont know, if i want to fill vector of islands, i need to put island into constructor, or filling the vector will be done only by function : currentPostion_(currentPosition) {} - virtual void initializeMap(const Island& island); + void initializeMap(Island& island); Island* const getPosition(); + Island* getIsland(const Island::Coordinates& coordinate); private: std::vector islands_; //I dont know if this vector is going to be the only place where we are collecting islands. If its the only way to somehow "remember" islands, then pointer is pointless (hehe) Island* currentPostion_; From c4a1c7b76e0f523d30d7e857798732fdf00662df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Sun, 27 Jun 2021 19:19:22 +0200 Subject: [PATCH 020/100] Changes changes changes --- shm/main.cpp | 8 +++++++- shm/player.cpp | 12 +++++++++--- shm/player.hpp | 10 +++++++--- shm/ship.cpp | 5 ++++- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/shm/main.cpp b/shm/main.cpp index 85c18d225..abe4670ac 100644 --- a/shm/main.cpp +++ b/shm/main.cpp @@ -1,11 +1,17 @@ #include #include "cargo.hpp" #include "ship.hpp" +#include "player.hpp" int main() { Cargo testCargo("test cargo", 12, 13); - Ship testShip; + Ship testShip(5000, 50, 30, "Lover", 10); + + Player Wojtek(testShip, 10, 20000); + + + return 0; } \ No newline at end of file diff --git a/shm/player.cpp b/shm/player.cpp index 46aa138d7..1dae292ad 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -1,13 +1,16 @@ #include "player.hpp" +#include + // constructors -Player::Player(std::shared_ptr ship, size_t money, size_t availableSpace) - : ship_(ship) + +Player::Player(Ship& ship , size_t money , size_t availableSpace ) + : ship_(std::make_shared (ship )) , money_(money) , availableSpace_(availableSpace) {} -Player::~Player(){}; +//Player::~Player(){}; //getters @@ -25,10 +28,13 @@ size_t Player::getSpeed() const { return ship_->getSpeed(); } std::shared_ptr Player::getCargo(size_t index) const { + return ship_->getCargo(index); } + + //methods diff --git a/shm/player.hpp b/shm/player.hpp index 9b8338d43..b67853cde 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -7,21 +7,25 @@ class Player { public: - Player(std::shared_ptr ship, size_t money, size_t availableSpace); - ~Player(); + Player(Ship& ship, size_t money, size_t availableSpace) ; + //~Player(); + // Player() = default; - // getters + //getters size_t getMoney() const; size_t getAvailableSpace() const; std::shared_ptr getShip() const; size_t getSpeed() const; std::shared_ptr getCargo(size_t index) const; + private: std::shared_ptr ship_; size_t money_; size_t availableSpace_; + //size_t availableSpace() const; + //methods // size_t availableSpace(); diff --git a/shm/ship.cpp b/shm/ship.cpp index b1382a827..05a2811d0 100644 --- a/shm/ship.cpp +++ b/shm/ship.cpp @@ -1,5 +1,5 @@ #include - +#include #include "cargo.hpp" #include "ship.hpp" @@ -29,6 +29,9 @@ size_t Ship::getId() const { return id_; } std::shared_ptrShip::getCargo(size_t index) const { + if(index < 0) { + std::cerr << "\nInvalid Cargo\n"; + } return cargos_[index]; } From 5a4cf38e7f63573244c1d802b9bc429f25489d02 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Sun, 27 Jun 2021 22:17:06 +0200 Subject: [PATCH 021/100] some cleaning in cargo class --- shm/cargo.cpp | 7 ++----- shm/cargo.hpp | 2 -- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/shm/cargo.cpp b/shm/cargo.cpp index a11e2d72e..e15ec0672 100644 --- a/shm/cargo.cpp +++ b/shm/cargo.cpp @@ -11,8 +11,8 @@ Cargo& Cargo::operator-=(size_t amount) { } bool Cargo::operator == (const Cargo& cargo) const { - return cargo.getName() == name_ && cargo.getBasePrice() == basePrice_; // I think basePrice is usless in this example. - } + return cargo.getName() == name_ && cargo.getBasePrice() == basePrice_; // I think basePrice is usless in this example. +} std::string Cargo::getName() const { return name_; @@ -23,6 +23,3 @@ size_t Cargo::getAmount() const { size_t Cargo::getBasePrice() const { return basePrice_; } - - - diff --git a/shm/cargo.hpp b/shm/cargo.hpp index b3f962a32..0c2e11e99 100644 --- a/shm/cargo.hpp +++ b/shm/cargo.hpp @@ -11,14 +11,12 @@ class Cargo { Cargo& operator+=(size_t amount); Cargo& operator-=(size_t amount); - bool operator==(const Cargo&) const; std::string getName() const; size_t getAmount() const; size_t getBasePrice() const; - protected: std::string name_; size_t amount_; From 18f68eeb35473d8c8f639301be6268d53e535cce Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Mon, 28 Jun 2021 21:48:02 +0200 Subject: [PATCH 022/100] remove 'basePrice' comparison in operator== in Cargo class --- shm/cargo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shm/cargo.cpp b/shm/cargo.cpp index e15ec0672..b9c83b808 100644 --- a/shm/cargo.cpp +++ b/shm/cargo.cpp @@ -11,7 +11,7 @@ Cargo& Cargo::operator-=(size_t amount) { } bool Cargo::operator == (const Cargo& cargo) const { - return cargo.getName() == name_ && cargo.getBasePrice() == basePrice_; // I think basePrice is usless in this example. + return cargo.getName() == name_; } std::string Cargo::getName() const { From b212c4525c44e208bf2e0af54148fa37c188f910 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Mon, 28 Jun 2021 21:57:09 +0200 Subject: [PATCH 023/100] Addign countAvailbaleSpace --- shm/main.cpp | 6 +++--- shm/player.cpp | 6 ++++++ shm/player.hpp | 9 +++------ shm/ship.cpp | 3 +++ shm/ship.hpp | 3 ++- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/shm/main.cpp b/shm/main.cpp index abe4670ac..dd07a884b 100644 --- a/shm/main.cpp +++ b/shm/main.cpp @@ -9,9 +9,9 @@ int main() { Ship testShip(5000, 50, 30, "Lover", 10); Player Wojtek(testShip, 10, 20000); - - + std::cout << Wojtek.getShip()->getName(); + std::cout << Wojtek.getAvailableSpace(); - + return 0; } \ No newline at end of file diff --git a/shm/player.cpp b/shm/player.cpp index 1dae292ad..34d934764 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -1,6 +1,7 @@ #include "player.hpp" #include +#include // constructors @@ -32,6 +33,11 @@ std::shared_ptr Player::getCargo(size_t index) const { return ship_->getCargo(index); } +size_t Player::countAvailableSpace() const { + auto sumOfAmounts = std::accumulate(ship_->getCargos().begin(), ship_->getCargos().end(), 0 + , [](size_t amountAll, const auto& cargo) {return amountAll += cargo.get()->getAmount();}); + return ship_->getCapacity() - sumOfAmounts; +} diff --git a/shm/player.hpp b/shm/player.hpp index b67853cde..d98024af2 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -7,7 +7,7 @@ class Player { public: - Player(Ship& ship, size_t money, size_t availableSpace) ; + Player(Ship& ship, size_t money, size_t availableSpace); //~Player(); // Player() = default; @@ -17,16 +17,13 @@ class Player { std::shared_ptr getShip() const; size_t getSpeed() const; std::shared_ptr getCargo(size_t index) const; - - private: std::shared_ptr ship_; size_t money_; size_t availableSpace_; - //size_t availableSpace() const; - + size_t countAvailableSpace() const; //methods - // size_t availableSpace(); + // size_t availableSpace(); }; diff --git a/shm/ship.cpp b/shm/ship.cpp index 05a2811d0..0132a931a 100644 --- a/shm/ship.cpp +++ b/shm/ship.cpp @@ -2,6 +2,8 @@ #include #include "cargo.hpp" #include "ship.hpp" +#include +#include Ship& Ship::operator-=(size_t num) { crew_ -= num; @@ -42,3 +44,4 @@ std::vector> Ship::getCargos() const { void Ship::setName(const std::string& name) { name_ = name; } + diff --git a/shm/ship.hpp b/shm/ship.hpp index 427ddee8c..98ecfc24e 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -31,7 +31,8 @@ class Ship { std::shared_ptr getCargo(size_t index) const; std::vector> getCargos() const; void setName(const std::string& name); - + + private: size_t capacity_; size_t maxCrew_; From 3c8a7d782d538c6227fb9e33b96bfbdd3e7b2bd3 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Mon, 28 Jun 2021 22:02:44 +0200 Subject: [PATCH 024/100] Changes in Island class: better format-style, and improvemenet of operator== in subclass Coordinates --- shm/island.cpp | 9 +++++---- shm/island.hpp | 53 +++++++++++++++++++++++--------------------------- 2 files changed, 29 insertions(+), 33 deletions(-) diff --git a/shm/island.cpp b/shm/island.cpp index 589c6926e..e38a768ca 100644 --- a/shm/island.cpp +++ b/shm/island.cpp @@ -15,10 +15,11 @@ int Island::Coordinates::getPositionY() const { } bool Island::Coordinates::operator== (const Coordinates& n_pos) const { - if ( positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_) { - return true; - } - return false; + // if ( positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_) { + // return true; + // } + // return false; + return positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_; } Island::Coordinates Island::getPosition() const { diff --git a/shm/island.hpp b/shm/island.hpp index aa9cc84a0..ec254c952 100644 --- a/shm/island.hpp +++ b/shm/island.hpp @@ -1,38 +1,33 @@ #pragma once -class Island { - - public: - - Island(int positionX, int positionY) - : position_(Coordinates(positionX, positionY)) +class Island { +public: + Island(int positionX, int positionY) + : position_(Coordinates(positionX, positionY)) + {} + + class Coordinates { + public: + Coordinates(int& positionX, int& positionY) + : positionX_(positionX) + , positionY_(positionY) {} - class Coordinates { - public: - - Coordinates(int& positionX, int& positionY) - : positionX_(positionX) - , positionY_(positionY) - {} - - void setPositionX(int& ); - int getPositionX() const; - - void setPositionY(int& ); - int getPositionY() const; - - bool operator== (const Coordinates& n_pos) const; - - private: - int positionX_; - int positionY_; - }; - - Coordinates getPosition() const; + void setPositionX(int& ); + int getPositionX() const; + void setPositionY(int& ); + int getPositionY() const; + + bool operator== (const Coordinates& n_pos) const; private: - Coordinates position_; + int positionX_; + int positionY_; + }; + + Coordinates getPosition() const; +private: + Coordinates position_; }; \ No newline at end of file From 4c184e8d805ab7e7df145e66109ee017273634ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Mon, 28 Jun 2021 22:07:41 +0200 Subject: [PATCH 025/100] fixing --- shm/main.cpp | 2 +- shm/player.cpp | 10 ++++++++-- shm/player.hpp | 3 ++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/shm/main.cpp b/shm/main.cpp index dd07a884b..ec5d07f88 100644 --- a/shm/main.cpp +++ b/shm/main.cpp @@ -9,7 +9,7 @@ int main() { Ship testShip(5000, 50, 30, "Lover", 10); Player Wojtek(testShip, 10, 20000); - std::cout << Wojtek.getShip()->getName(); + std::cout << Wojtek.getAvailableSpace(); diff --git a/shm/player.cpp b/shm/player.cpp index 34d934764..f669da54b 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -19,7 +19,7 @@ size_t Player::getMoney() const { return money_; } size_t Player::getAvailableSpace() const { - return availableSpace_; + return availableSpace_ ; } std::shared_ptr Player::getShip() const { return ship_; @@ -36,7 +36,13 @@ std::shared_ptr Player::getCargo(size_t index) const { size_t Player::countAvailableSpace() const { auto sumOfAmounts = std::accumulate(ship_->getCargos().begin(), ship_->getCargos().end(), 0 , [](size_t amountAll, const auto& cargo) {return amountAll += cargo.get()->getAmount();}); - return ship_->getCapacity() - sumOfAmounts; + + if(ship_->getCapacity() - sumOfAmounts < 0) + { + return 0; + } + + return ship_->getCapacity() - sumOfAmounts; } diff --git a/shm/player.hpp b/shm/player.hpp index d98024af2..022f414e8 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -17,11 +17,12 @@ class Player { std::shared_ptr getShip() const; size_t getSpeed() const; std::shared_ptr getCargo(size_t index) const; + private: std::shared_ptr ship_; size_t money_; - size_t availableSpace_; + size_t availableSpace_ = countAvailableSpace(); size_t countAvailableSpace() const; //methods From 54b9ed68443ece019ddae40f11dec3c2c51b186a Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Mon, 28 Jun 2021 23:34:57 +0200 Subject: [PATCH 026/100] zadanie 5 implementation --- shm/map.cpp | 22 +++++++++++++--------- shm/map.hpp | 11 +++++------ 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/shm/map.cpp b/shm/map.cpp index 69cb350c7..0e59681d2 100644 --- a/shm/map.cpp +++ b/shm/map.cpp @@ -1,20 +1,24 @@ +#include #include "map.hpp" #include "island.hpp" -Map::Map(Island* currentPosition) - : currentPostion_(currentPosition) - {} -void Map::initializeMap (Island& island) { //I think there might be some problems that i am using not const reference - islands_.push_back(island); +Map::Map() { + std::random_device rd; + std::mt19937 gen(rd()); + std::uniform_int_distribution<> widthDistribution(0, maxWidth_); + std::uniform_int_distribution<> heightDistribution(0, maxHeight_); + + islands_.reserve(10); + for (int i = 0; i < islandsQuantity_; ++i) { + Island tempIsland(widthDistribution(gen), heightDistribution(gen)); + islands_.push_back(tempIsland); + } } + Island* const Map::getPosition() { return currentPostion_; } Island* Map::getIsland(const Island::Coordinates& coordinate) { - //Ok, if i understand it correctly, std::find should work, because we have definiiton of ==. Source: https://stackoverflow.com/questions/42933943/how-to-use-lambda-for-stdfind-if return std::find(islands_.begin(), islands_.end(), coordinate); - //std::find_if(islands_.begin(), islands_.end(), [&coordinate](const Island& island) { - // return island::Coordinates == coordinate; - //}) } \ No newline at end of file diff --git a/shm/map.hpp b/shm/map.hpp index 1306269e4..7ac15d630 100644 --- a/shm/map.hpp +++ b/shm/map.hpp @@ -6,14 +6,13 @@ class Map { public: - Map() = default; - Map(Island* currentPosition) //I dont know, if i want to fill vector of islands, i need to put island into constructor, or filling the vector will be done only by function - : currentPostion_(currentPosition) - {} - void initializeMap(Island& island); + Map(); Island* const getPosition(); Island* getIsland(const Island::Coordinates& coordinate); private: - std::vector islands_; //I dont know if this vector is going to be the only place where we are collecting islands. If its the only way to somehow "remember" islands, then pointer is pointless (hehe) + const int maxWidth_ = 99; + const int maxHeight_ = 99; + const int islandsQuantity_ = 10; + std::vector islands_; Island* currentPostion_; }; From c63de9d923c1001bd6e9ae3b1c3fef1a91ac877c Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Mon, 28 Jun 2021 23:44:24 +0200 Subject: [PATCH 027/100] vector of islands change -> reference added... its probably wrong --- shm/map.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shm/map.hpp b/shm/map.hpp index 7ac15d630..52dec9345 100644 --- a/shm/map.hpp +++ b/shm/map.hpp @@ -13,6 +13,6 @@ class Map { const int maxWidth_ = 99; const int maxHeight_ = 99; const int islandsQuantity_ = 10; - std::vector islands_; + std::vector islands_; Island* currentPostion_; }; From ff3c21b1c31a36e604a649cf997d38101ed93c13 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Mon, 28 Jun 2021 23:50:27 +0200 Subject: [PATCH 028/100] another code-style fixes --- shm/map.hpp | 2 +- shm/player.cpp | 16 +--------------- shm/player.hpp | 10 ---------- shm/ship.hpp | 4 +--- 4 files changed, 3 insertions(+), 29 deletions(-) diff --git a/shm/map.hpp b/shm/map.hpp index 52dec9345..e258a728c 100644 --- a/shm/map.hpp +++ b/shm/map.hpp @@ -15,4 +15,4 @@ class Map { const int islandsQuantity_ = 10; std::vector islands_; Island* currentPostion_; -}; +}; \ No newline at end of file diff --git a/shm/player.cpp b/shm/player.cpp index f669da54b..5a2a8d9d0 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -1,20 +1,13 @@ #include "player.hpp" - #include #include -// constructors - Player::Player(Ship& ship , size_t money , size_t availableSpace ) : ship_(std::make_shared (ship )) , money_(money) , availableSpace_(availableSpace) {} -//Player::~Player(){}; - -//getters - size_t Player::getMoney() const { return money_; } @@ -43,11 +36,4 @@ size_t Player::countAvailableSpace() const { } return ship_->getCapacity() - sumOfAmounts; -} - - - -//methods - - - +} \ No newline at end of file diff --git a/shm/player.hpp b/shm/player.hpp index 022f414e8..c6d6b8d09 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -1,30 +1,20 @@ #pragma once - #include - #include "cargo.hpp" #include "ship.hpp" class Player { public: Player(Ship& ship, size_t money, size_t availableSpace); - //~Player(); - // Player() = default; - - //getters size_t getMoney() const; size_t getAvailableSpace() const; std::shared_ptr getShip() const; size_t getSpeed() const; std::shared_ptr getCargo(size_t index) const; - private: std::shared_ptr ship_; size_t money_; size_t availableSpace_ = countAvailableSpace(); size_t countAvailableSpace() const; - - //methods - // size_t availableSpace(); }; diff --git a/shm/ship.hpp b/shm/ship.hpp index 98ecfc24e..cf14c4e5a 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -2,7 +2,6 @@ #include #include #include - #include "cargo.hpp" class Ship { @@ -32,7 +31,6 @@ class Ship { std::vector> getCargos() const; void setName(const std::string& name); - private: size_t capacity_; size_t maxCrew_; @@ -41,4 +39,4 @@ class Ship { std::string name_; const size_t id_; std::vector> cargos_; -}; +}; \ No newline at end of file From d946046930ebd19ffbee06efe66d3251741caa80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Wed, 30 Jun 2021 13:30:35 +0200 Subject: [PATCH 029/100] Diffrent cargo --- shm/alcohol.cpp | 45 ++++++++++++++++++++++++++++++++++++ shm/alcohol.hpp | 33 ++++++++++++++++++++++++++ shm/cargo.hpp | 23 ++++++++++--------- shm/fruit.cpp | 61 +++++++++++++++++++++++++++++++++++++++++++++++++ shm/fruit.hpp | 34 +++++++++++++++++++++++++++ shm/item.cpp | 37 ++++++++++++++++++++++++++++++ shm/item.hpp | 39 +++++++++++++++++++++++++++++++ shm/player.cpp | 25 ++++++-------------- 8 files changed, 268 insertions(+), 29 deletions(-) create mode 100644 shm/alcohol.cpp create mode 100644 shm/alcohol.hpp create mode 100644 shm/fruit.cpp create mode 100644 shm/fruit.hpp create mode 100644 shm/item.cpp create mode 100644 shm/item.hpp diff --git a/shm/alcohol.cpp b/shm/alcohol.cpp new file mode 100644 index 000000000..988d20805 --- /dev/null +++ b/shm/alcohol.cpp @@ -0,0 +1,45 @@ +#include "alcohol.hpp" + + + + +Cargo& Cargo::operator+=(size_t amount) { + amount_ += amount; + return *this; +} + +Cargo& Cargo::operator-=(size_t amount) { + amount_ -= amount; + return *this; +} + +Alcohol& Alcohol::operator--() +{ + if(amount_ > 0) { + --amount_; + } + return *this; +} + +// bool Alcohol::operator == (const Cargo& alcohol) const +// { + +// } + +Alcohol& Alcohol::operator--(int) +{ + Alcohol temp(*this); + if(amount_ > 0) { + operator--(); + } + return temp; +} + +size_t Alcohol::getPrice() const { + return static_cast(basePrice_ * percentages_ / max); +}; + +std::string Alcohol::getName() const { return name_; }; +size_t Alcohol::getAmount() const {return amount_; }; +size_t Alcohol::getBasePrice() const {return basePrice_;}; +size_t Alcohol::getPercentages() const {return percentages_;}; \ No newline at end of file diff --git a/shm/alcohol.hpp b/shm/alcohol.hpp new file mode 100644 index 000000000..b1d0b79b7 --- /dev/null +++ b/shm/alcohol.hpp @@ -0,0 +1,33 @@ +#pragma once + +#include "cargo.hpp" + +constexpr auto max = 96; + +class Alcohol : public Cargo +{ + +public: + Alcohol(size_t amount, std::string name, size_t basePrice, size_t percentegs) + : Cargo(name, amount, basePrice) + , percentages_(percentegs) + {} + ~Alcohol(); + + Cargo& operator+=(size_t amount) override; + Cargo& operator-=(size_t amount) override; + bool operator==(const Cargo& alcohol) const override; + + Alcohol& operator--(); + Alcohol& operator--(int); + + size_t getPrice() const override; + std::string getName() const override; + size_t getAmount() const override; + size_t getBasePrice() const override; + size_t getPercentages() const; + +private: + size_t percentages_; +}; + diff --git a/shm/cargo.hpp b/shm/cargo.hpp index b3f962a32..d304f4fa5 100644 --- a/shm/cargo.hpp +++ b/shm/cargo.hpp @@ -4,20 +4,21 @@ class Cargo { public: Cargo(std::string name, size_t amount, size_t basePrice) - : name_(name) - , amount_(amount) - , basePrice_(basePrice) - {} + : name_(name), amount_(amount), basePrice_(basePrice) {} - Cargo& operator+=(size_t amount); - Cargo& operator-=(size_t amount); + virtual Cargo& operator+=(size_t amount) = 0; + virtual Cargo& operator-=(size_t amount) = 0; - bool operator==(const Cargo&) const; + virtual bool operator==(const Cargo&) const = 0; - std::string getName() const; - size_t getAmount() const; - size_t getBasePrice() const; - + virtual size_t getPrice() const = 0; + virtual std::string getName() const = 0; + virtual size_t getAmount() const = 0; + virtual size_t getBasePrice() const = 0; + + void setAmount(const size_t amount) { + amount_ = amount; + } protected: std::string name_; diff --git a/shm/fruit.cpp b/shm/fruit.cpp new file mode 100644 index 000000000..a5d862640 --- /dev/null +++ b/shm/fruit.cpp @@ -0,0 +1,61 @@ +#include "fruit.hpp" + + +/// operators +Cargo& Fruit::operator+=(size_t amount) { + amount_ += amount; + return *this; +} + +Cargo& Fruit::operator-=(size_t amount) { + amount_ -= amount; + return *this; +} + +Fruit& Fruit::operator--() { + + return *this; +} + +Fruit& Fruit::operator--(int) { + + Fruit& temp(*this); + if(data_ > 0){ + operator--(); + } + + return *this; +} + +bool Fruit::operator==(const Cargo& fruit) const +{ + // i don't know, what to write here!!!???? +} + +/// getters +size_t Fruit::getAmount() const { + return amount_; +} + +size_t Fruit::getBasePrice() const { + return basePrice_; +} +std::string Fruit::getName() const { + return name_; +} + +size_t Fruit::getExpitingTime() const { + return expiringTime_; +} + +size_t Fruit::getData() const { + return data_; +} + +size_t Fruit::getPrice() const { + if(data_ - expiringTime_ < 0) { + return 0; + } + return basePrice_ * static_cast((static_cast(data_) - static_cast(expiringTime_)/ static_cast(data_))); +} + diff --git a/shm/fruit.hpp b/shm/fruit.hpp new file mode 100644 index 000000000..fe189bfef --- /dev/null +++ b/shm/fruit.hpp @@ -0,0 +1,34 @@ +#pragma once + +#include "cargo.hpp" + +class Fruit : public Cargo +{ +public: + Fruit(size_t amount, std::string name, size_t basePrice, size_t expiringTime, size_t data) + : Cargo(name, amount, basePrice) + , expiringTime_(expiringTime) + ,data_(data) + {} + ~Fruit(); + + Cargo& operator+=(size_t amount) override; + Cargo& operator-=(size_t amount) override; + bool operator==(const Cargo& fruit) const override; + Fruit& operator--(); + Fruit& operator--(int); + + size_t getPrice() const override; + std::string getName() const override; + size_t getAmount() const override; + size_t getBasePrice() const override; + + size_t getExpitingTime() const; + size_t getData() const; + +private: + size_t expiringTime_ {0}; + size_t data_ ; +}; + + diff --git a/shm/item.cpp b/shm/item.cpp new file mode 100644 index 000000000..521a434e2 --- /dev/null +++ b/shm/item.cpp @@ -0,0 +1,37 @@ +#include "item.hpp" + +Cargo& Cargo::operator+=(size_t amount) { + amount_ += amount; + return *this; +} + +Cargo& Cargo::operator-=(size_t amount) { + if (amount <= amount_) { + amount_ -= amount; + return *this; + } +} + +Item& Item::operator--() { + if (amount_ > 0) { + --amount_; + } + return *this; +} + +Item& Item::operator--(int) { + Item temp(*this); + if (amount_ > 0) { + operator--(); + } + return temp; +} + +// bool item::operator == (const Cargo& cargo) const +// { + +// } + +size_t Item::getPrice() const { + return basePrice_ * static_cast(rarity_); +} diff --git a/shm/item.hpp b/shm/item.hpp new file mode 100644 index 000000000..3f3a5276f --- /dev/null +++ b/shm/item.hpp @@ -0,0 +1,39 @@ +#pragma once + +#include "cargo.hpp" + +class Item : public Cargo +{ + +public: + enum class Rarity { + common = 1 + , rare = 5 + , epic = 10 + , legendary = 20 + }; + + Item(std::string name, size_t amount, size_t basePrice, Rarity rarity) + : Cargo(name , amount, basePrice) + , rarity_(rarity) + {} + ~Item(); + + Cargo& operator+=(size_t amount) override; + Cargo& operator-=(size_t amount) override; + bool operator==(const Cargo& cargo) const override; + + + Item& operator--(); + Item& operator--(int); + + size_t getPrice() const override ; + std::string getName() const override {return name_ ;}; + size_t getAmount() const override {return amount_;}; + size_t getBasePrice() const override {return basePrice_;}; + Rarity getRarity() const {return rarity_;}; + +private: + Rarity rarity_; +}; + diff --git a/shm/player.cpp b/shm/player.cpp index f669da54b..b67922ebc 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -5,11 +5,8 @@ // constructors -Player::Player(Ship& ship , size_t money , size_t availableSpace ) - : ship_(std::make_shared (ship )) - , money_(money) - , availableSpace_(availableSpace) - {} +Player::Player(Ship& ship, size_t money, size_t availableSpace) + : ship_(std::make_shared(ship)), money_(money), availableSpace_(availableSpace) {} //Player::~Player(){}; @@ -19,7 +16,7 @@ size_t Player::getMoney() const { return money_; } size_t Player::getAvailableSpace() const { - return availableSpace_ ; + return availableSpace_; } std::shared_ptr Player::getShip() const { return ship_; @@ -29,25 +26,17 @@ size_t Player::getSpeed() const { return ship_->getSpeed(); } std::shared_ptr Player::getCargo(size_t index) const { - return ship_->getCargo(index); } size_t Player::countAvailableSpace() const { - auto sumOfAmounts = std::accumulate(ship_->getCargos().begin(), ship_->getCargos().end(), 0 - , [](size_t amountAll, const auto& cargo) {return amountAll += cargo.get()->getAmount();}); - - if(ship_->getCapacity() - sumOfAmounts < 0) - { + auto sumOfAmounts = std::accumulate(ship_->getCargos().begin(), ship_->getCargos().end(), 0, [](size_t amountAll, const auto& cargo) { return amountAll += cargo.get()->getAmount(); }); + + if (ship_->getCapacity() - sumOfAmounts < 0) { return 0; } - return ship_->getCapacity() - sumOfAmounts; + return ship_->getCapacity() - sumOfAmounts; } - - //methods - - - From 680db843ff4eba10a07eeedf44d8555232503ed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Fri, 2 Jul 2021 11:41:19 +0200 Subject: [PATCH 030/100] all changes --- shm/fruit.cpp | 7 +++++-- shm/main.cpp | 4 ++-- shm/player.hpp | 2 +- shm/ship.cpp | 30 ++++++++++++++++++++++++++++++ shm/ship.hpp | 13 ++++++++++++- shm/store.cpp | 22 ++++++++++++++++++++++ shm/store.hpp | 33 +++++++++++++++++++++++++++++++++ 7 files changed, 105 insertions(+), 6 deletions(-) create mode 100644 shm/store.cpp create mode 100644 shm/store.hpp diff --git a/shm/fruit.cpp b/shm/fruit.cpp index a5d862640..e069c1a8e 100644 --- a/shm/fruit.cpp +++ b/shm/fruit.cpp @@ -19,7 +19,7 @@ Fruit& Fruit::operator--() { Fruit& Fruit::operator--(int) { - Fruit& temp(*this); + if(data_ > 0){ operator--(); } @@ -29,7 +29,10 @@ Fruit& Fruit::operator--(int) { bool Fruit::operator==(const Cargo& fruit) const { - // i don't know, what to write here!!!???? + if(typeid(fruit) == typeid(Friut)) { + const std::shared_ptr fruit = static_cast>(&cargo); + + } } /// getters diff --git a/shm/main.cpp b/shm/main.cpp index ec5d07f88..70470d6d1 100644 --- a/shm/main.cpp +++ b/shm/main.cpp @@ -8,9 +8,9 @@ int main() { Cargo testCargo("test cargo", 12, 13); Ship testShip(5000, 50, 30, "Lover", 10); - Player Wojtek(testShip, 10, 20000); - std::cout << Wojtek.getAvailableSpace(); + + return 0; diff --git a/shm/player.hpp b/shm/player.hpp index 022f414e8..c79f93caf 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -7,7 +7,7 @@ class Player { public: - Player(Ship& ship, size_t money, size_t availableSpace); + Player(std::shared_ptr ship, size_t money, size_t availableSpace); //~Player(); // Player() = default; diff --git a/shm/ship.cpp b/shm/ship.cpp index 0132a931a..df90c1fed 100644 --- a/shm/ship.cpp +++ b/shm/ship.cpp @@ -2,6 +2,9 @@ #include #include "cargo.hpp" #include "ship.hpp" +#include "alcohol.hpp" +#include "fruit.hpp" +#include "item.hpp" #include #include @@ -45,3 +48,30 @@ void Ship::setName(const std::string& name) { name_ = name; } +std::shared_ptr Ship::theSame(std::shared_ptr cargo) +{ + /// how the fuck to do that; + + for(auto el : cargos_){ + if(el->getName() == "Fruit"){ + if(el->getName() == cargo->getName() && el->getBasePrice() == cargo->getBasePrice() && el-> + + } else if(el->getName() == "Alcohol"){ + + }else { + + } + + } +} + + +void Ship::load(std::shared_ptr cargo) +{ + +} + +void Ship::unload(std::shared_ptr cargo) +{ + cargos_.erase(find_if(begin(cargos_), end(cargos_),[cargo](const auto& el) {return el == cargo;})); +} \ No newline at end of file diff --git a/shm/ship.hpp b/shm/ship.hpp index 98ecfc24e..7f926dd9c 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -5,7 +5,8 @@ #include "cargo.hpp" -class Ship { +class Ship : public Cargo +{ public: Ship() : id_(-1) {} @@ -29,7 +30,17 @@ class Ship { std::string getName() const; size_t getId() const; std::shared_ptr getCargo(size_t index) const; + + std::vector> getCargos() const; + + + void load(std::shared_ptr cargo); + void unload(std::shared_ptr cargo); + + std::shared_ptr theSame(std::shared_ptr cargo); + + void setName(const std::string& name); diff --git a/shm/store.cpp b/shm/store.cpp new file mode 100644 index 000000000..14c1a765e --- /dev/null +++ b/shm/store.cpp @@ -0,0 +1,22 @@ +#include +#include +#include + +#include "store.hpp" +#include "fruit.hpp" +#include "item.hpp" + +std::shared_ptr Store::getStoreCargo(const size_t index) const { + if(index > storeCargos_.size()) { + return nullptr; + } + return storeCargos_[index].get(); +} + +Response buy(std::shared_ptr cargo, size_t amount, Player* player) +{ + if(cargo) { + + } +} + diff --git a/shm/store.hpp b/shm/store.hpp new file mode 100644 index 000000000..50f9d38db --- /dev/null +++ b/shm/store.hpp @@ -0,0 +1,33 @@ +#pragma once +#include "player.hpp" +#include "cargo.hpp" + + +enum class Response + { + done + , lack_of_money + , lack_of_cargo + , lack_of_space + }; + + +class Store +{ + +public: + Store(); + Store(); + + // void load(std::shared_ptr); + // void unload (std::shared_ptr); + Response buy(std::shared_ptr cargo, size_t amount, Player* player); + Response sell(std::shared_ptr cargo, size_t amount, Player* player); + + std::shared_ptr getStoreCargo(const size_t) const; +private: + size_t capacity_; + std::vector> storeCargos_; + + +}; From 1b9e8626cf20fa5a8d83c3bb3a5f2b86cd2e8d4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Fri, 2 Jul 2021 12:15:37 +0200 Subject: [PATCH 031/100] Fixing a bug of operator-= --- shm/fruit.cpp | 12 ++++++------ shm/main.cpp | 11 +++++++++-- shm/player.cpp | 10 +--------- shm/player.hpp | 2 +- shm/ship.cpp | 41 +++++++++++------------------------------ shm/ship.hpp | 9 +++------ 6 files changed, 31 insertions(+), 54 deletions(-) diff --git a/shm/fruit.cpp b/shm/fruit.cpp index e069c1a8e..d57b84408 100644 --- a/shm/fruit.cpp +++ b/shm/fruit.cpp @@ -27,13 +27,13 @@ Fruit& Fruit::operator--(int) { return *this; } -bool Fruit::operator==(const Cargo& fruit) const -{ - if(typeid(fruit) == typeid(Friut)) { - const std::shared_ptr fruit = static_cast>(&cargo); +// bool Fruit::operator==(const Cargo& fruit) const +// { +// if(typeid(fruit) == typeid(Friut)) { +// const std::shared_ptr fruit = static_cast>(&cargo); - } -} +// } +// } /// getters size_t Fruit::getAmount() const { diff --git a/shm/main.cpp b/shm/main.cpp index 70470d6d1..cd706881a 100644 --- a/shm/main.cpp +++ b/shm/main.cpp @@ -2,11 +2,18 @@ #include "cargo.hpp" #include "ship.hpp" #include "player.hpp" +#include +#include "alcohol.hpp" int main() { - Cargo testCargo("test cargo", 12, 13); - Ship testShip(5000, 50, 30, "Lover", 10); + Alcohol whisky(50, "wisky", 12, 13); + // Ship testShip(5000, 50, 30, "Lover", 10); + Ship Adam{}; + auto it = std::make_shared (Adam); + + Player(it, 40000, 50000); + diff --git a/shm/player.cpp b/shm/player.cpp index 2832b71ea..4bb294012 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -2,18 +2,10 @@ #include #include -<<<<<<< HEAD // constructors -Player::Player(Ship& ship, size_t money, size_t availableSpace) +Player::Player(std::shared_ptr ship, size_t money, size_t availableSpace) : ship_(std::make_shared(ship)), money_(money), availableSpace_(availableSpace) {} -======= -Player::Player(Ship& ship , size_t money , size_t availableSpace ) - : ship_(std::make_shared (ship )) - , money_(money) - , availableSpace_(availableSpace) - {} ->>>>>>> ff3c21b1c31a36e604a649cf997d38101ed93c13 size_t Player::getMoney() const { return money_; diff --git a/shm/player.hpp b/shm/player.hpp index 565ace638..ec2b59a7e 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -8,7 +8,7 @@ class Player { Player(std::shared_ptr ship, size_t money, size_t availableSpace); -3 + size_t getMoney() const; size_t getAvailableSpace() const; std::shared_ptr getShip() const; diff --git a/shm/ship.cpp b/shm/ship.cpp index df90c1fed..1b9fd887f 100644 --- a/shm/ship.cpp +++ b/shm/ship.cpp @@ -9,12 +9,21 @@ #include Ship& Ship::operator-=(size_t num) { - crew_ -= num; + if(crew_ - num <= crew_) { + crew_ -= num; + } else { + std::cerr << "You need at least one member of the crew !!!\n"; + } return *this; } Ship& Ship::operator+=(size_t num) { - crew_ += num; + if(crew_ + num <= maxCrew_) { + crew_ += num; + }else { + std::cerr << " The maximum amount of members of the crew is " << maxCrew_ << " !!!! \n"; + } + return *this; } @@ -47,31 +56,3 @@ std::vector> Ship::getCargos() const { void Ship::setName(const std::string& name) { name_ = name; } - -std::shared_ptr Ship::theSame(std::shared_ptr cargo) -{ - /// how the fuck to do that; - - for(auto el : cargos_){ - if(el->getName() == "Fruit"){ - if(el->getName() == cargo->getName() && el->getBasePrice() == cargo->getBasePrice() && el-> - - } else if(el->getName() == "Alcohol"){ - - }else { - - } - - } -} - - -void Ship::load(std::shared_ptr cargo) -{ - -} - -void Ship::unload(std::shared_ptr cargo) -{ - cargos_.erase(find_if(begin(cargos_), end(cargos_),[cargo](const auto& el) {return el == cargo;})); -} \ No newline at end of file diff --git a/shm/ship.hpp b/shm/ship.hpp index 27b406055..64c1863c9 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -4,13 +4,13 @@ #include #include "cargo.hpp" -class Ship : public Cargo +class Ship { public: Ship() : id_(-1) {} Ship(int capacity, int maxCrew, int speed, const std::string& name, size_t id) - : capacity_(capacity) + : capacity_(capacity) , maxCrew_(maxCrew) , crew_(0) , speed_(speed) @@ -33,10 +33,7 @@ class Ship : public Cargo std::vector> getCargos() const; - - void load(std::shared_ptr cargo); - void unload(std::shared_ptr cargo); - + std::shared_ptr theSame(std::shared_ptr cargo); From c1b96cc5d8ad96c6b4740036f6c9cb3d7b00668e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Fri, 2 Jul 2021 12:22:48 +0200 Subject: [PATCH 032/100] Fixing the bugs in getCargos() --- shm/ship.cpp | 6 +++--- shm/ship.hpp | 10 ++-------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/shm/ship.cpp b/shm/ship.cpp index 1b9fd887f..43f3aba12 100644 --- a/shm/ship.cpp +++ b/shm/ship.cpp @@ -43,13 +43,13 @@ size_t Ship::getId() const { return id_; } std::shared_ptrShip::getCargo(size_t index) const { - if(index < 0) { - std::cerr << "\nInvalid Cargo\n"; + if(cargos_.size() <= index) { + return nullptr; } return cargos_[index]; } -std::vector> Ship::getCargos() const { +std::vector> Ship::getCargosVector() const { return cargos_; } diff --git a/shm/ship.hpp b/shm/ship.hpp index 64c1863c9..b318dfcb3 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -28,15 +28,9 @@ class Ship size_t getSpeed() const; std::string getName() const; size_t getId() const; - std::shared_ptr getCargo(size_t index) const; - - - std::vector> getCargos() const; - + std::shared_ptr getCargo(size_t index) const; + std::vector> getCargosVector() const; - std::shared_ptr theSame(std::shared_ptr cargo); - - void setName(const std::string& name); private: From 1ab9d3d646b0e6c510863a74dd11aa2b15341112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Fri, 2 Jul 2021 14:12:31 +0200 Subject: [PATCH 033/100] Changes in Player class --- shm/main.cpp | 12 ++++++------ shm/player.cpp | 25 +++++++++++++++---------- shm/player.hpp | 16 ++++++++-------- 3 files changed, 29 insertions(+), 24 deletions(-) diff --git a/shm/main.cpp b/shm/main.cpp index cd706881a..30fd722f8 100644 --- a/shm/main.cpp +++ b/shm/main.cpp @@ -3,19 +3,19 @@ #include "ship.hpp" #include "player.hpp" #include -#include "alcohol.hpp" +//#include "alcohol.hpp" int main() { - Alcohol whisky(50, "wisky", 12, 13); + // Ship testShip(5000, 50, 30, "Lover", 10); - Ship Adam{}; - auto it = std::make_shared (Adam); + auto pirateShip = std::make_shared(500, 10, 1, "Monica", 2 ); + - Player(it, 40000, 50000); + Player Tomek(pirateShip, 40000); - + std::cout << Tomek.getAvailableSpace(); diff --git a/shm/player.cpp b/shm/player.cpp index 4bb294012..00453bbaa 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -1,11 +1,18 @@ -#include "player.hpp" + #include #include +#include + +#include "cargo.hpp" +#include "player.hpp" +#include "ship.hpp" // constructors -Player::Player(std::shared_ptr ship, size_t money, size_t availableSpace) - : ship_(std::make_shared(ship)), money_(money), availableSpace_(availableSpace) {} +Player::Player(std::shared_ptr ship, size_t money) + : ship_(std::move(ship)), money_(money) { + countAvailableSpace(); +} size_t Player::getMoney() const { return money_; @@ -24,14 +31,12 @@ std::shared_ptr Player::getCargo(size_t index) const { return ship_->getCargo(index); } -size_t Player::countAvailableSpace() const { - auto sumOfAmounts = std::accumulate(ship_->getCargos().begin(), ship_->getCargos().end(), 0, [](size_t amountAll, const auto& cargo) { return amountAll += cargo.get()->getAmount(); }); - - if (ship_->getCapacity() - sumOfAmounts < 0) { - return 0; +void Player::countAvailableSpace() { + const auto& cargoVector = ship_->getCargosVector(); + if (ship_->getCapacity() <= cargoVector.size()) { + availableSpace_ = 0; } - - return ship_->getCapacity() - sumOfAmounts; + availableSpace_ = ship_->getCapacity() - cargoVector.size(); } //methods diff --git a/shm/player.hpp b/shm/player.hpp index ec2b59a7e..a68e24656 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -1,23 +1,23 @@ #pragma once #include -#include "cargo.hpp" -#include "ship.hpp" + +class Cargo; +class Ship; class Player { public: - - Player(std::shared_ptr ship, size_t money, size_t availableSpace); - + Player(std::shared_ptr ship, size_t money); size_t getMoney() const; size_t getAvailableSpace() const; std::shared_ptr getShip() const; size_t getSpeed() const; std::shared_ptr getCargo(size_t index) const; - + private: std::shared_ptr ship_; size_t money_; - size_t availableSpace_ = countAvailableSpace(); - size_t countAvailableSpace() const; + size_t availableSpace_; + + void countAvailableSpace(); }; From 5b7353f6c9b5ba90c3c48a62fd628570087269e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Meisnerowski?= Date: Tue, 6 Jul 2021 18:28:47 +0200 Subject: [PATCH 034/100] Added new files coordinates.hpp/.cpp, modification of island.hpp - move coordinates class to new file, delete references, modification of operator== --- shm/coordinates.cpp | 19 +++++++++++++++++++ shm/coordinates.hpp | 22 ++++++++++++++++++++++ shm/island.cpp | 24 +----------------------- shm/island.hpp | 25 +++---------------------- 4 files changed, 45 insertions(+), 45 deletions(-) create mode 100644 shm/coordinates.cpp create mode 100644 shm/coordinates.hpp diff --git a/shm/coordinates.cpp b/shm/coordinates.cpp new file mode 100644 index 000000000..0cab11a08 --- /dev/null +++ b/shm/coordinates.cpp @@ -0,0 +1,19 @@ +#include "coordinates.hpp" + +void Coordinates::setPositionX(int positionX) { + positionX = positionX_; +} +int Coordinates::getPositionX() const { + return positionX_; +} + +void Coordinates::setPositionY(int positionY) { + positionY = positionY_; +} +int Coordinates::getPositionY() const { + return positionY_; +} + +bool Coordinates::operator== (const Coordinates n_pos) const { + return positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_; +} \ No newline at end of file diff --git a/shm/coordinates.hpp b/shm/coordinates.hpp new file mode 100644 index 000000000..b942069f8 --- /dev/null +++ b/shm/coordinates.hpp @@ -0,0 +1,22 @@ +#pragma once + +class Coordinates { +public: + Coordinates(int positionX, int positionY) + : positionX_(positionX) + , positionY_(positionY) + {} + + void setPositionX(int ); + int getPositionX() const; + + void setPositionY(int ); + int getPositionY() const; + + bool operator== (const Coordinates ) const; + +private: + int positionX_; + int positionY_; +}; + diff --git a/shm/island.cpp b/shm/island.cpp index e38a768ca..f010895d3 100644 --- a/shm/island.cpp +++ b/shm/island.cpp @@ -1,27 +1,5 @@ #include "island.hpp" -void Island::Coordinates::setPositionX(int& positionX) { - positionX = positionX_; -} -int Island::Coordinates::getPositionX() const { - return positionX_; -} - -void Island::Coordinates::setPositionY(int& positionY) { - positionY = positionY_; -} -int Island::Coordinates::getPositionY() const { - return positionY_; -} - -bool Island::Coordinates::operator== (const Coordinates& n_pos) const { - // if ( positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_) { - // return true; - // } - // return false; - return positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_; -} - -Island::Coordinates Island::getPosition() const { +Coordinates Island::getPosition() const { return position_; } \ No newline at end of file diff --git a/shm/island.hpp b/shm/island.hpp index ec254c952..58f892508 100644 --- a/shm/island.hpp +++ b/shm/island.hpp @@ -1,31 +1,12 @@ #pragma once +#include "coordinates.hpp" class Island { public: - Island(int positionX, int positionY) - : position_(Coordinates(positionX, positionY)) + Island(Coordinates position) + : position_(position) {} - class Coordinates { - public: - Coordinates(int& positionX, int& positionY) - : positionX_(positionX) - , positionY_(positionY) - {} - - void setPositionX(int& ); - int getPositionX() const; - - void setPositionY(int& ); - int getPositionY() const; - - bool operator== (const Coordinates& n_pos) const; - - private: - int positionX_; - int positionY_; - }; - Coordinates getPosition() const; private: From 8de582378608f033cdc044bc576efaab8224ab87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Meisnerowski?= Date: Tue, 6 Jul 2021 19:11:35 +0200 Subject: [PATCH 035/100] Revert "Added new files coordinates.hpp/.cpp, modification of island.hpp - move coordinates class to new file, delete references, modification of operator==" This reverts commit 5b7353f6c9b5ba90c3c48a62fd628570087269e7. --- shm/coordinates.cpp | 19 ------------------- shm/coordinates.hpp | 22 ---------------------- shm/island.cpp | 24 +++++++++++++++++++++++- shm/island.hpp | 25 ++++++++++++++++++++++--- 4 files changed, 45 insertions(+), 45 deletions(-) delete mode 100644 shm/coordinates.cpp delete mode 100644 shm/coordinates.hpp diff --git a/shm/coordinates.cpp b/shm/coordinates.cpp deleted file mode 100644 index 0cab11a08..000000000 --- a/shm/coordinates.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include "coordinates.hpp" - -void Coordinates::setPositionX(int positionX) { - positionX = positionX_; -} -int Coordinates::getPositionX() const { - return positionX_; -} - -void Coordinates::setPositionY(int positionY) { - positionY = positionY_; -} -int Coordinates::getPositionY() const { - return positionY_; -} - -bool Coordinates::operator== (const Coordinates n_pos) const { - return positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_; -} \ No newline at end of file diff --git a/shm/coordinates.hpp b/shm/coordinates.hpp deleted file mode 100644 index b942069f8..000000000 --- a/shm/coordinates.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -class Coordinates { -public: - Coordinates(int positionX, int positionY) - : positionX_(positionX) - , positionY_(positionY) - {} - - void setPositionX(int ); - int getPositionX() const; - - void setPositionY(int ); - int getPositionY() const; - - bool operator== (const Coordinates ) const; - -private: - int positionX_; - int positionY_; -}; - diff --git a/shm/island.cpp b/shm/island.cpp index f010895d3..e38a768ca 100644 --- a/shm/island.cpp +++ b/shm/island.cpp @@ -1,5 +1,27 @@ #include "island.hpp" -Coordinates Island::getPosition() const { +void Island::Coordinates::setPositionX(int& positionX) { + positionX = positionX_; +} +int Island::Coordinates::getPositionX() const { + return positionX_; +} + +void Island::Coordinates::setPositionY(int& positionY) { + positionY = positionY_; +} +int Island::Coordinates::getPositionY() const { + return positionY_; +} + +bool Island::Coordinates::operator== (const Coordinates& n_pos) const { + // if ( positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_) { + // return true; + // } + // return false; + return positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_; +} + +Island::Coordinates Island::getPosition() const { return position_; } \ No newline at end of file diff --git a/shm/island.hpp b/shm/island.hpp index 58f892508..ec254c952 100644 --- a/shm/island.hpp +++ b/shm/island.hpp @@ -1,12 +1,31 @@ #pragma once -#include "coordinates.hpp" class Island { public: - Island(Coordinates position) - : position_(position) + Island(int positionX, int positionY) + : position_(Coordinates(positionX, positionY)) {} + class Coordinates { + public: + Coordinates(int& positionX, int& positionY) + : positionX_(positionX) + , positionY_(positionY) + {} + + void setPositionX(int& ); + int getPositionX() const; + + void setPositionY(int& ); + int getPositionY() const; + + bool operator== (const Coordinates& n_pos) const; + + private: + int positionX_; + int positionY_; + }; + Coordinates getPosition() const; private: From 9ed1f3cf799baab50ba7e74bf8adaa1cb72b1290 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Meisnerowski?= Date: Tue, 6 Jul 2021 19:32:45 +0200 Subject: [PATCH 036/100] Added new files coordinates.hpp/.cpp, moved class coordinates to new file, delete references, modification of operator== --- shm/coordinates.cpp | 19 +++++++++++++++++++ shm/coordinates.hpp | 22 ++++++++++++++++++++++ shm/island.cpp | 24 +----------------------- shm/island.hpp | 25 +++---------------------- 4 files changed, 45 insertions(+), 45 deletions(-) create mode 100644 shm/coordinates.cpp create mode 100644 shm/coordinates.hpp diff --git a/shm/coordinates.cpp b/shm/coordinates.cpp new file mode 100644 index 000000000..0cab11a08 --- /dev/null +++ b/shm/coordinates.cpp @@ -0,0 +1,19 @@ +#include "coordinates.hpp" + +void Coordinates::setPositionX(int positionX) { + positionX = positionX_; +} +int Coordinates::getPositionX() const { + return positionX_; +} + +void Coordinates::setPositionY(int positionY) { + positionY = positionY_; +} +int Coordinates::getPositionY() const { + return positionY_; +} + +bool Coordinates::operator== (const Coordinates n_pos) const { + return positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_; +} \ No newline at end of file diff --git a/shm/coordinates.hpp b/shm/coordinates.hpp new file mode 100644 index 000000000..b942069f8 --- /dev/null +++ b/shm/coordinates.hpp @@ -0,0 +1,22 @@ +#pragma once + +class Coordinates { +public: + Coordinates(int positionX, int positionY) + : positionX_(positionX) + , positionY_(positionY) + {} + + void setPositionX(int ); + int getPositionX() const; + + void setPositionY(int ); + int getPositionY() const; + + bool operator== (const Coordinates ) const; + +private: + int positionX_; + int positionY_; +}; + diff --git a/shm/island.cpp b/shm/island.cpp index e38a768ca..f010895d3 100644 --- a/shm/island.cpp +++ b/shm/island.cpp @@ -1,27 +1,5 @@ #include "island.hpp" -void Island::Coordinates::setPositionX(int& positionX) { - positionX = positionX_; -} -int Island::Coordinates::getPositionX() const { - return positionX_; -} - -void Island::Coordinates::setPositionY(int& positionY) { - positionY = positionY_; -} -int Island::Coordinates::getPositionY() const { - return positionY_; -} - -bool Island::Coordinates::operator== (const Coordinates& n_pos) const { - // if ( positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_) { - // return true; - // } - // return false; - return positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_; -} - -Island::Coordinates Island::getPosition() const { +Coordinates Island::getPosition() const { return position_; } \ No newline at end of file diff --git a/shm/island.hpp b/shm/island.hpp index ec254c952..58f892508 100644 --- a/shm/island.hpp +++ b/shm/island.hpp @@ -1,31 +1,12 @@ #pragma once +#include "coordinates.hpp" class Island { public: - Island(int positionX, int positionY) - : position_(Coordinates(positionX, positionY)) + Island(Coordinates position) + : position_(position) {} - class Coordinates { - public: - Coordinates(int& positionX, int& positionY) - : positionX_(positionX) - , positionY_(positionY) - {} - - void setPositionX(int& ); - int getPositionX() const; - - void setPositionY(int& ); - int getPositionY() const; - - bool operator== (const Coordinates& n_pos) const; - - private: - int positionX_; - int positionY_; - }; - Coordinates getPosition() const; private: From cd918ff006ae73e9ca21687f07b26dcbe342812c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Wed, 7 Jul 2021 14:59:45 +0200 Subject: [PATCH 037/100] main --- shm/main | Bin 0 -> 74504 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 shm/main diff --git a/shm/main b/shm/main new file mode 100755 index 0000000000000000000000000000000000000000..ec80d4c76291581b7b663075f0f3b768b26e0471 GIT binary patch literal 74504 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 literal 0 HcmV?d00001 From 9fbb5a871274fafc91b71a9f57189574d4de5378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Sat, 10 Jul 2021 16:31:15 +0200 Subject: [PATCH 038/100] Fixing a bug in player, cargo and ship --- shm/alcohol.cpp | 70 ++++++++++++++++++------------------ shm/alcohol.hpp | 48 ++++++++++++------------- shm/cargo.cpp | 22 +++++------- shm/cargo.hpp | 20 +++++------ shm/fruit.cpp | 94 ++++++++++++++++++++++++------------------------ shm/fruit.hpp | 64 ++++++++++++++++----------------- shm/item.cpp | 60 +++++++++++++++---------------- shm/item.hpp | 58 +++++++++++++++--------------- shm/main | Bin 74504 -> 109584 bytes shm/main.cpp | 29 ++++++++------- shm/player.cpp | 35 +++++++++++++----- shm/player.hpp | 6 ++-- shm/ship.cpp | 30 +++++++++------- shm/ship.hpp | 12 ++++--- 14 files changed, 285 insertions(+), 263 deletions(-) diff --git a/shm/alcohol.cpp b/shm/alcohol.cpp index 988d20805..6ba4a7a3e 100644 --- a/shm/alcohol.cpp +++ b/shm/alcohol.cpp @@ -1,45 +1,45 @@ -#include "alcohol.hpp" +// #include "alcohol.hpp" -Cargo& Cargo::operator+=(size_t amount) { - amount_ += amount; - return *this; -} - -Cargo& Cargo::operator-=(size_t amount) { - amount_ -= amount; - return *this; -} +// Cargo& Cargo::operator+=(size_t amount) { +// amount_ += amount; +// return *this; +// } -Alcohol& Alcohol::operator--() -{ - if(amount_ > 0) { - --amount_; - } - return *this; -} +// Cargo& Cargo::operator-=(size_t amount) { +// amount_ -= amount; +// return *this; +// } -// bool Alcohol::operator == (const Cargo& alcohol) const +// Alcohol& Alcohol::operator--() // { +// if(amount_ > 0) { +// --amount_; +// } +// return *this; +// } + +// // bool Alcohol::operator == (const Cargo& alcohol) const +// // { +// // } + +// Alcohol& Alcohol::operator--(int) +// { +// Alcohol temp(*this); +// if(amount_ > 0) { +// operator--(); +// } +// return temp; // } -Alcohol& Alcohol::operator--(int) -{ - Alcohol temp(*this); - if(amount_ > 0) { - operator--(); - } - return temp; -} - -size_t Alcohol::getPrice() const { - return static_cast(basePrice_ * percentages_ / max); -}; - -std::string Alcohol::getName() const { return name_; }; -size_t Alcohol::getAmount() const {return amount_; }; -size_t Alcohol::getBasePrice() const {return basePrice_;}; -size_t Alcohol::getPercentages() const {return percentages_;}; \ No newline at end of file +// size_t Alcohol::getPrice() const { +// return static_cast(basePrice_ * percentages_ / max); +// }; + +// std::string Alcohol::getName() const { return name_; }; +// size_t Alcohol::getAmount() const {return amount_; }; +// size_t Alcohol::getBasePrice() const {return basePrice_;}; +// size_t Alcohol::getPercentages() const {return percentages_;}; \ No newline at end of file diff --git a/shm/alcohol.hpp b/shm/alcohol.hpp index b1d0b79b7..015f19326 100644 --- a/shm/alcohol.hpp +++ b/shm/alcohol.hpp @@ -1,33 +1,33 @@ -#pragma once +// #pragma once -#include "cargo.hpp" +// #include "cargo.hpp" -constexpr auto max = 96; +// constexpr auto max = 96; -class Alcohol : public Cargo -{ +// class Alcohol : public Cargo +// { -public: - Alcohol(size_t amount, std::string name, size_t basePrice, size_t percentegs) - : Cargo(name, amount, basePrice) - , percentages_(percentegs) - {} - ~Alcohol(); +// public: +// Alcohol(size_t amount, std::string name, size_t basePrice, size_t percentegs) +// : Cargo(name, amount, basePrice) +// , percentages_(percentegs) +// {} +// ~Alcohol(); - Cargo& operator+=(size_t amount) override; - Cargo& operator-=(size_t amount) override; - bool operator==(const Cargo& alcohol) const override; +// Cargo& operator+=(size_t amount) override; +// Cargo& operator-=(size_t amount) override; +// bool operator==(const Cargo& alcohol) const override; - Alcohol& operator--(); - Alcohol& operator--(int); +// Alcohol& operator--(); +// Alcohol& operator--(int); - size_t getPrice() const override; - std::string getName() const override; - size_t getAmount() const override; - size_t getBasePrice() const override; - size_t getPercentages() const; +// size_t getPrice() const override; +// std::string getName() const override; +// size_t getAmount() const override; +// size_t getBasePrice() const override; +// size_t getPercentages() const; -private: - size_t percentages_; -}; +// private: +// size_t percentages_; +// }; diff --git a/shm/cargo.cpp b/shm/cargo.cpp index b9c83b808..6a31ddf02 100644 --- a/shm/cargo.cpp +++ b/shm/cargo.cpp @@ -1,25 +1,21 @@ #include "cargo.hpp" +#include + Cargo& Cargo::operator+=(size_t amount) { amount_ += amount; return *this; } Cargo& Cargo::operator-=(size_t amount) { - amount_ -= amount; + if (amount <= amount_) { + amount_ -= amount; + } else { + std::cerr << "Amount of cargo can not be under 0!!!\n"; + } return *this; } -bool Cargo::operator == (const Cargo& cargo) const { - return cargo.getName() == name_; -} - -std::string Cargo::getName() const { - return name_; -} -size_t Cargo::getAmount() const { - return amount_; -} -size_t Cargo::getBasePrice() const { - return basePrice_; +bool Cargo::operator==(const Cargo& cargo) const { + return cargo.name_ == name_; } diff --git a/shm/cargo.hpp b/shm/cargo.hpp index ec0393af0..303fba1da 100644 --- a/shm/cargo.hpp +++ b/shm/cargo.hpp @@ -1,26 +1,22 @@ #pragma once #include +//Class responsible for managing Cargo in the game. class Cargo { public: Cargo(std::string name, size_t amount, size_t basePrice) : name_(name), amount_(amount), basePrice_(basePrice) {} + Cargo& operator+=(size_t amount); + Cargo& operator-=(size_t amount); - virtual Cargo& operator+=(size_t amount) = 0; - virtual Cargo& operator-=(size_t amount) = 0; + bool operator==(const Cargo&) const; - virtual bool operator==(const Cargo&) const = 0; - - virtual size_t getPrice() const = 0; - virtual std::string getName() const = 0; - virtual size_t getAmount() const = 0; - virtual size_t getBasePrice() const = 0; - - void setAmount(const size_t amount) { - amount_ = amount; - } + std::string getName() const { return name_; }; + size_t getAmount() const { return amount_; }; + size_t getBasePrice() const { return basePrice_; }; + void setAmount(const size_t amount) { amount_ = amount; }; protected: std::string name_; diff --git a/shm/fruit.cpp b/shm/fruit.cpp index d57b84408..46db71322 100644 --- a/shm/fruit.cpp +++ b/shm/fruit.cpp @@ -1,64 +1,64 @@ -#include "fruit.hpp" +// #include "fruit.hpp" -/// operators -Cargo& Fruit::operator+=(size_t amount) { - amount_ += amount; - return *this; -} +// /// operators +// Cargo& Fruit::operator+=(size_t amount) { +// amount_ += amount; +// return *this; +// } -Cargo& Fruit::operator-=(size_t amount) { - amount_ -= amount; - return *this; -} +// Cargo& Fruit::operator-=(size_t amount) { +// amount_ -= amount; +// return *this; +// } -Fruit& Fruit::operator--() { +// Fruit& Fruit::operator--() { - return *this; -} +// return *this; +// } -Fruit& Fruit::operator--(int) { +// Fruit& Fruit::operator--(int) { - if(data_ > 0){ - operator--(); - } +// if(data_ > 0){ +// operator--(); +// } - return *this; -} +// return *this; +// } -// bool Fruit::operator==(const Cargo& fruit) const -// { -// if(typeid(fruit) == typeid(Friut)) { -// const std::shared_ptr fruit = static_cast>(&cargo); +// // bool Fruit::operator==(const Cargo& fruit) const +// // { +// // if(typeid(fruit) == typeid(Friut)) { +// // const std::shared_ptr fruit = static_cast>(&cargo); -// } -// } +// // } +// // } -/// getters -size_t Fruit::getAmount() const { - return amount_; -} +// /// getters +// size_t Fruit::getAmount() const { +// return amount_; +// } -size_t Fruit::getBasePrice() const { - return basePrice_; -} -std::string Fruit::getName() const { - return name_; -} +// size_t Fruit::getBasePrice() const { +// return basePrice_; +// } +// std::string Fruit::getName() const { +// return name_; +// } -size_t Fruit::getExpitingTime() const { - return expiringTime_; -} +// size_t Fruit::getExpitingTime() const { +// return expiringTime_; +// } -size_t Fruit::getData() const { - return data_; -} +// size_t Fruit::getData() const { +// return data_; +// } -size_t Fruit::getPrice() const { - if(data_ - expiringTime_ < 0) { - return 0; - } - return basePrice_ * static_cast((static_cast(data_) - static_cast(expiringTime_)/ static_cast(data_))); -} +// size_t Fruit::getPrice() const { +// if(data_ - expiringTime_ < 0) { +// return 0; +// } +// return basePrice_ * static_cast((static_cast(data_) - static_cast(expiringTime_)/ static_cast(data_))); +// } diff --git a/shm/fruit.hpp b/shm/fruit.hpp index fe189bfef..d12cf2c1f 100644 --- a/shm/fruit.hpp +++ b/shm/fruit.hpp @@ -1,34 +1,34 @@ -#pragma once - -#include "cargo.hpp" - -class Fruit : public Cargo -{ -public: - Fruit(size_t amount, std::string name, size_t basePrice, size_t expiringTime, size_t data) - : Cargo(name, amount, basePrice) - , expiringTime_(expiringTime) - ,data_(data) - {} - ~Fruit(); - - Cargo& operator+=(size_t amount) override; - Cargo& operator-=(size_t amount) override; - bool operator==(const Cargo& fruit) const override; - Fruit& operator--(); - Fruit& operator--(int); - - size_t getPrice() const override; - std::string getName() const override; - size_t getAmount() const override; - size_t getBasePrice() const override; - - size_t getExpitingTime() const; - size_t getData() const; - -private: - size_t expiringTime_ {0}; - size_t data_ ; -}; +// #pragma once + +// #include "cargo.hpp" + +// class Fruit : public Cargo +// { +// public: +// Fruit(size_t amount, std::string name, size_t basePrice, size_t expiringTime, size_t data) +// : Cargo(name, amount, basePrice) +// , expiringTime_(expiringTime) +// ,data_(data) +// {} +// ~Fruit(); + +// Cargo& operator+=(size_t amount) override; +// Cargo& operator-=(size_t amount) override; +// bool operator==(const Cargo& fruit) const override; +// Fruit& operator--(); +// Fruit& operator--(int); + +// size_t getPrice() const override; +// std::string getName() const override; +// size_t getAmount() const override; +// size_t getBasePrice() const override; + +// size_t getExpitingTime() const; +// size_t getData() const; + +// private: +// size_t expiringTime_ {0}; +// size_t data_ ; +// }; diff --git a/shm/item.cpp b/shm/item.cpp index 521a434e2..fe63ca802 100644 --- a/shm/item.cpp +++ b/shm/item.cpp @@ -1,37 +1,37 @@ -#include "item.hpp" +// #include "item.hpp" -Cargo& Cargo::operator+=(size_t amount) { - amount_ += amount; - return *this; -} +// Cargo& Cargo::operator+=(size_t amount) { +// amount_ += amount; +// return *this; +// } + +// Cargo& Cargo::operator-=(size_t amount) { +// if (amount <= amount_) { +// amount_ -= amount; +// return *this; +// } +// } -Cargo& Cargo::operator-=(size_t amount) { - if (amount <= amount_) { - amount_ -= amount; - return *this; - } -} +// Item& Item::operator--() { +// if (amount_ > 0) { +// --amount_; +// } +// return *this; +// } -Item& Item::operator--() { - if (amount_ > 0) { - --amount_; - } - return *this; -} +// Item& Item::operator--(int) { +// Item temp(*this); +// if (amount_ > 0) { +// operator--(); +// } +// return temp; +// } -Item& Item::operator--(int) { - Item temp(*this); - if (amount_ > 0) { - operator--(); - } - return temp; -} +// // bool item::operator == (const Cargo& cargo) const +// // { -// bool item::operator == (const Cargo& cargo) const -// { +// // } +// size_t Item::getPrice() const { +// return basePrice_ * static_cast(rarity_); // } - -size_t Item::getPrice() const { - return basePrice_ * static_cast(rarity_); -} diff --git a/shm/item.hpp b/shm/item.hpp index 3f3a5276f..d10271a18 100644 --- a/shm/item.hpp +++ b/shm/item.hpp @@ -1,39 +1,39 @@ -#pragma once +// #pragma once -#include "cargo.hpp" +// #include "cargo.hpp" -class Item : public Cargo -{ +// class Item : public Cargo +// { -public: - enum class Rarity { - common = 1 - , rare = 5 - , epic = 10 - , legendary = 20 - }; +// public: +// enum class Rarity { +// common = 1 +// , rare = 5 +// , epic = 10 +// , legendary = 20 +// }; - Item(std::string name, size_t amount, size_t basePrice, Rarity rarity) - : Cargo(name , amount, basePrice) - , rarity_(rarity) - {} - ~Item(); +// Item(std::string name, size_t amount, size_t basePrice, Rarity rarity) +// : Cargo(name , amount, basePrice) +// , rarity_(rarity) +// {} +// ~Item(); - Cargo& operator+=(size_t amount) override; - Cargo& operator-=(size_t amount) override; - bool operator==(const Cargo& cargo) const override; +// Cargo& operator+=(size_t amount) override; +// Cargo& operator-=(size_t amount) override; +// bool operator==(const Cargo& cargo) const override; - Item& operator--(); - Item& operator--(int); +// Item& operator--(); +// Item& operator--(int); - size_t getPrice() const override ; - std::string getName() const override {return name_ ;}; - size_t getAmount() const override {return amount_;}; - size_t getBasePrice() const override {return basePrice_;}; - Rarity getRarity() const {return rarity_;}; +// size_t getPrice() const override ; +// std::string getName() const override {return name_ ;}; +// size_t getAmount() const override {return amount_;}; +// size_t getBasePrice() const override {return basePrice_;}; +// Rarity getRarity() const {return rarity_;}; -private: - Rarity rarity_; -}; +// private: +// Rarity rarity_; +// }; diff --git a/shm/main b/shm/main index ec80d4c76291581b7b663075f0f3b768b26e0471..f068a0924d4fb7edbf765197417597847718e86b 100755 GIT binary patch literal 109584 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 literal 74504 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 diff --git a/shm/main.cpp b/shm/main.cpp index 30fd722f8..2aaa3367c 100644 --- a/shm/main.cpp +++ b/shm/main.cpp @@ -1,24 +1,27 @@ #include +#include + #include "cargo.hpp" -#include "ship.hpp" #include "player.hpp" -#include -//#include "alcohol.hpp" +#include "ship.hpp" int main() { - + auto cargo1 = std::make_shared("cebula", 30, 2); + auto cargo2 = std::make_shared("drewno", 10, 20); + auto cargo3 = std::make_shared("wino", 10, 100); + auto cargo4 = std::make_shared("miedz", 10, 1); + auto cargo5 = std::make_shared("rubin", 10, 2); + auto cargo6 = std::make_shared("cebula", 3, 10); + auto cargo7 = std::make_shared("Woda", 200, 500); - // Ship testShip(5000, 50, 30, "Lover", 10); - auto pirateShip = std::make_shared(500, 10, 1, "Monica", 2 ); + std::vector> LOAD {cargo1, cargo2 , cargo3, cargo4, cargo5, cargo6, cargo7}; - - Player Tomek(pirateShip, 40000); - - - std::cout << Tomek.getAvailableSpace(); + auto s1 = std::make_shared(500, 20, 14, 5, "Black Widow", 1, LOAD); + Player pla1(s1, 5000); + std::cout << '\n'; - - + pla1.printCargo(); + return 0; } \ No newline at end of file diff --git a/shm/player.cpp b/shm/player.cpp index 00453bbaa..e0232d2f1 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -7,9 +7,7 @@ #include "player.hpp" #include "ship.hpp" -// constructors - -Player::Player(std::shared_ptr ship, size_t money) +Player::Player(std::shared_ptr ship, const size_t& money) : ship_(std::move(ship)), money_(money) { countAvailableSpace(); } @@ -21,7 +19,10 @@ size_t Player::getAvailableSpace() const { return availableSpace_; } std::shared_ptr Player::getShip() const { - return ship_; + if (!ship_) { + return nullptr; + } + return std::shared_ptr(ship_); }; size_t Player::getSpeed() const { @@ -32,11 +33,27 @@ std::shared_ptr Player::getCargo(size_t index) const { } void Player::countAvailableSpace() { - const auto& cargoVector = ship_->getCargosVector(); - if (ship_->getCapacity() <= cargoVector.size()) { - availableSpace_ = 0; + const auto& cargoVector = ship_->getCapacity(); + size_t sum = 0; + for (int i = 0; i < ship_->getCargosVector().size(); i++) { + sum += ship_->getCargo(i)->getAmount(); } - availableSpace_ = ship_->getCapacity() - cargoVector.size(); + availableSpace_ = cargoVector - sum; } -//methods + +void Player::printCargo() const { + if (!ship_) { + return; + } + + std::cout << "Ship name: " << ship_->getName() << '\n' + << "Ship capacity: " << ship_->getCapacity() << '\n' + << "Available space: " << availableSpace_ << '\n' + << '\n'; + int i = 0; + std::cout << "Current ship's cargo\n"; + for (const auto& el : ship_->getCargosVector()) { + std::cout << i++ << " Name: " << el->getName() << ",\t\t Amount: " << el->getAmount() << ",\t\t Base proce: " << el->getBasePrice() << '\n'; + } +} \ No newline at end of file diff --git a/shm/player.hpp b/shm/player.hpp index a68e24656..f65d1d5ab 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -3,10 +3,10 @@ class Cargo; class Ship; - +// Class responsible for managing Player in the game. class Player { public: - Player(std::shared_ptr ship, size_t money); + Player(std::shared_ptr ship, const size_t& money); size_t getMoney() const; size_t getAvailableSpace() const; @@ -14,6 +14,8 @@ class Player { size_t getSpeed() const; std::shared_ptr getCargo(size_t index) const; + void printCargo() const; + private: std::shared_ptr ship_; size_t money_; diff --git a/shm/ship.cpp b/shm/ship.cpp index 43f3aba12..e9a885bc0 100644 --- a/shm/ship.cpp +++ b/shm/ship.cpp @@ -1,29 +1,29 @@ -#include + +#include #include +#include + #include "cargo.hpp" #include "ship.hpp" -#include "alcohol.hpp" -#include "fruit.hpp" -#include "item.hpp" -#include -#include + +// Class responsible for managing Ships in the game. Ship& Ship::operator-=(size_t num) { - if(crew_ - num <= crew_) { + if (crew_ - num <= crew_) { crew_ -= num; } else { std::cerr << "You need at least one member of the crew !!!\n"; - } + } return *this; } Ship& Ship::operator+=(size_t num) { - if(crew_ + num <= maxCrew_) { + if (crew_ + num <= maxCrew_) { crew_ += num; - }else { + } else { std::cerr << " The maximum amount of members of the crew is " << maxCrew_ << " !!!! \n"; } - + return *this; } @@ -33,6 +33,9 @@ size_t Ship::getCapacity() const { size_t Ship::getMaxCrew() const { return maxCrew_; } +size_t Ship::getCrew() const { + return crew_; +} size_t Ship::getSpeed() const { return speed_; } @@ -42,8 +45,9 @@ std::string Ship::getName() const { size_t Ship::getId() const { return id_; } -std::shared_ptrShip::getCargo(size_t index) const { - if(cargos_.size() <= index) { +// Function returns specific cargo +std::shared_ptr Ship::getCargo(size_t index) const { + if (cargos_.size() <= index) { return nullptr; } return cargos_[index]; diff --git a/shm/ship.hpp b/shm/ship.hpp index b318dfcb3..dd8a154d5 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -4,21 +4,24 @@ #include #include "cargo.hpp" + +// Class responsible for managing Ship in the game. class Ship { public: Ship() : id_(-1) {} - Ship(int capacity, int maxCrew, int speed, const std::string& name, size_t id) + Ship(size_t capacity, size_t maxCrew, size_t crew, size_t speed, const std::string& name, size_t id, std::vector> cargos) : capacity_(capacity) , maxCrew_(maxCrew) - , crew_(0) + , crew_(crew) , speed_(speed) , name_(name) , id_(id) + , cargos_(cargos) {} - Ship(int maxCrew, int speed, size_t id) - : Ship(0, maxCrew, speed, "", id) {} + Ship(size_t maxCrew, size_t speed, size_t id) + : Ship(0, maxCrew, 0, speed, "", id, {}) {} Ship& operator-=(size_t num); Ship& operator+=(size_t num); @@ -26,6 +29,7 @@ class Ship size_t getCapacity() const; size_t getMaxCrew() const; size_t getSpeed() const; + size_t getCrew() const; std::string getName() const; size_t getId() const; std::shared_ptr getCargo(size_t index) const; From 44eb3f55bd6630c7b5e691952088c9a49ac26542 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Meisnerowski?= Date: Wed, 14 Jul 2021 19:55:28 +0200 Subject: [PATCH 039/100] In coordinates class added new method distastance and change variable type from int to size_t, in island class added method set position --- shm/coordinates.cpp | 14 +++++++++----- shm/coordinates.hpp | 25 +++++++++++++++++-------- shm/island.cpp | 4 ++++ shm/island.hpp | 4 ++++ 4 files changed, 34 insertions(+), 13 deletions(-) diff --git a/shm/coordinates.cpp b/shm/coordinates.cpp index 0cab11a08..043eca120 100644 --- a/shm/coordinates.cpp +++ b/shm/coordinates.cpp @@ -1,19 +1,23 @@ #include "coordinates.hpp" -void Coordinates::setPositionX(int positionX) { +void Coordinates::setPositionX(size_t positionX) { positionX = positionX_; } -int Coordinates::getPositionX() const { +size_t Coordinates::getPositionX() const { return positionX_; } -void Coordinates::setPositionY(int positionY) { +void Coordinates::setPositionY(size_t positionY) { positionY = positionY_; } -int Coordinates::getPositionY() const { +size_t Coordinates::getPositionY() const { return positionY_; } bool Coordinates::operator== (const Coordinates n_pos) const { return positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_; -} \ No newline at end of file +} + +size_t Coordinates::distance(const Coordinates& lhs, const Coordinates& rhs) { + return std::round(std::sqrt(std::pow((static_cast(lhs.getPositionX()) - static_cast(rhs.getPositionX())),2) + std::pow((static_cast(lhs.getPositionY()) - static_cast(rhs.getPositionY())),2))); +} diff --git a/shm/coordinates.hpp b/shm/coordinates.hpp index b942069f8..1d147f295 100644 --- a/shm/coordinates.hpp +++ b/shm/coordinates.hpp @@ -1,22 +1,31 @@ #pragma once +#include class Coordinates { -public: - Coordinates(int positionX, int positionY) +public: + Coordinates() + : positionX_(0) + , positionY_(0) + {} + + Coordinates(size_t positionX, size_t positionY) : positionX_(positionX) , positionY_(positionY) {} - void setPositionX(int ); - int getPositionX() const; + void setPositionX(size_t ); + size_t getPositionX() const; - void setPositionY(int ); - int getPositionY() const; + void setPositionY(size_t ); + size_t getPositionY() const; bool operator== (const Coordinates ) const; + size_t distance(const Coordinates& , const Coordinates& ); + + private: - int positionX_; - int positionY_; + size_t positionX_; + size_t positionY_; }; diff --git a/shm/island.cpp b/shm/island.cpp index f010895d3..6626a74e5 100644 --- a/shm/island.cpp +++ b/shm/island.cpp @@ -2,4 +2,8 @@ Coordinates Island::getPosition() const { return position_; +} + +void Island::setPosition(Coordinates position){ + position_ = position; } \ No newline at end of file diff --git a/shm/island.hpp b/shm/island.hpp index 58f892508..12ba67e7a 100644 --- a/shm/island.hpp +++ b/shm/island.hpp @@ -3,11 +3,15 @@ class Island { public: + Island() {} + Island(Coordinates position) : position_(position) {} Coordinates getPosition() const; + void setPosition(Coordinates ); + private: Coordinates position_; From 0fa6324b316125fa4be5789d7159a10c53aace8c Mon Sep 17 00:00:00 2001 From: Jakub Kubalka Date: Thu, 15 Jul 2021 13:39:57 +0200 Subject: [PATCH 040/100] Map repaired, added Cmake, also changes to cargo, and island and added coordinates files from Darth branch --- shm/CMakeLists.txt | 14 ++++++++++++++ shm/cargo.cpp | 12 +++++++++--- shm/cargo.hpp | 8 ++------ shm/coordinates.cpp | 23 +++++++++++++++++++++++ shm/coordinates.hpp | 30 ++++++++++++++++++++++++++++++ shm/island.cpp | 26 ++++---------------------- shm/island.hpp | 29 +++++++---------------------- shm/main.cpp | 4 ++-- shm/map.cpp | 33 ++++++++++++++++++--------------- shm/map.hpp | 13 ++++++++++--- shm/player.cpp | 13 +++++++------ 11 files changed, 126 insertions(+), 79 deletions(-) create mode 100644 shm/CMakeLists.txt create mode 100644 shm/coordinates.cpp create mode 100644 shm/coordinates.hpp diff --git a/shm/CMakeLists.txt b/shm/CMakeLists.txt new file mode 100644 index 000000000..f28247c5b --- /dev/null +++ b/shm/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.10) + +project(SHM_2077) + +set(FILES + island.cpp + map.cpp + player.cpp + ship.cpp + coordinates.cpp + cargo.cpp) + +add_executable(${PROJECT_NAME} main.cpp ${FILES}) +target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -Wpedantic -Wconversion -O0) \ No newline at end of file diff --git a/shm/cargo.cpp b/shm/cargo.cpp index b9c83b808..4c0403817 100644 --- a/shm/cargo.cpp +++ b/shm/cargo.cpp @@ -1,5 +1,11 @@ #include "cargo.hpp" +Cargo::Cargo(std::string name, size_t amount, size_t basePrice) + : name_(name) + , amount_(amount) + , basePrice_(basePrice) + {} + Cargo& Cargo::operator+=(size_t amount) { amount_ += amount; return *this; @@ -10,11 +16,11 @@ Cargo& Cargo::operator-=(size_t amount) { return *this; } -bool Cargo::operator == (const Cargo& cargo) const { +bool Cargo::operator== (const Cargo& cargo) const { return cargo.getName() == name_; } -std::string Cargo::getName() const { +const std::string& Cargo::getName() const { return name_; } size_t Cargo::getAmount() const { @@ -22,4 +28,4 @@ size_t Cargo::getAmount() const { } size_t Cargo::getBasePrice() const { return basePrice_; -} +} \ No newline at end of file diff --git a/shm/cargo.hpp b/shm/cargo.hpp index 0c2e11e99..46750feb4 100644 --- a/shm/cargo.hpp +++ b/shm/cargo.hpp @@ -3,17 +3,13 @@ class Cargo { public: - Cargo(std::string name, size_t amount, size_t basePrice) - : name_(name) - , amount_(amount) - , basePrice_(basePrice) - {} + Cargo(std::string name, size_t amount, size_t basePrice); Cargo& operator+=(size_t amount); Cargo& operator-=(size_t amount); bool operator==(const Cargo&) const; - std::string getName() const; + const std::string& getName() const; size_t getAmount() const; size_t getBasePrice() const; diff --git a/shm/coordinates.cpp b/shm/coordinates.cpp new file mode 100644 index 000000000..d95670798 --- /dev/null +++ b/shm/coordinates.cpp @@ -0,0 +1,23 @@ +#include "coordinates.hpp" + +void Coordinates::setPositionX(size_t positionX) { + positionX = positionX_; +} +size_t Coordinates::getPositionX() const { + return positionX_; +} + +void Coordinates::setPositionY(size_t positionY) { + positionY = positionY_; +} +size_t Coordinates::getPositionY() const { + return positionY_; +} + +bool Coordinates::operator== (const Coordinates n_pos) const { + return positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_; +} + +size_t Coordinates::distance(const Coordinates& lhs, const Coordinates& rhs) { + return std::round(std::sqrt(std::pow((static_cast(lhs.getPositionX()) - static_cast(rhs.getPositionX())),2) + std::pow((static_cast(lhs.getPositionY()) - static_cast(rhs.getPositionY())),2))); +} \ No newline at end of file diff --git a/shm/coordinates.hpp b/shm/coordinates.hpp new file mode 100644 index 000000000..8e00cfe20 --- /dev/null +++ b/shm/coordinates.hpp @@ -0,0 +1,30 @@ +#pragma once +#include + +class Coordinates { +public: + Coordinates() + : positionX_(0) + , positionY_(0) + {} + + Coordinates(size_t positionX, size_t positionY) + : positionX_(positionX) + , positionY_(positionY) + {} + + void setPositionX(size_t ); + size_t getPositionX() const; + + void setPositionY(size_t ); + size_t getPositionY() const; + + bool operator== (const Coordinates ) const; + + size_t distance(const Coordinates& , const Coordinates& ); + + +private: + size_t positionX_; + size_t positionY_; +}; diff --git a/shm/island.cpp b/shm/island.cpp index e38a768ca..cd243a41e 100644 --- a/shm/island.cpp +++ b/shm/island.cpp @@ -1,27 +1,9 @@ #include "island.hpp" -void Island::Coordinates::setPositionX(int& positionX) { - positionX = positionX_; -} -int Island::Coordinates::getPositionX() const { - return positionX_; -} - -void Island::Coordinates::setPositionY(int& positionY) { - positionY = positionY_; -} -int Island::Coordinates::getPositionY() const { - return positionY_; +Coordinates Island::getPosition() const { + return position_; } -bool Island::Coordinates::operator== (const Coordinates& n_pos) const { - // if ( positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_) { - // return true; - // } - // return false; - return positionX_ == n_pos.positionX_ && positionY_ == n_pos.positionY_; +void Island::setPosition(Coordinates position){ + position_ = position; } - -Island::Coordinates Island::getPosition() const { - return position_; -} \ No newline at end of file diff --git a/shm/island.hpp b/shm/island.hpp index ec254c952..12ba67e7a 100644 --- a/shm/island.hpp +++ b/shm/island.hpp @@ -1,32 +1,17 @@ #pragma once +#include "coordinates.hpp" class Island { public: - Island(int positionX, int positionY) - : position_(Coordinates(positionX, positionY)) - {} - - class Coordinates { - public: - Coordinates(int& positionX, int& positionY) - : positionX_(positionX) - , positionY_(positionY) - {} + Island() {} - void setPositionX(int& ); - int getPositionX() const; - - void setPositionY(int& ); - int getPositionY() const; - - bool operator== (const Coordinates& n_pos) const; - - private: - int positionX_; - int positionY_; - }; + Island(Coordinates position) + : position_(position) + {} Coordinates getPosition() const; + void setPosition(Coordinates ); + private: Coordinates position_; diff --git a/shm/main.cpp b/shm/main.cpp index ec5d07f88..65143e8d0 100644 --- a/shm/main.cpp +++ b/shm/main.cpp @@ -1,7 +1,8 @@ -#include #include "cargo.hpp" #include "ship.hpp" #include "player.hpp" +#include "island.hpp" +#include int main() { @@ -11,7 +12,6 @@ int main() { Player Wojtek(testShip, 10, 20000); std::cout << Wojtek.getAvailableSpace(); - return 0; } \ No newline at end of file diff --git a/shm/map.cpp b/shm/map.cpp index 0e59681d2..351e0fa63 100644 --- a/shm/map.cpp +++ b/shm/map.cpp @@ -1,24 +1,27 @@ -#include -#include "map.hpp" #include "island.hpp" +#include "map.hpp" + -Map::Map() { - std::random_device rd; - std::mt19937 gen(rd()); - std::uniform_int_distribution<> widthDistribution(0, maxWidth_); - std::uniform_int_distribution<> heightDistribution(0, maxHeight_); +/*Map::Map() { + // std::random_device rd; + // std::mt19937 gen(rd()); + // std::uniform_int_distribution<> widthDistribution(0, maxWidth_); + // std::uniform_int_distribution<> heightDistribution(0, maxHeight_); + randomGenerator_(randomDevice_()); islands_.reserve(10); for (int i = 0; i < islandsQuantity_; ++i) { - Island tempIsland(widthDistribution(gen), heightDistribution(gen)); + Island tempIsland(widthDistribution_(randomGenerator_), heightDistribution(gen)); islands_.push_back(tempIsland); } -} +}*/ -Island* const Map::getPosition() { - return currentPostion_; +Island* Map::getIsland(const Coordinates& coordinate) { + for (auto& island : islands_) { + if (island.getPosition() == coordinate) { + return &island; + } + } + std::cout << "Island not exist"; + return nullptr; } - -Island* Map::getIsland(const Island::Coordinates& coordinate) { - return std::find(islands_.begin(), islands_.end(), coordinate); -} \ No newline at end of file diff --git a/shm/map.hpp b/shm/map.hpp index e258a728c..e60df32ba 100644 --- a/shm/map.hpp +++ b/shm/map.hpp @@ -1,18 +1,25 @@ #pragma once +#include #include #include #include #include +#include class Map { public: Map(); - Island* const getPosition(); - Island* getIsland(const Island::Coordinates& coordinate); + Island* getIsland(const Coordinates& coordinate); + private: const int maxWidth_ = 99; const int maxHeight_ = 99; const int islandsQuantity_ = 10; - std::vector islands_; + std::vector islands_; Island* currentPostion_; + std::random_device randomDevice_; + // std::mt19937 gen(rd()); + std::mt19937 randomGenerator_(std::random_device::result_type); + std::uniform_int_distribution<> widthDistribution(std::mt19937); + std::uniform_int_distribution<> heightDistribution(std::mt19937); }; \ No newline at end of file diff --git a/shm/player.cpp b/shm/player.cpp index 5a2a8d9d0..98360086b 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -16,7 +16,7 @@ size_t Player::getAvailableSpace() const { } std::shared_ptr Player::getShip() const { return ship_; -}; +} size_t Player::getSpeed() const { return ship_->getSpeed(); @@ -29,11 +29,12 @@ std::shared_ptr Player::getCargo(size_t index) const { size_t Player::countAvailableSpace() const { auto sumOfAmounts = std::accumulate(ship_->getCargos().begin(), ship_->getCargos().end(), 0 , [](size_t amountAll, const auto& cargo) {return amountAll += cargo.get()->getAmount();}); - - if(ship_->getCapacity() - sumOfAmounts < 0) - { - return 0; - } + + //size_t is unsigned so this is always false + //if(ship_->getCapacity() - sumOfAmounts < 0) + //{ + // return 0; + //} return ship_->getCapacity() - sumOfAmounts; } \ No newline at end of file From c837a380ac6a724fa300ff14085a8623e8fcf444 Mon Sep 17 00:00:00 2001 From: Jakub Kubalka Date: Thu, 15 Jul 2021 20:38:22 +0200 Subject: [PATCH 041/100] Vector of objects, map done (i hope) --- shm/map.cpp | 4 +++- shm/map.hpp | 8 +++----- shm/player.cpp | 9 ++++----- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/shm/map.cpp b/shm/map.cpp index 351e0fa63..67af84d13 100644 --- a/shm/map.cpp +++ b/shm/map.cpp @@ -1,5 +1,7 @@ #include "island.hpp" #include "map.hpp" +#include +#include /*Map::Map() { @@ -16,7 +18,7 @@ } }*/ -Island* Map::getIsland(const Coordinates& coordinate) { +Island* const Map::getIsland(const Coordinates& coordinate) { for (auto& island : islands_) { if (island.getPosition() == coordinate) { return &island; diff --git a/shm/map.hpp b/shm/map.hpp index e60df32ba..f87650ff4 100644 --- a/shm/map.hpp +++ b/shm/map.hpp @@ -1,15 +1,13 @@ #pragma once -#include #include -#include #include -#include -#include +#include +#include class Map { public: Map(); - Island* getIsland(const Coordinates& coordinate); + Island* const getIsland(const Coordinates& coordinate); private: const int maxWidth_ = 99; diff --git a/shm/player.cpp b/shm/player.cpp index 98360086b..949006ae3 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -30,11 +30,10 @@ size_t Player::countAvailableSpace() const { auto sumOfAmounts = std::accumulate(ship_->getCargos().begin(), ship_->getCargos().end(), 0 , [](size_t amountAll, const auto& cargo) {return amountAll += cargo.get()->getAmount();}); - //size_t is unsigned so this is always false - //if(ship_->getCapacity() - sumOfAmounts < 0) - //{ - // return 0; - //} + if(ship_->getCapacity() - sumOfAmounts < 0) + { + return 0; + } return ship_->getCapacity() - sumOfAmounts; } \ No newline at end of file From bb12618d82deac20209ab135d192ff2132bae8b1 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Sun, 18 Jul 2021 21:36:40 +0200 Subject: [PATCH 042/100] delete alkohol, fruit, item classes files (they're unnecessery for no). Delete main binary file. --- shm/alcohol.cpp | 45 ---------------------------------- shm/alcohol.hpp | 33 ------------------------- shm/fruit.cpp | 64 ------------------------------------------------ shm/fruit.hpp | 34 ------------------------- shm/item.cpp | 37 ---------------------------- shm/item.hpp | 39 ----------------------------- shm/main | Bin 109584 -> 0 bytes 7 files changed, 252 deletions(-) delete mode 100644 shm/alcohol.cpp delete mode 100644 shm/alcohol.hpp delete mode 100644 shm/fruit.cpp delete mode 100644 shm/fruit.hpp delete mode 100644 shm/item.cpp delete mode 100644 shm/item.hpp delete mode 100755 shm/main diff --git a/shm/alcohol.cpp b/shm/alcohol.cpp deleted file mode 100644 index 6ba4a7a3e..000000000 --- a/shm/alcohol.cpp +++ /dev/null @@ -1,45 +0,0 @@ -// #include "alcohol.hpp" - - - - -// Cargo& Cargo::operator+=(size_t amount) { -// amount_ += amount; -// return *this; -// } - -// Cargo& Cargo::operator-=(size_t amount) { -// amount_ -= amount; -// return *this; -// } - -// Alcohol& Alcohol::operator--() -// { -// if(amount_ > 0) { -// --amount_; -// } -// return *this; -// } - -// // bool Alcohol::operator == (const Cargo& alcohol) const -// // { - -// // } - -// Alcohol& Alcohol::operator--(int) -// { -// Alcohol temp(*this); -// if(amount_ > 0) { -// operator--(); -// } -// return temp; -// } - -// size_t Alcohol::getPrice() const { -// return static_cast(basePrice_ * percentages_ / max); -// }; - -// std::string Alcohol::getName() const { return name_; }; -// size_t Alcohol::getAmount() const {return amount_; }; -// size_t Alcohol::getBasePrice() const {return basePrice_;}; -// size_t Alcohol::getPercentages() const {return percentages_;}; \ No newline at end of file diff --git a/shm/alcohol.hpp b/shm/alcohol.hpp deleted file mode 100644 index 015f19326..000000000 --- a/shm/alcohol.hpp +++ /dev/null @@ -1,33 +0,0 @@ -// #pragma once - -// #include "cargo.hpp" - -// constexpr auto max = 96; - -// class Alcohol : public Cargo -// { - -// public: -// Alcohol(size_t amount, std::string name, size_t basePrice, size_t percentegs) -// : Cargo(name, amount, basePrice) -// , percentages_(percentegs) -// {} -// ~Alcohol(); - -// Cargo& operator+=(size_t amount) override; -// Cargo& operator-=(size_t amount) override; -// bool operator==(const Cargo& alcohol) const override; - -// Alcohol& operator--(); -// Alcohol& operator--(int); - -// size_t getPrice() const override; -// std::string getName() const override; -// size_t getAmount() const override; -// size_t getBasePrice() const override; -// size_t getPercentages() const; - -// private: -// size_t percentages_; -// }; - diff --git a/shm/fruit.cpp b/shm/fruit.cpp deleted file mode 100644 index 46db71322..000000000 --- a/shm/fruit.cpp +++ /dev/null @@ -1,64 +0,0 @@ -// #include "fruit.hpp" - - -// /// operators -// Cargo& Fruit::operator+=(size_t amount) { -// amount_ += amount; -// return *this; -// } - -// Cargo& Fruit::operator-=(size_t amount) { -// amount_ -= amount; -// return *this; -// } - -// Fruit& Fruit::operator--() { - -// return *this; -// } - -// Fruit& Fruit::operator--(int) { - - -// if(data_ > 0){ -// operator--(); -// } - -// return *this; -// } - -// // bool Fruit::operator==(const Cargo& fruit) const -// // { -// // if(typeid(fruit) == typeid(Friut)) { -// // const std::shared_ptr fruit = static_cast>(&cargo); - -// // } -// // } - -// /// getters -// size_t Fruit::getAmount() const { -// return amount_; -// } - -// size_t Fruit::getBasePrice() const { -// return basePrice_; -// } -// std::string Fruit::getName() const { -// return name_; -// } - -// size_t Fruit::getExpitingTime() const { -// return expiringTime_; -// } - -// size_t Fruit::getData() const { -// return data_; -// } - -// size_t Fruit::getPrice() const { -// if(data_ - expiringTime_ < 0) { -// return 0; -// } -// return basePrice_ * static_cast((static_cast(data_) - static_cast(expiringTime_)/ static_cast(data_))); -// } - diff --git a/shm/fruit.hpp b/shm/fruit.hpp deleted file mode 100644 index d12cf2c1f..000000000 --- a/shm/fruit.hpp +++ /dev/null @@ -1,34 +0,0 @@ -// #pragma once - -// #include "cargo.hpp" - -// class Fruit : public Cargo -// { -// public: -// Fruit(size_t amount, std::string name, size_t basePrice, size_t expiringTime, size_t data) -// : Cargo(name, amount, basePrice) -// , expiringTime_(expiringTime) -// ,data_(data) -// {} -// ~Fruit(); - -// Cargo& operator+=(size_t amount) override; -// Cargo& operator-=(size_t amount) override; -// bool operator==(const Cargo& fruit) const override; -// Fruit& operator--(); -// Fruit& operator--(int); - -// size_t getPrice() const override; -// std::string getName() const override; -// size_t getAmount() const override; -// size_t getBasePrice() const override; - -// size_t getExpitingTime() const; -// size_t getData() const; - -// private: -// size_t expiringTime_ {0}; -// size_t data_ ; -// }; - - diff --git a/shm/item.cpp b/shm/item.cpp deleted file mode 100644 index fe63ca802..000000000 --- a/shm/item.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// #include "item.hpp" - -// Cargo& Cargo::operator+=(size_t amount) { -// amount_ += amount; -// return *this; -// } - -// Cargo& Cargo::operator-=(size_t amount) { -// if (amount <= amount_) { -// amount_ -= amount; -// return *this; -// } -// } - -// Item& Item::operator--() { -// if (amount_ > 0) { -// --amount_; -// } -// return *this; -// } - -// Item& Item::operator--(int) { -// Item temp(*this); -// if (amount_ > 0) { -// operator--(); -// } -// return temp; -// } - -// // bool item::operator == (const Cargo& cargo) const -// // { - -// // } - -// size_t Item::getPrice() const { -// return basePrice_ * static_cast(rarity_); -// } diff --git a/shm/item.hpp b/shm/item.hpp deleted file mode 100644 index d10271a18..000000000 --- a/shm/item.hpp +++ /dev/null @@ -1,39 +0,0 @@ -// #pragma once - -// #include "cargo.hpp" - -// class Item : public Cargo -// { - -// public: -// enum class Rarity { -// common = 1 -// , rare = 5 -// , epic = 10 -// , legendary = 20 -// }; - -// Item(std::string name, size_t amount, size_t basePrice, Rarity rarity) -// : Cargo(name , amount, basePrice) -// , rarity_(rarity) -// {} -// ~Item(); - -// Cargo& operator+=(size_t amount) override; -// Cargo& operator-=(size_t amount) override; -// bool operator==(const Cargo& cargo) const override; - - -// Item& operator--(); -// Item& operator--(int); - -// size_t getPrice() const override ; -// std::string getName() const override {return name_ ;}; -// size_t getAmount() const override {return amount_;}; -// size_t getBasePrice() const override {return basePrice_;}; -// Rarity getRarity() const {return rarity_;}; - -// private: -// Rarity rarity_; -// }; - diff --git a/shm/main b/shm/main deleted file mode 100755 index f068a0924d4fb7edbf765197417597847718e86b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109584 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 From b28eb709e57895ead000de8eed7305dc8dcce1f9 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Sun, 18 Jul 2021 22:43:25 +0200 Subject: [PATCH 043/100] remove 'Store' class files(unnecessery), plus some little style fixes --- shm/player.cpp | 2 -- shm/store.cpp | 22 ---------------------- shm/store.hpp | 33 --------------------------------- 3 files changed, 57 deletions(-) delete mode 100644 shm/store.cpp delete mode 100644 shm/store.hpp diff --git a/shm/player.cpp b/shm/player.cpp index 42bcd5187..8652ba610 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -1,8 +1,6 @@ - #include #include #include - #include "cargo.hpp" #include "player.hpp" #include "ship.hpp" diff --git a/shm/store.cpp b/shm/store.cpp deleted file mode 100644 index 14c1a765e..000000000 --- a/shm/store.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include -#include -#include - -#include "store.hpp" -#include "fruit.hpp" -#include "item.hpp" - -std::shared_ptr Store::getStoreCargo(const size_t index) const { - if(index > storeCargos_.size()) { - return nullptr; - } - return storeCargos_[index].get(); -} - -Response buy(std::shared_ptr cargo, size_t amount, Player* player) -{ - if(cargo) { - - } -} - diff --git a/shm/store.hpp b/shm/store.hpp deleted file mode 100644 index 50f9d38db..000000000 --- a/shm/store.hpp +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once -#include "player.hpp" -#include "cargo.hpp" - - -enum class Response - { - done - , lack_of_money - , lack_of_cargo - , lack_of_space - }; - - -class Store -{ - -public: - Store(); - Store(); - - // void load(std::shared_ptr); - // void unload (std::shared_ptr); - Response buy(std::shared_ptr cargo, size_t amount, Player* player); - Response sell(std::shared_ptr cargo, size_t amount, Player* player); - - std::shared_ptr getStoreCargo(const size_t) const; -private: - size_t capacity_; - std::vector> storeCargos_; - - -}; From fec6fd5d2268b416b67940fc3c60dd095731438b Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Sun, 18 Jul 2021 23:51:43 +0200 Subject: [PATCH 044/100] added Map class fix --- shm/main.cpp | 1 + shm/map.cpp | 35 +++++++++++++++++++++-------------- shm/map.hpp | 6 +----- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/shm/main.cpp b/shm/main.cpp index 05778ca41..44c35f8d4 100644 --- a/shm/main.cpp +++ b/shm/main.cpp @@ -4,6 +4,7 @@ #include "player.hpp" #include "ship.hpp" #include "island.hpp" +#include "map.hpp" int main() { auto cargo1 = std::make_shared("cebula", 30, 2); diff --git a/shm/map.cpp b/shm/map.cpp index 6f87af279..850e4cdd9 100644 --- a/shm/map.cpp +++ b/shm/map.cpp @@ -1,22 +1,20 @@ -#include "island.hpp" -#include "map.hpp" -#include #include +#include #include +#include "island.hpp" +#include "map.hpp" -/*Map::Map() { - // std::random_device rd; - // std::mt19937 gen(rd()); - // std::uniform_int_distribution<> widthDistribution(0, maxWidth_); - // std::uniform_int_distribution<> heightDistribution(0, maxHeight_); - - randomGenerator_(randomDevice_()); +Map::Map() { islands_.reserve(10); - for (int i = 0; i < islandsQuantity_; ++i) { - Island tempIsland(widthDistribution_(randomGenerator_), heightDistribution(gen)); - islands_.push_back(tempIsland); + for (int i = 0; i < islandsQuantity_;) { + Coordinates tempCoordinates = getRandomCoordinates(); + if (!getIsland(tempCoordinates)) { + Island tempIsland(tempCoordinates); + islands_.push_back(tempIsland); + ++i; + } } -}*/ +} Island* const Map::getIsland(const Coordinates& coordinate) { for (auto& island : islands_) { @@ -27,3 +25,12 @@ Island* const Map::getIsland(const Coordinates& coordinate) { std::cout << "Island not exist"; return nullptr; } + +Coordinates Map::getRandomCoordinates() { + std::random_device randomDevice; + std::mt19937 randomGenerator(randomDevice()); + std::uniform_int_distribution<> widthDistribution(0, maxWidth_); + std::uniform_int_distribution<> heightDistribution(0, maxHeight_); + Coordinates randomCoordinates(widthDistribution(randomGenerator), heightDistribution(randomGenerator)); + return randomCoordinates; +} diff --git a/shm/map.hpp b/shm/map.hpp index f87650ff4..64ef6f469 100644 --- a/shm/map.hpp +++ b/shm/map.hpp @@ -10,14 +10,10 @@ class Map { Island* const getIsland(const Coordinates& coordinate); private: + Coordinates getRandomCoordinates(); const int maxWidth_ = 99; const int maxHeight_ = 99; const int islandsQuantity_ = 10; std::vector islands_; Island* currentPostion_; - std::random_device randomDevice_; - // std::mt19937 gen(rd()); - std::mt19937 randomGenerator_(std::random_device::result_type); - std::uniform_int_distribution<> widthDistribution(std::mt19937); - std::uniform_int_distribution<> heightDistribution(std::mt19937); }; \ No newline at end of file From 763a42dd44f3070342046f4aef1050883a4627b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Mon, 19 Jul 2021 17:39:27 +0200 Subject: [PATCH 045/100] player chaneged --- shm/player.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/shm/player.cpp b/shm/player.cpp index 8652ba610..1ab0d3d30 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -27,13 +27,14 @@ std::shared_ptr Player::getCargo(size_t index) const { return ship_->getCargo(index); } -size_t Player::countAvailableSpace() const { - auto sumOfAmounts = std::accumulate(ship_->getCargos().begin(), ship_->getCargos().end(), 0 - , [](size_t amountAll, const auto& cargo) {return amountAll += cargo.get()->getAmount();}); - - if(ship_->getCapacity() - sumOfAmounts < 0) - { - return 0; +void Player::countAvailableSpace() { + if(!ship_) { + return; + } + const auto& cargoVector = ship_->getCapacity(); + size_t sum = 0; + for (int i = 0; i < ship_->getCargosVector().size(); i++) { + sum += ship_->getCargo(i)->getAmount(); } availableSpace_ = cargoVector - sum; } From 9bad12c3bccb30a6c5f958fd4f74ea5d72e8bbc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Mon, 19 Jul 2021 17:47:07 +0200 Subject: [PATCH 046/100] creating enum Response --- shm/store.hpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 shm/store.hpp diff --git a/shm/store.hpp b/shm/store.hpp new file mode 100644 index 000000000..0c676124b --- /dev/null +++ b/shm/store.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "cargo.hpp" + +enum class Response { + done, + lack_of_money, + lack_of_cargo, + lack_of_space +}; + +class Store { +private: +}; From e7d561428cddc87b2d05b31b173e52a05ef80dc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Mon, 19 Jul 2021 17:59:28 +0200 Subject: [PATCH 047/100] adding functionalities --- shm/store.hpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/shm/store.hpp b/shm/store.hpp index 0c676124b..0033381ae 100644 --- a/shm/store.hpp +++ b/shm/store.hpp @@ -1,6 +1,10 @@ #pragma once +#include +#include + #include "cargo.hpp" +#include "player.hpp" enum class Response { done, @@ -10,5 +14,19 @@ enum class Response { }; class Store { +public: + Store() = default; + + Response buy(std::shared_ptr cargo, size_t amount, std::shared_ptr player); + Response sell(std::shared_ptr cargo, size_t amount, std::shared_ptr player); + + std::string getResponse(const Response); + std::shared_ptr getCargo(const size_t ) const; + private: + std::vector> cargos_; + void generateCargo(); + void randomizeCargo(); + void load( std::shared_ptr cargo, size_t amount); + void unload( std::shared_ptr cargo, size_t amount); }; From 3817b974595aa0dbba97a9a96e557b7e644c9412 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Mon, 19 Jul 2021 18:38:00 +0200 Subject: [PATCH 048/100] store.cpp --- shm/store.cpp | 15 +++++++++++++++ shm/store.hpp | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 shm/store.cpp diff --git a/shm/store.cpp b/shm/store.cpp new file mode 100644 index 000000000..93e6c93b1 --- /dev/null +++ b/shm/store.cpp @@ -0,0 +1,15 @@ +#include "store.hpp" +#include + +std::string Store::getResponse(const Response& response) { + switch (response) { + case Response::done: + return "done"; + case Response::lack_of_cargo: + return "Lack of cargo"; + case Response::lack_of_money: + return "Lack of money"; + case Response::lack_of_space: + return "Lack of space"; + } +} diff --git a/shm/store.hpp b/shm/store.hpp index 0033381ae..959447097 100644 --- a/shm/store.hpp +++ b/shm/store.hpp @@ -20,11 +20,11 @@ class Store { Response buy(std::shared_ptr cargo, size_t amount, std::shared_ptr player); Response sell(std::shared_ptr cargo, size_t amount, std::shared_ptr player); - std::string getResponse(const Response); + std::string getResponse(const Response& response); std::shared_ptr getCargo(const size_t ) const; private: - std::vector> cargos_; + std::vector> stock_; void generateCargo(); void randomizeCargo(); void load( std::shared_ptr cargo, size_t amount); From e1ed853fc178fbd5d54b30189a4096075a4120b3 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Mon, 19 Jul 2021 23:32:31 +0200 Subject: [PATCH 049/100] remove unnecessary cout message 'island don't exist' --- shm/map.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/shm/map.cpp b/shm/map.cpp index 850e4cdd9..ca0d9db4d 100644 --- a/shm/map.cpp +++ b/shm/map.cpp @@ -22,7 +22,6 @@ Island* const Map::getIsland(const Coordinates& coordinate) { return &island; } } - std::cout << "Island not exist"; return nullptr; } From 88acddd46226fc7acd6ed1f1b97de9f767832b4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Tue, 20 Jul 2021 10:41:57 +0200 Subject: [PATCH 050/100] changes --- shm/CMakeLists.txt | 12 ++++++++++-- shm/player.hpp | 2 ++ shm/store.cpp | 49 +++++++++++++++++++++++++++++++++++++++++++++- shm/store.hpp | 16 ++++++++++----- 4 files changed, 71 insertions(+), 8 deletions(-) diff --git a/shm/CMakeLists.txt b/shm/CMakeLists.txt index f28247c5b..ec03d067d 100644 --- a/shm/CMakeLists.txt +++ b/shm/CMakeLists.txt @@ -8,7 +8,15 @@ set(FILES player.cpp ship.cpp coordinates.cpp - cargo.cpp) + cargo.cpp + store.cpp) + +set(FLAGS + -Wall + #-Wextra + -Wpedantic + -Wconversion + -O0) add_executable(${PROJECT_NAME} main.cpp ${FILES}) -target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -Wpedantic -Wconversion -O0) \ No newline at end of file +target_compile_options(${PROJECT_NAME} PRIVATE ${FLAGS}) \ No newline at end of file diff --git a/shm/player.hpp b/shm/player.hpp index f65d1d5ab..56ea840e4 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -16,6 +16,8 @@ class Player { void printCargo() const; + void setMoney(size_t money) {money_ = money;}; + private: std::shared_ptr ship_; size_t money_; diff --git a/shm/store.cpp b/shm/store.cpp index 93e6c93b1..b09560cb6 100644 --- a/shm/store.cpp +++ b/shm/store.cpp @@ -1,5 +1,6 @@ #include "store.hpp" -#include + +#include std::string Store::getResponse(const Response& response) { switch (response) { @@ -13,3 +14,49 @@ std::string Store::getResponse(const Response& response) { return "Lack of space"; } } + +std::vector>::iterator Store::findCargo(const std::shared_ptr& cargo) { + auto find = std::find_if(stock_.begin(), stock_.end(), + [cargo](const auto& el) { return cargo->getName() == el->getName() && + cargo->getBasePrice() == el->getBasePrice(); }); + return find; +} + +void Store::load(std::shared_ptr cargo, size_t amount) { + auto newLoad = findCargo(cargo); + + if (newLoad == stock_.end()) { + stock_.push_back(cargo); + return; + } + + **newLoad += amount; +} + +void Store::unload(std::shared_ptr cargo, size_t amount) { + auto soldCargo = findCargo(cargo); + if(soldCargo == stock_.end()) { + return; + } + if((*soldCargo)->getAmount() <= cargo->getAmount()) { + stock_.erase(findCargo(cargo)); + } + **soldCargo -= amount; +} + +Response Store::buy(std::shared_ptr cargo, size_t amount, std::shared_ptr player) { + if (amount > player->getAvailableSpace()) { + return Response::lack_of_space; + } + if (player->getMoney() < cargo->getBasePrice() * amount) { + return Response::lack_of_money; + } + if(findCargo(cargo) == stock_.end()) { + return Response::lack_of_cargo; + } + unload(cargo, amount); + player->setMoney(player.get()->getMoney() - amount * cargo->getBasePrice()); + + return Response::done; + +} \ No newline at end of file diff --git a/shm/store.hpp b/shm/store.hpp index 959447097..7c6a6cd51 100644 --- a/shm/store.hpp +++ b/shm/store.hpp @@ -2,6 +2,7 @@ #include #include +#include #include "cargo.hpp" #include "player.hpp" @@ -16,17 +17,22 @@ enum class Response { class Store { public: Store() = default; + Store(size_t availableSpace, size_t money): availableSpace_(availableSpace), money_(money){}; Response buy(std::shared_ptr cargo, size_t amount, std::shared_ptr player); Response sell(std::shared_ptr cargo, size_t amount, std::shared_ptr player); std::string getResponse(const Response& response); - std::shared_ptr getCargo(const size_t ) const; + // std::shared_ptr getCargo(const size_t ) const; -private: - std::vector> stock_; - void generateCargo(); - void randomizeCargo(); + // void generateCargo(); + // void randomizeCargo(); + void load( std::shared_ptr cargo, size_t amount); void unload( std::shared_ptr cargo, size_t amount); + std::vector>::iterator findCargo(const std::shared_ptr& cargo); +private: + std::vector> stock_; + size_t availableSpace_; + size_t money_; }; From 2a02c3393dd073d57fbd6829f42ebb6ae44fa8e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Tue, 20 Jul 2021 14:57:33 +0200 Subject: [PATCH 051/100] add types of cargos --- shm/CMakeLists.txt | 6 +++++- shm/alcohol.cpp | 27 +++++++++++++++++++++++++++ shm/alcohol.hpp | 27 +++++++++++++++++++++++++++ shm/cargo.cpp | 26 +++++++------------------- shm/cargo.hpp | 17 +++++++++++------ shm/fruit.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ shm/fruit.hpp | 28 ++++++++++++++++++++++++++++ shm/item.cpp | 26 ++++++++++++++++++++++++++ shm/item.hpp | 30 ++++++++++++++++++++++++++++++ shm/main.cpp | 25 +++++++++++++++++-------- shm/store.cpp | 45 ++++++++++++++++++++++++++++++++++++++++++--- shm/store.hpp | 8 +++++--- 12 files changed, 268 insertions(+), 40 deletions(-) create mode 100644 shm/alcohol.cpp create mode 100644 shm/alcohol.hpp create mode 100644 shm/fruit.cpp create mode 100644 shm/fruit.hpp create mode 100644 shm/item.cpp create mode 100644 shm/item.hpp diff --git a/shm/CMakeLists.txt b/shm/CMakeLists.txt index ec03d067d..5590fc92a 100644 --- a/shm/CMakeLists.txt +++ b/shm/CMakeLists.txt @@ -9,7 +9,11 @@ set(FILES ship.cpp coordinates.cpp cargo.cpp - store.cpp) + store.cpp + alcohol.cpp + item.cpp + fruit.cpp + ) set(FLAGS -Wall diff --git a/shm/alcohol.cpp b/shm/alcohol.cpp new file mode 100644 index 000000000..52a1cae8a --- /dev/null +++ b/shm/alcohol.cpp @@ -0,0 +1,27 @@ +#include "alcohol.hpp" +#include + +Alcohol::Alcohol(const std::string& name, size_t amount, size_t basePrice, size_t percentage) + : Cargo(name, amount, basePrice), percentage_(percentage) {} ; + +size_t Alcohol::getPrice() const { + return static_cast(basePrice_ * static_cast(percentage_)/static_cast(MaxPercentage)); +} + +Cargo& Alcohol::operator+=(size_t amount) { + amount_ += amount; + return *this; +} + +Cargo& Alcohol::operator-=(size_t amount) { + if (amount <= amount_) { + amount_ -= amount; + } else { + std::cerr << "Amount of cargo can not be under 0!!!\n"; + } + return *this; +} + +bool Alcohol::operator==(const Cargo& cargo) const { + return cargo.getName() == getName(); +} \ No newline at end of file diff --git a/shm/alcohol.hpp b/shm/alcohol.hpp new file mode 100644 index 000000000..157e8caa7 --- /dev/null +++ b/shm/alcohol.hpp @@ -0,0 +1,27 @@ +#pragma once + +#include "cargo.hpp" + +constexpr size_t MaxPercentage{96}; +//Class responsible for managing Alcohol in the game. +class Alcohol : public Cargo { +public: + Alcohol(const std::string& name, size_t amount, size_t basePrice, size_t percentage); + ~Alcohol() override{}; + + Cargo& operator+=(size_t amount); + Cargo& operator-=(size_t amount); + bool operator==(const Cargo&) const; + + size_t getPercentage() const { return percentage_; }; + void setPercentage(size_t percentage) { percentage_ = percentage; }; + + //Methods override from Cargo class. + size_t getPrice() const override; + std::string getName() const override { return name_; }; + size_t getAmount() const override { return amount_; }; + size_t getBasePrice() const override { return basePrice_; }; + +private: + size_t percentage_; +}; \ No newline at end of file diff --git a/shm/cargo.cpp b/shm/cargo.cpp index ba23f57ae..92a26ee42 100644 --- a/shm/cargo.cpp +++ b/shm/cargo.cpp @@ -1,11 +1,9 @@ -#include #include "cargo.hpp" -Cargo::Cargo(std::string name, size_t amount, size_t basePrice) - : name_(name) - , amount_(amount) - , basePrice_(basePrice) - {} +#include + +Cargo::Cargo(const std::string& name, size_t amount, size_t basePrice) + : name_(name), amount_(amount), basePrice_(basePrice){}; Cargo& Cargo::operator+=(size_t amount) { amount_ += amount; @@ -21,16 +19,6 @@ Cargo& Cargo::operator-=(size_t amount) { return *this; } -bool Cargo::operator== (const Cargo& cargo) const { - return cargo.getName() == name_; -} - -const std::string& Cargo::getName() const { - return name_; -} -size_t Cargo::getAmount() const { - return amount_; -} -size_t Cargo::getBasePrice() const { - return basePrice_; -} +bool Cargo::operator==(const Cargo& cargo) const { + return cargo.getName() == getName(); +} \ No newline at end of file diff --git a/shm/cargo.hpp b/shm/cargo.hpp index f5158ca66..2857b3816 100644 --- a/shm/cargo.hpp +++ b/shm/cargo.hpp @@ -1,21 +1,26 @@ + #pragma once #include //Class responsible for managing Cargo in the game. class Cargo { public: - Cargo(std::string name, size_t amount, size_t basePrice); + Cargo(const std::string& name, size_t amount, size_t basePrice); + virtual ~Cargo() = default; Cargo& operator+=(size_t amount); Cargo& operator-=(size_t amount); bool operator==(const Cargo&) const; - const std::string& getName() const; - size_t getAmount() const; - size_t getBasePrice() const; - + virtual size_t getPrice() const = 0; + virtual std::string getName() const = 0; + virtual size_t getAmount() const = 0; + virtual size_t getBasePrice() const = 0; + + void setAmount(const size_t amount) { amount_ = amount; }; + protected: std::string name_; size_t amount_; size_t basePrice_; -}; +}; \ No newline at end of file diff --git a/shm/fruit.cpp b/shm/fruit.cpp new file mode 100644 index 000000000..995fffb53 --- /dev/null +++ b/shm/fruit.cpp @@ -0,0 +1,43 @@ +#include "fruit.hpp" +#include + +Fruit::Fruit(const std::string& name, size_t amount, size_t basePrice, size_t expirationDate) + : Cargo(name, amount, basePrice), expirationDate_(expirationDate) {}; + +size_t Fruit::getPrice() const { + return static_cast( basePrice_ * static_cast(purchaseDate_)/ expirationDate_); +} + +Cargo& Fruit::operator+=(size_t amount) { + amount_ += amount; + return *this; +} + +Cargo& Fruit::operator-=(size_t amount) { + if (amount <= amount_) { + amount_ -= amount; + } else { + std::cerr << "Amount of cargo can not be under 0!!!\n"; + } + return *this; +} + +bool Fruit::operator==(const Cargo& cargo) const { + return cargo.getName() == getName(); +} + +Fruit& Fruit::operator--() { + if(purchaseDate_ <= 0) { + purchaseDate_ = 0; + } + purchaseDate_--; + return *this; +} + +Fruit Fruit::operator--(int) { + if(purchaseDate_ <= 0) { + purchaseDate_ = 0; + } + purchaseDate_--; + return *this; +} \ No newline at end of file diff --git a/shm/fruit.hpp b/shm/fruit.hpp new file mode 100644 index 000000000..96fc7cb85 --- /dev/null +++ b/shm/fruit.hpp @@ -0,0 +1,28 @@ +#pragma once + +#include "cargo.hpp" +//Class responsible for managing Fruit in the game. +class Fruit : public Cargo { +public: + Fruit(const std::string& name, size_t amount, size_t basePrice, size_t expirationDate); + ~Fruit() override {}; + + Cargo& operator+=(size_t amount); + Cargo& operator-=(size_t amount); + bool operator==(const Cargo&) const; + virtual Fruit& operator--(); + virtual Fruit operator--(int); + + //Methods override from Cargo class. + virtual size_t getPrice() const override; + virtual std::string getName() const override { return name_; }; + size_t getAmount() const override { return amount_; }; + size_t getBasePrice() const override { return basePrice_; }; + + size_t getExpirationDate() const { return expirationDate_; }; + size_t getPurchaseData() const { return purchaseDate_; }; + +protected: + size_t expirationDate_; + size_t purchaseDate_ = expirationDate_; +}; \ No newline at end of file diff --git a/shm/item.cpp b/shm/item.cpp new file mode 100644 index 000000000..1ebfee8ff --- /dev/null +++ b/shm/item.cpp @@ -0,0 +1,26 @@ +#include "item.hpp" + +Item::Item(const std::string& name, size_t amount, size_t basePrice, Rarity rarity) + : Cargo(name, amount, basePrice), rarity_(rarity){}; + +// size_t Item::getPrice() const { +// return basePrice_ * static_cast(rarity_); +// } + +Cargo& Item::operator+=(size_t amount) { + amount_ += amount; + return *this; +} + +Cargo& Item::operator-=(size_t amount) { + if (amount <= amount_) { + amount_ -= amount; + } else { + std::cerr << "Amount of cargo can not be under 0!!!\n"; + } + return *this; +} + +bool Item::operator==(const Cargo& cargo) const { + return cargo.getName() == getName(); +} \ No newline at end of file diff --git a/shm/item.hpp b/shm/item.hpp new file mode 100644 index 000000000..5946bf4e2 --- /dev/null +++ b/shm/item.hpp @@ -0,0 +1,30 @@ +#pragma once + +#include +#include "cargo.hpp" + +enum class Rarity { + common = 1, + rare = 5, + epic = 10, + legendary = 20 +}; +//Class responsible for managing Items in the game. +class Item : public Cargo { +public: + Item(const std::string& name, size_t amount, size_t basePrice, Rarity rarity); + ~Item() override{}; + + Cargo& operator+=(const size_t amount); + Cargo& operator-=(const size_t amount); + bool operator==(const Cargo&) const; + + //Methods override from Cargo class. + size_t getPrice() const override { return basePrice_ * static_cast(rarity_); }; + std::string getName() const override { return name_; }; + size_t getAmount() const override { return amount_; }; + size_t getBasePrice() const override { return basePrice_; }; + +private: + Rarity rarity_; +}; \ No newline at end of file diff --git a/shm/main.cpp b/shm/main.cpp index 44c35f8d4..1519e04b0 100644 --- a/shm/main.cpp +++ b/shm/main.cpp @@ -1,21 +1,25 @@ #include #include #include "cargo.hpp" +#include "alcohol.hpp" +#include "item.hpp" +#include "fruit.hpp" #include "player.hpp" #include "ship.hpp" +#include "store.hpp" #include "island.hpp" #include "map.hpp" int main() { - auto cargo1 = std::make_shared("cebula", 30, 2); - auto cargo2 = std::make_shared("drewno", 10, 20); - auto cargo3 = std::make_shared("wino", 10, 100); - auto cargo4 = std::make_shared("miedz", 10, 1); - auto cargo5 = std::make_shared("rubin", 10, 2); - auto cargo6 = std::make_shared("cebula", 3, 10); - auto cargo7 = std::make_shared("Woda", 200, 500); + auto cargo1 = std::make_shared("cebula", 30, 2, 20); + auto cargo2 = std::make_shared("drewno", 10, 20,Rarity::epic); + auto cargo3 = std::make_shared("wino", 10, 100, 15); + // auto cargo4 = std::make_shared("miedz", 10, 1); + // auto cargo5 = std::make_shared("rubin", 10, 2); + // auto cargo6 = std::make_shared("cebula", 3, 10); + // auto cargo7 = std::make_shared("Woda", 200, 500); - std::vector> LOAD {cargo1, cargo2 , cargo3, cargo4, cargo5, cargo6, cargo7}; + std::vector> LOAD {cargo1, cargo2 , cargo3}; auto s1 = std::make_shared(500, 20, 14, 5, "Black Widow", 1, LOAD); Player pla1(s1, 5000); @@ -23,5 +27,10 @@ int main() { pla1.printCargo(); + Store stor1(5000, 70000); + + std::cout << "Pieniadze Store: " << stor1.getMoney(); + + return 0; } \ No newline at end of file diff --git a/shm/store.cpp b/shm/store.cpp index b09560cb6..07f12f09f 100644 --- a/shm/store.cpp +++ b/shm/store.cpp @@ -1,6 +1,10 @@ #include "store.hpp" +#include "alcohol.hpp" +#include "fruit.hpp" +#include "item.hpp" #include +#include std::string Store::getResponse(const Response& response) { switch (response) { @@ -35,10 +39,10 @@ void Store::load(std::shared_ptr cargo, size_t amount) { void Store::unload(std::shared_ptr cargo, size_t amount) { auto soldCargo = findCargo(cargo); - if(soldCargo == stock_.end()) { + if (soldCargo == stock_.end()) { return; } - if((*soldCargo)->getAmount() <= cargo->getAmount()) { + if ((*soldCargo)->getAmount() <= cargo->getAmount()) { stock_.erase(findCargo(cargo)); } **soldCargo -= amount; @@ -51,12 +55,47 @@ Response Store::buy(std::shared_ptr cargo, size_t amount, std::shared_ptr if (player->getMoney() < cargo->getBasePrice() * amount) { return Response::lack_of_money; } - if(findCargo(cargo) == stock_.end()) { + if (findCargo(cargo) == stock_.end()) { return Response::lack_of_cargo; } unload(cargo, amount); player->setMoney(player.get()->getMoney() - amount * cargo->getBasePrice()); return Response::done; +} + +constexpr int minAmount = 0; +constexpr int maxAmount = 20; +void Store::randomizeCargo(std::vector> storeCargos) { + std::random_device rd; + std::mt19937 gen(rd()); + std::uniform_int_distribution<> randomAmount(minAmount, maxAmount); + + for (auto& cargo : storeCargos) { + *cargo += randomAmount(gen); + stock_.push_back(cargo); + } +} + +void Store::generateCargo() { + std::vector> posibleStoreCargos { + std::make_shared(Fruit("Apple", 0, 50, 10)), + std::make_shared(Fruit("Orange", 0, 30, 10)), + std::make_shared(Fruit("Banana", 0, 50, 10)), + std::make_shared(Fruit("Peach", 0, 50, 10)), + std::make_shared(Fruit("Water melon", 0, 50, 10)), + std::make_shared(Item("Ivory", 0, 200, Rarity::rare)), + std::make_shared(Item("Thor's hummer", 0, 200, Rarity::legendary)), + std::make_shared(Item("Gold neckle", 0, 200, Rarity::rare)), + std::make_shared(Item("Souron's ring", 0, 200, Rarity::legendary)), + std::make_shared(Item("Philosopher's stone", 0, 200, Rarity::legendary)), + std::make_shared(Item("Knife and fork", 0, 200, Rarity::common), + std::make_shared(Alcohol("Johny Daniels", 0, 10, 50)), + std::make_shared(Alcohol("Jack Walker", 0, 10, 50)), + std::make_shared(Alcohol("Vodka", 0, 10, 40)), + std::make_shared(Alcohol("Beer", 0, 10, 8)), + std::make_shared(Alcohol("Gin", 0, 10, 20)), + std::make_shared(Alcohol("Pina Colada", 0, 10, 15))) + }; } \ No newline at end of file diff --git a/shm/store.hpp b/shm/store.hpp index 7c6a6cd51..b2bc2d784 100644 --- a/shm/store.hpp +++ b/shm/store.hpp @@ -25,12 +25,14 @@ class Store { std::string getResponse(const Response& response); // std::shared_ptr getCargo(const size_t ) const; - // void generateCargo(); - // void randomizeCargo(); - + void generateCargo(); + void randomizeCargo(std::vector> storeCargos); + void load( std::shared_ptr cargo, size_t amount); void unload( std::shared_ptr cargo, size_t amount); std::vector>::iterator findCargo(const std::shared_ptr& cargo); + size_t getSpace() const { return availableSpace_;}; + size_t getMoney() const { return money_;}; private: std::vector> stock_; size_t availableSpace_; From 03c6ce72b8f7bbc06a7182d5594ae1799b0be0b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Wed, 21 Jul 2021 10:11:26 +0200 Subject: [PATCH 052/100] changes in store --- shm/store.cpp | 8 +++++--- shm/store.hpp | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/shm/store.cpp b/shm/store.cpp index 07f12f09f..0cf085ca2 100644 --- a/shm/store.cpp +++ b/shm/store.cpp @@ -64,6 +64,8 @@ Response Store::buy(std::shared_ptr cargo, size_t amount, std::shared_ptr return Response::done; } + + constexpr int minAmount = 0; constexpr int maxAmount = 20; void Store::randomizeCargo(std::vector> storeCargos) { @@ -89,13 +91,13 @@ void Store::generateCargo() { std::make_shared(Item("Gold neckle", 0, 200, Rarity::rare)), std::make_shared(Item("Souron's ring", 0, 200, Rarity::legendary)), std::make_shared(Item("Philosopher's stone", 0, 200, Rarity::legendary)), - std::make_shared(Item("Knife and fork", 0, 200, Rarity::common), + std::make_shared(Item("Knife and fork", 0, 200, Rarity::common)), std::make_shared(Alcohol("Johny Daniels", 0, 10, 50)), std::make_shared(Alcohol("Jack Walker", 0, 10, 50)), std::make_shared(Alcohol("Vodka", 0, 10, 40)), std::make_shared(Alcohol("Beer", 0, 10, 8)), std::make_shared(Alcohol("Gin", 0, 10, 20)), - std::make_shared(Alcohol("Pina Colada", 0, 10, 15))) + std::make_shared(Alcohol("Pina Colada", 0, 10, 15))}; - }; + randomizeCargo(posibleStoreCargos); } \ No newline at end of file diff --git a/shm/store.hpp b/shm/store.hpp index b2bc2d784..21554847a 100644 --- a/shm/store.hpp +++ b/shm/store.hpp @@ -31,8 +31,11 @@ class Store { void load( std::shared_ptr cargo, size_t amount); void unload( std::shared_ptr cargo, size_t amount); std::vector>::iterator findCargo(const std::shared_ptr& cargo); + size_t getSpace() const { return availableSpace_;}; size_t getMoney() const { return money_;}; + + friend std::ostream& operator<<(std::ostream& os, const Store& store); private: std::vector> stock_; size_t availableSpace_; From 0516f0e64e34328d353ea25bfcb4442f46a5d186 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Wed, 21 Jul 2021 12:20:59 +0200 Subject: [PATCH 053/100] changes in store --- shm/store.cpp | 6 ++++++ shm/store.hpp | 19 ++++++++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/shm/store.cpp b/shm/store.cpp index 0cf085ca2..b64ee3097 100644 --- a/shm/store.cpp +++ b/shm/store.cpp @@ -64,6 +64,12 @@ Response Store::buy(std::shared_ptr cargo, size_t amount, std::shared_ptr return Response::done; } +Response Store::sell(std::shared_ptr cargo, size_t amount, std::shared_ptr player) { + + player ->setMoney(player->getMoney() + cargo->getPrice()); + player-> +} + constexpr int minAmount = 0; diff --git a/shm/store.hpp b/shm/store.hpp index 21554847a..9655bd87c 100644 --- a/shm/store.hpp +++ b/shm/store.hpp @@ -1,8 +1,8 @@ #pragma once +#include #include #include -#include #include "cargo.hpp" #include "player.hpp" @@ -17,7 +17,8 @@ enum class Response { class Store { public: Store() = default; - Store(size_t availableSpace, size_t money): availableSpace_(availableSpace), money_(money){}; + Store(size_t availableSpace, size_t money) + : availableSpace_(availableSpace), money_(money){}; Response buy(std::shared_ptr cargo, size_t amount, std::shared_ptr player); Response sell(std::shared_ptr cargo, size_t amount, std::shared_ptr player); @@ -28,14 +29,18 @@ class Store { void generateCargo(); void randomizeCargo(std::vector> storeCargos); - void load( std::shared_ptr cargo, size_t amount); - void unload( std::shared_ptr cargo, size_t amount); + void load(std::shared_ptr cargo, size_t amount); + void unload(std::shared_ptr cargo, size_t amount); std::vector>::iterator findCargo(const std::shared_ptr& cargo); - - size_t getSpace() const { return availableSpace_;}; - size_t getMoney() const { return money_;}; + + size_t getSpace() const { return availableSpace_; }; + size_t getMoney() const { return money_; }; + + void setSpace(size_t availableSpace) { availableSpace_ = availableSpace; }; + void setMoney(size_t money) { money_ = money; }; friend std::ostream& operator<<(std::ostream& os, const Store& store); + private: std::vector> stock_; size_t availableSpace_; From eb4149c6fe6b03874c47ad4503466c52442465a7 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Thu, 22 Jul 2021 00:35:08 +0200 Subject: [PATCH 054/100] some code cleaning --- shm/map.cpp | 2 -- shm/map.hpp | 3 --- shm/ship.cpp | 4 ---- shm/ship.hpp | 1 - 4 files changed, 10 deletions(-) diff --git a/shm/map.cpp b/shm/map.cpp index ca0d9db4d..af372f697 100644 --- a/shm/map.cpp +++ b/shm/map.cpp @@ -1,5 +1,3 @@ -#include -#include #include #include "island.hpp" #include "map.hpp" diff --git a/shm/map.hpp b/shm/map.hpp index 64ef6f469..2a8c29d8c 100644 --- a/shm/map.hpp +++ b/shm/map.hpp @@ -1,8 +1,5 @@ #pragma once #include -#include -#include -#include class Map { public: diff --git a/shm/ship.cpp b/shm/ship.cpp index e9a885bc0..304cba4f7 100644 --- a/shm/ship.cpp +++ b/shm/ship.cpp @@ -1,13 +1,10 @@ - #include #include #include - #include "cargo.hpp" #include "ship.hpp" // Class responsible for managing Ships in the game. - Ship& Ship::operator-=(size_t num) { if (crew_ - num <= crew_) { crew_ -= num; @@ -23,7 +20,6 @@ Ship& Ship::operator+=(size_t num) { } else { std::cerr << " The maximum amount of members of the crew is " << maxCrew_ << " !!!! \n"; } - return *this; } diff --git a/shm/ship.hpp b/shm/ship.hpp index dd8a154d5..fb2fff0e5 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -4,7 +4,6 @@ #include #include "cargo.hpp" - // Class responsible for managing Ship in the game. class Ship { From 96044fdbfd5cd0bd05b0853b8936436a0a905e9d Mon Sep 17 00:00:00 2001 From: Jakub Kubalka Date: Thu, 29 Jul 2021 20:19:21 +0200 Subject: [PATCH 055/100] Next day method for Ship and Cargo --- shm/cargo.cpp | 6 ++++++ shm/cargo.hpp | 2 ++ shm/map.cpp | 2 +- shm/map.hpp | 3 ++- shm/player.cpp | 10 +++++++--- shm/player.hpp | 4 +++- shm/ship.cpp | 5 ++++- shm/ship.hpp | 6 ++++-- 8 files changed, 29 insertions(+), 9 deletions(-) diff --git a/shm/cargo.cpp b/shm/cargo.cpp index ba23f57ae..b10110edb 100644 --- a/shm/cargo.cpp +++ b/shm/cargo.cpp @@ -34,3 +34,9 @@ size_t Cargo::getAmount() const { size_t Cargo::getBasePrice() const { return basePrice_; } + +void Cargo::nextDay() { + if (lifespan_ >= 0.01) { + lifespan_ -= 0.01; + } +} diff --git a/shm/cargo.hpp b/shm/cargo.hpp index f5158ca66..558779971 100644 --- a/shm/cargo.hpp +++ b/shm/cargo.hpp @@ -13,9 +13,11 @@ class Cargo { const std::string& getName() const; size_t getAmount() const; size_t getBasePrice() const; + void nextDay(); protected: std::string name_; size_t amount_; size_t basePrice_; + double lifespan_ = 1; }; diff --git a/shm/map.cpp b/shm/map.cpp index 850e4cdd9..31fdd331a 100644 --- a/shm/map.cpp +++ b/shm/map.cpp @@ -1,9 +1,9 @@ #include #include #include -#include "island.hpp" #include "map.hpp" + Map::Map() { islands_.reserve(10); for (int i = 0; i < islandsQuantity_;) { diff --git a/shm/map.hpp b/shm/map.hpp index 64ef6f469..0baadaeac 100644 --- a/shm/map.hpp +++ b/shm/map.hpp @@ -3,7 +3,8 @@ #include #include #include - +#include "coordinates.hpp" +#include "island.hpp" class Map { public: Map(); diff --git a/shm/player.cpp b/shm/player.cpp index 1ab0d3d30..04e4a001d 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -1,8 +1,8 @@ #include #include #include -#include "cargo.hpp" #include "player.hpp" +#include "cargo.hpp" #include "ship.hpp" Player::Player(std::shared_ptr ship, const size_t& money) @@ -10,7 +10,7 @@ Player::Player(std::shared_ptr ship, const size_t& money) countAvailableSpace(); } -size_t Player::getMoney() const { +size_t Player::getMoney() const{ return money_; } size_t Player::getAvailableSpace() const { @@ -52,6 +52,10 @@ void Player::printCargo() const { int i = 0; std::cout << "Current ship's cargo\n"; for (const auto& el : ship_->getCargosVector()) { - std::cout << i++ << " Name: " << el->getName() << ",\t\t Amount: " << el->getAmount() << ",\t\t Base proce: " << el->getBasePrice() << '\n'; + std::cout << i++ << " Name: " << el->getName() << ",\t\t Amount: " << el->getAmount() << ",\t\t Base price: " << el->getBasePrice() << '\n'; } +} + +void Player::setMoney(size_t money) { + money_ = money; } \ No newline at end of file diff --git a/shm/player.hpp b/shm/player.hpp index f65d1d5ab..b79a2679c 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -1,6 +1,7 @@ #pragma once #include + class Cargo; class Ship; // Class responsible for managing Player in the game. @@ -8,13 +9,14 @@ class Player { public: Player(std::shared_ptr ship, const size_t& money); - size_t getMoney() const; + size_t getMoney() const; size_t getAvailableSpace() const; std::shared_ptr getShip() const; size_t getSpeed() const; std::shared_ptr getCargo(size_t index) const; void printCargo() const; + void setMoney(size_t money); private: std::shared_ptr ship_; diff --git a/shm/ship.cpp b/shm/ship.cpp index e9a885bc0..4af61b228 100644 --- a/shm/ship.cpp +++ b/shm/ship.cpp @@ -3,7 +3,6 @@ #include #include -#include "cargo.hpp" #include "ship.hpp" // Class responsible for managing Ships in the game. @@ -60,3 +59,7 @@ std::vector> Ship::getCargosVector() const { void Ship::setName(const std::string& name) { name_ = name; } + +void Ship::nextDay(Player& player) { + player.setMoney(player.getMoney() - ((*player.getShip()).getCrew())); +} diff --git a/shm/ship.hpp b/shm/ship.hpp index dd8a154d5..5179ec5e4 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -2,9 +2,9 @@ #include #include #include -#include "cargo.hpp" - +#include "player.hpp" +class Cargo; // Class responsible for managing Ship in the game. class Ship { @@ -36,6 +36,8 @@ class Ship std::vector> getCargosVector() const; void setName(const std::string& name); + + void nextDay(Player& player); private: size_t capacity_; From f8ed1929bece8fdcbbadd5b56d58091b5560a980 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Sat, 31 Jul 2021 16:01:04 +0200 Subject: [PATCH 056/100] adding generating stock_ of store --- shm/a.out | Bin 0 -> 63056 bytes shm/build/CMakeCache.txt | 366 ++++++++++ .../CMakeFiles/3.16.3/CMakeCCompiler.cmake | 76 ++ .../CMakeFiles/3.16.3/CMakeCXXCompiler.cmake | 88 +++ .../3.16.3/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 16552 bytes .../3.16.3/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 16560 bytes shm/build/CMakeFiles/3.16.3/CMakeSystem.cmake | 15 + .../3.16.3/CompilerIdC/CMakeCCompilerId.c | 671 ++++++++++++++++++ shm/build/CMakeFiles/3.16.3/CompilerIdC/a.out | Bin 0 -> 16712 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 660 +++++++++++++++++ .../CMakeFiles/3.16.3/CompilerIdCXX/a.out | Bin 0 -> 16720 bytes .../CMakeDirectoryInformation.cmake | 16 + shm/build/CMakeFiles/CMakeOutput.log | 461 ++++++++++++ shm/build/CMakeFiles/Makefile.cmake | 49 ++ shm/build/CMakeFiles/Makefile2 | 106 +++ .../CMakeFiles/SHM_2077.dir/CXX.includecache | 98 +++ .../CMakeFiles/SHM_2077.dir/DependInfo.cmake | 30 + .../CMakeFiles/SHM_2077.dir/alcohol.cpp.o | Bin 0 -> 12368 bytes shm/build/CMakeFiles/SHM_2077.dir/build.make | 248 +++++++ shm/build/CMakeFiles/SHM_2077.dir/cargo.cpp.o | Bin 0 -> 7520 bytes .../CMakeFiles/SHM_2077.dir/cmake_clean.cmake | 20 + .../CMakeFiles/SHM_2077.dir/coordinates.cpp.o | Bin 0 -> 3592 bytes .../CMakeFiles/SHM_2077.dir/depend.internal | 60 ++ shm/build/CMakeFiles/SHM_2077.dir/depend.make | 60 ++ shm/build/CMakeFiles/SHM_2077.dir/flags.make | 10 + shm/build/CMakeFiles/SHM_2077.dir/fruit.cpp.o | Bin 0 -> 13912 bytes .../CMakeFiles/SHM_2077.dir/island.cpp.o | Bin 0 -> 1576 bytes shm/build/CMakeFiles/SHM_2077.dir/item.cpp.o | Bin 0 -> 12248 bytes shm/build/CMakeFiles/SHM_2077.dir/link.txt | 1 + shm/build/CMakeFiles/SHM_2077.dir/main.cpp.o | Bin 0 -> 223536 bytes shm/build/CMakeFiles/SHM_2077.dir/map.cpp.o | Bin 0 -> 61344 bytes .../CMakeFiles/SHM_2077.dir/player.cpp.o | Bin 0 -> 36248 bytes .../CMakeFiles/SHM_2077.dir/progress.make | 13 + shm/build/CMakeFiles/SHM_2077.dir/ship.cpp.o | Bin 0 -> 53656 bytes shm/build/CMakeFiles/SHM_2077.dir/store.cpp.o | Bin 0 -> 320632 bytes shm/build/CMakeFiles/TargetDirectories.txt | 3 + shm/build/CMakeFiles/cmake.check_cache | 1 + shm/build/CMakeFiles/progress.marks | 1 + shm/build/Makefile | 478 +++++++++++++ shm/build/SHM_2077 | Bin 0 -> 221912 bytes shm/build/cmake_install.cmake | 49 ++ shm/item.hpp | 1 + shm/main.cpp | 51 +- shm/ship.cpp | 33 +- shm/ship.hpp | 5 + shm/store.cpp | 222 ++++-- shm/store.hpp | 37 +- 47 files changed, 3818 insertions(+), 111 deletions(-) create mode 100755 shm/a.out create mode 100644 shm/build/CMakeCache.txt create mode 100644 shm/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake create mode 100644 shm/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake create mode 100755 shm/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin create mode 100755 shm/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin create mode 100644 shm/build/CMakeFiles/3.16.3/CMakeSystem.cmake create mode 100644 shm/build/CMakeFiles/3.16.3/CompilerIdC/CMakeCCompilerId.c create mode 100755 shm/build/CMakeFiles/3.16.3/CompilerIdC/a.out create mode 100644 shm/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 shm/build/CMakeFiles/3.16.3/CompilerIdCXX/a.out create mode 100644 shm/build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 shm/build/CMakeFiles/CMakeOutput.log create mode 100644 shm/build/CMakeFiles/Makefile.cmake create mode 100644 shm/build/CMakeFiles/Makefile2 create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/CXX.includecache create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/DependInfo.cmake create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/alcohol.cpp.o create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/build.make create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/cargo.cpp.o create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/cmake_clean.cmake create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/coordinates.cpp.o create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/depend.internal create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/depend.make create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/flags.make create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/fruit.cpp.o create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/island.cpp.o create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/item.cpp.o create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/link.txt create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/main.cpp.o create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/map.cpp.o create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/player.cpp.o create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/progress.make create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/ship.cpp.o create mode 100644 shm/build/CMakeFiles/SHM_2077.dir/store.cpp.o create mode 100644 shm/build/CMakeFiles/TargetDirectories.txt create mode 100644 shm/build/CMakeFiles/cmake.check_cache create mode 100644 shm/build/CMakeFiles/progress.marks create mode 100644 shm/build/Makefile create mode 100755 shm/build/SHM_2077 create mode 100644 shm/build/cmake_install.cmake diff --git a/shm/a.out b/shm/a.out new file mode 100755 index 0000000000000000000000000000000000000000..535fffc49de93bb6cdf346a72be459d004e877fb GIT binary patch literal 63056 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 literal 0 HcmV?d00001 diff --git a/shm/build/CMakeCache.txt b/shm/build/CMakeCache.txt new file mode 100644 index 000000000..8b150cd4e --- /dev/null +++ b/shm/build/CMakeCache.txt @@ -0,0 +1,366 @@ +# This is the CMakeCache file. +# For build in directory: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=SHM_2077 + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +SHM_2077_BINARY_DIR:STATIC=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build + +//Value Computed by CMake +SHM_2077_SOURCE_DIR:STATIC=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=16 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.16 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 + diff --git a/shm/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake b/shm/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake new file mode 100644 index 000000000..2692f7332 --- /dev/null +++ b/shm/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake @@ -0,0 +1,76 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "9.3.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-9") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW ) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/shm/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake b/shm/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake new file mode 100644 index 000000000..504c2505d --- /dev/null +++ b/shm/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake @@ -0,0 +1,88 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "9.3.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW ) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/shm/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin b/shm/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..a3225b1f9d09c95af35231bd3b222dd69d2ccead GIT binary patch literal 16552 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 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXE) || defined(__CRAYXC) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + + +#if !defined(__STDC__) +# if (defined(_MSC_VER) && !defined(__clang__)) \ + || (defined(__ibmxl__) || defined(__IBMC__)) +# define C_DIALECT "90" +# else +# define C_DIALECT +# endif +#elif __STDC_VERSION__ >= 201000L +# define C_DIALECT "11" +#elif __STDC_VERSION__ >= 199901L +# define C_DIALECT "99" +#else +# define C_DIALECT "90" +#endif +const char* info_language_dialect_default = + "INFO" ":" "dialect_default[" C_DIALECT "]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXE) || defined(__CRAYXC) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/shm/build/CMakeFiles/3.16.3/CompilerIdC/a.out b/shm/build/CMakeFiles/3.16.3/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..46f1233d9a6b2e660d5d0c5fc3dbde0dfb7e863d GIT binary patch literal 16712 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 Ri&oaZ+NLB{yA)ha@h^*jkRt#9 literal 0 HcmV?d00001 diff --git a/shm/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp b/shm/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 000000000..69cfdba6b --- /dev/null +++ b/shm/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,660 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXE) || defined(__CRAYXC) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_dialect_default = "INFO" ":" "dialect_default[" +#if CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXE) || defined(__CRAYXC) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} diff --git a/shm/build/CMakeFiles/3.16.3/CompilerIdCXX/a.out b/shm/build/CMakeFiles/3.16.3/CompilerIdCXX/a.out new file mode 100755 index 0000000000000000000000000000000000000000..c8684265455284359fc556a1ef0b98aa7a612508 GIT binary patch literal 16720 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 literal 0 HcmV?d00001 diff --git a/shm/build/CMakeFiles/CMakeDirectoryInformation.cmake b/shm/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 000000000..8d10276e6 --- /dev/null +++ b/shm/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/shm/build/CMakeFiles/CMakeOutput.log b/shm/build/CMakeFiles/CMakeOutput.log new file mode 100644 index 000000000..59a5891b7 --- /dev/null +++ b/shm/build/CMakeFiles/CMakeOutput.log @@ -0,0 +1,461 @@ +The system is: Linux - 5.4.0-77-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/cc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/3.16.3/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/3.16.3/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_d23c5/fast && /usr/bin/make -f CMakeFiles/cmTC_d23c5.dir/build.make CMakeFiles/cmTC_d23c5.dir/build +make[1]: Wejście do katalogu '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_d23c5.dir/testCCompiler.c.o +/usr/bin/cc -o CMakeFiles/cmTC_d23c5.dir/testCCompiler.c.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTC_d23c5 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d23c5.dir/link.txt --verbose=1 +/usr/bin/cc CMakeFiles/cmTC_d23c5.dir/testCCompiler.c.o -o cmTC_d23c5 +make[1]: Opuszczenie katalogu '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' + + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_23430/fast && /usr/bin/make -f CMakeFiles/cmTC_23430.dir/build.make CMakeFiles/cmTC_23430.dir/build +make[1]: Entering directory '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o +/usr/bin/cc -v -o CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc3phDtG.s +GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu) + compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu) + compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: bbf13931d8de1abe14040c9909cb6969 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' + as -v --64 -o CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o /tmp/cc3phDtG.s +GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' +Linking C executable cmTC_23430 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_23430.dir/link.txt --verbose=1 +/usr/bin/cc -v CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -o cmTC_23430 +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_23430' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccg7go55.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_23430 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_23430' '-mtune=generic' '-march=x86-64' +make[1]: Leaving directory '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-linux-gnu/9/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/make cmTC_23430/fast && /usr/bin/make -f CMakeFiles/cmTC_23430.dir/build.make CMakeFiles/cmTC_23430.dir/build] + ignore line: [make[1]: Entering directory '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc3phDtG.s] + ignore line: [GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: bbf13931d8de1abe14040c9909cb6969] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o /tmp/cc3phDtG.s] + ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [Linking C executable cmTC_23430] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_23430.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -o cmTC_23430 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_23430' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccg7go55.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_23430 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccg7go55.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_23430] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] + arg [CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_0b24b/fast && /usr/bin/make -f CMakeFiles/cmTC_0b24b.dir/build.make CMakeFiles/cmTC_0b24b.dir/build +make[1]: Wejście do katalogu '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_0b24b.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTC_0b24b.dir/testCXXCompiler.cxx.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTC_0b24b +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0b24b.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTC_0b24b.dir/testCXXCompiler.cxx.o -o cmTC_0b24b +make[1]: Opuszczenie katalogu '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' + + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_26aa1/fast && /usr/bin/make -f CMakeFiles/cmTC_26aa1.dir/build.make CMakeFiles/cmTC_26aa1.dir/build +make[1]: Entering directory '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -v -o CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cca8lQyC.s +GNU C++14 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu) + compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9" +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/include/c++/9 + /usr/include/x86_64-linux-gnu/c++/9 + /usr/include/c++/9/backward + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C++14 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu) + compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 466f818abe2f30ba03783f22bd12d815 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + as -v --64 -o CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o /tmp/cca8lQyC.s +GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' +Linking CXX executable cmTC_26aa1 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_26aa1.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_26aa1 +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_26aa1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccE9UJT4.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_26aa1 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_26aa1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' +make[1]: Leaving directory '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/9] + add: [/usr/include/x86_64-linux-gnu/c++/9] + add: [/usr/include/c++/9/backward] + add: [/usr/lib/gcc/x86_64-linux-gnu/9/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/9] ==> [/usr/include/c++/9] + collapse include dir [/usr/include/x86_64-linux-gnu/c++/9] ==> [/usr/include/x86_64-linux-gnu/c++/9] + collapse include dir [/usr/include/c++/9/backward] ==> [/usr/include/c++/9/backward] + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/make cmTC_26aa1/fast && /usr/bin/make -f CMakeFiles/cmTC_26aa1.dir/build.make CMakeFiles/cmTC_26aa1.dir/build] + ignore line: [make[1]: Entering directory '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp'] + ignore line: [Building CXX object CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cca8lQyC.s] + ignore line: [GNU C++14 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/9] + ignore line: [ /usr/include/x86_64-linux-gnu/c++/9] + ignore line: [ /usr/include/c++/9/backward] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C++14 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 466f818abe2f30ba03783f22bd12d815] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o /tmp/cca8lQyC.s] + ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + ignore line: [Linking CXX executable cmTC_26aa1] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_26aa1.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_26aa1 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_26aa1' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccE9UJT4.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_26aa1 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccE9UJT4.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_26aa1] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] + arg [CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + diff --git a/shm/build/CMakeFiles/Makefile.cmake b/shm/build/CMakeFiles/Makefile.cmake new file mode 100644 index 000000000..8384b7d40 --- /dev/null +++ b/shm/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,49 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "../CMakeLists.txt" + "CMakeFiles/3.16.3/CMakeCCompiler.cmake" + "CMakeFiles/3.16.3/CMakeCXXCompiler.cmake" + "CMakeFiles/3.16.3/CMakeSystem.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-3.16/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux.cmake" + "/usr/share/cmake-3.16/Modules/Platform/UnixPaths.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/SHM_2077.dir/DependInfo.cmake" + ) diff --git a/shm/build/CMakeFiles/Makefile2 b/shm/build/CMakeFiles/Makefile2 new file mode 100644 index 000000000..01babc954 --- /dev/null +++ b/shm/build/CMakeFiles/Makefile2 @@ -0,0 +1,106 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/linux/workspace/OOP/SHM/object-oriented-programming/shm + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/SHM_2077.dir/all + +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: + +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/SHM_2077.dir/clean + +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/SHM_2077.dir + +# All Build rule for target. +CMakeFiles/SHM_2077.dir/all: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/depend + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12 "Built target SHM_2077" +.PHONY : CMakeFiles/SHM_2077.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/SHM_2077.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles 12 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/SHM_2077.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles 0 +.PHONY : CMakeFiles/SHM_2077.dir/rule + +# Convenience name for target. +SHM_2077: CMakeFiles/SHM_2077.dir/rule + +.PHONY : SHM_2077 + +# clean rule for target. +CMakeFiles/SHM_2077.dir/clean: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/clean +.PHONY : CMakeFiles/SHM_2077.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/shm/build/CMakeFiles/SHM_2077.dir/CXX.includecache b/shm/build/CMakeFiles/SHM_2077.dir/CXX.includecache new file mode 100644 index 000000000..46c03d4e7 --- /dev/null +++ b/shm/build/CMakeFiles/SHM_2077.dir/CXX.includecache @@ -0,0 +1,98 @@ +#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/alcohol.hpp +cargo.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp + +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp +string +- + +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/coordinates.hpp +cmath +- + +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/fruit.hpp +cargo.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp + +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/island.hpp +coordinates.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/coordinates.hpp + +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/item.hpp +iostream +- +cargo.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp + +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/main.cpp +iomanip +- +iostream +- +memory +- +alcohol.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/alcohol.hpp +cargo.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp +fruit.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/fruit.hpp +island.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/island.hpp +item.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/item.hpp +map.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/map.hpp +player.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.hpp +ship.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.hpp +store.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/store.hpp + +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/map.hpp +vector +- +functional +- +random +- +memory +- + +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.hpp +memory +- + +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.hpp +memory +- +string +- +vector +- +cargo.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp + +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/store.hpp +iomanip +- +iostream +- +memory +- +vector +- +cargo.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp +player.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.hpp + diff --git a/shm/build/CMakeFiles/SHM_2077.dir/DependInfo.cmake b/shm/build/CMakeFiles/SHM_2077.dir/DependInfo.cmake new file mode 100644 index 000000000..99a313c08 --- /dev/null +++ b/shm/build/CMakeFiles/SHM_2077.dir/DependInfo.cmake @@ -0,0 +1,30 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_CXX + "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/alcohol.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/alcohol.cpp.o" + "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/cargo.cpp.o" + "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/coordinates.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/coordinates.cpp.o" + "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/fruit.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/fruit.cpp.o" + "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/island.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/island.cpp.o" + "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/item.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/item.cpp.o" + "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/main.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/main.cpp.o" + "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/map.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/map.cpp.o" + "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/player.cpp.o" + "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/ship.cpp.o" + "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/store.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/store.cpp.o" + ) +set(CMAKE_CXX_COMPILER_ID "GNU") + +# The include file search paths: +set(CMAKE_CXX_TARGET_INCLUDE_PATH + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/shm/build/CMakeFiles/SHM_2077.dir/alcohol.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/alcohol.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..b39c0047aae7b8a9c36101b52ed5da5e3b263722 GIT binary patch literal 12368 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 CMakeFiles/SHM_2077.dir/main.cpp.i + +CMakeFiles/SHM_2077.dir/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/main.cpp -o CMakeFiles/SHM_2077.dir/main.cpp.s + +CMakeFiles/SHM_2077.dir/island.cpp.o: CMakeFiles/SHM_2077.dir/flags.make +CMakeFiles/SHM_2077.dir/island.cpp.o: ../island.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/SHM_2077.dir/island.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/island.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/island.cpp + +CMakeFiles/SHM_2077.dir/island.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/island.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/island.cpp > CMakeFiles/SHM_2077.dir/island.cpp.i + +CMakeFiles/SHM_2077.dir/island.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/island.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/island.cpp -o CMakeFiles/SHM_2077.dir/island.cpp.s + +CMakeFiles/SHM_2077.dir/map.cpp.o: CMakeFiles/SHM_2077.dir/flags.make +CMakeFiles/SHM_2077.dir/map.cpp.o: ../map.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/SHM_2077.dir/map.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/map.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/map.cpp + +CMakeFiles/SHM_2077.dir/map.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/map.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/map.cpp > CMakeFiles/SHM_2077.dir/map.cpp.i + +CMakeFiles/SHM_2077.dir/map.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/map.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/map.cpp -o CMakeFiles/SHM_2077.dir/map.cpp.s + +CMakeFiles/SHM_2077.dir/player.cpp.o: CMakeFiles/SHM_2077.dir/flags.make +CMakeFiles/SHM_2077.dir/player.cpp.o: ../player.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/SHM_2077.dir/player.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/player.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.cpp + +CMakeFiles/SHM_2077.dir/player.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/player.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.cpp > CMakeFiles/SHM_2077.dir/player.cpp.i + +CMakeFiles/SHM_2077.dir/player.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/player.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.cpp -o CMakeFiles/SHM_2077.dir/player.cpp.s + +CMakeFiles/SHM_2077.dir/ship.cpp.o: CMakeFiles/SHM_2077.dir/flags.make +CMakeFiles/SHM_2077.dir/ship.cpp.o: ../ship.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/SHM_2077.dir/ship.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/ship.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.cpp + +CMakeFiles/SHM_2077.dir/ship.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/ship.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.cpp > CMakeFiles/SHM_2077.dir/ship.cpp.i + +CMakeFiles/SHM_2077.dir/ship.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/ship.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.cpp -o CMakeFiles/SHM_2077.dir/ship.cpp.s + +CMakeFiles/SHM_2077.dir/coordinates.cpp.o: CMakeFiles/SHM_2077.dir/flags.make +CMakeFiles/SHM_2077.dir/coordinates.cpp.o: ../coordinates.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/SHM_2077.dir/coordinates.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/coordinates.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/coordinates.cpp + +CMakeFiles/SHM_2077.dir/coordinates.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/coordinates.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/coordinates.cpp > CMakeFiles/SHM_2077.dir/coordinates.cpp.i + +CMakeFiles/SHM_2077.dir/coordinates.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/coordinates.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/coordinates.cpp -o CMakeFiles/SHM_2077.dir/coordinates.cpp.s + +CMakeFiles/SHM_2077.dir/cargo.cpp.o: CMakeFiles/SHM_2077.dir/flags.make +CMakeFiles/SHM_2077.dir/cargo.cpp.o: ../cargo.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object CMakeFiles/SHM_2077.dir/cargo.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/cargo.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.cpp + +CMakeFiles/SHM_2077.dir/cargo.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/cargo.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.cpp > CMakeFiles/SHM_2077.dir/cargo.cpp.i + +CMakeFiles/SHM_2077.dir/cargo.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/cargo.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.cpp -o CMakeFiles/SHM_2077.dir/cargo.cpp.s + +CMakeFiles/SHM_2077.dir/store.cpp.o: CMakeFiles/SHM_2077.dir/flags.make +CMakeFiles/SHM_2077.dir/store.cpp.o: ../store.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/SHM_2077.dir/store.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/store.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/store.cpp + +CMakeFiles/SHM_2077.dir/store.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/store.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/store.cpp > CMakeFiles/SHM_2077.dir/store.cpp.i + +CMakeFiles/SHM_2077.dir/store.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/store.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/store.cpp -o CMakeFiles/SHM_2077.dir/store.cpp.s + +CMakeFiles/SHM_2077.dir/alcohol.cpp.o: CMakeFiles/SHM_2077.dir/flags.make +CMakeFiles/SHM_2077.dir/alcohol.cpp.o: ../alcohol.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/SHM_2077.dir/alcohol.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/alcohol.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/alcohol.cpp + +CMakeFiles/SHM_2077.dir/alcohol.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/alcohol.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/alcohol.cpp > CMakeFiles/SHM_2077.dir/alcohol.cpp.i + +CMakeFiles/SHM_2077.dir/alcohol.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/alcohol.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/alcohol.cpp -o CMakeFiles/SHM_2077.dir/alcohol.cpp.s + +CMakeFiles/SHM_2077.dir/item.cpp.o: CMakeFiles/SHM_2077.dir/flags.make +CMakeFiles/SHM_2077.dir/item.cpp.o: ../item.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/SHM_2077.dir/item.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/item.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/item.cpp + +CMakeFiles/SHM_2077.dir/item.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/item.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/item.cpp > CMakeFiles/SHM_2077.dir/item.cpp.i + +CMakeFiles/SHM_2077.dir/item.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/item.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/item.cpp -o CMakeFiles/SHM_2077.dir/item.cpp.s + +CMakeFiles/SHM_2077.dir/fruit.cpp.o: CMakeFiles/SHM_2077.dir/flags.make +CMakeFiles/SHM_2077.dir/fruit.cpp.o: ../fruit.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object CMakeFiles/SHM_2077.dir/fruit.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/fruit.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/fruit.cpp + +CMakeFiles/SHM_2077.dir/fruit.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/fruit.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/fruit.cpp > CMakeFiles/SHM_2077.dir/fruit.cpp.i + +CMakeFiles/SHM_2077.dir/fruit.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/fruit.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/fruit.cpp -o CMakeFiles/SHM_2077.dir/fruit.cpp.s + +# Object files for target SHM_2077 +SHM_2077_OBJECTS = \ +"CMakeFiles/SHM_2077.dir/main.cpp.o" \ +"CMakeFiles/SHM_2077.dir/island.cpp.o" \ +"CMakeFiles/SHM_2077.dir/map.cpp.o" \ +"CMakeFiles/SHM_2077.dir/player.cpp.o" \ +"CMakeFiles/SHM_2077.dir/ship.cpp.o" \ +"CMakeFiles/SHM_2077.dir/coordinates.cpp.o" \ +"CMakeFiles/SHM_2077.dir/cargo.cpp.o" \ +"CMakeFiles/SHM_2077.dir/store.cpp.o" \ +"CMakeFiles/SHM_2077.dir/alcohol.cpp.o" \ +"CMakeFiles/SHM_2077.dir/item.cpp.o" \ +"CMakeFiles/SHM_2077.dir/fruit.cpp.o" + +# External object files for target SHM_2077 +SHM_2077_EXTERNAL_OBJECTS = + +SHM_2077: CMakeFiles/SHM_2077.dir/main.cpp.o +SHM_2077: CMakeFiles/SHM_2077.dir/island.cpp.o +SHM_2077: CMakeFiles/SHM_2077.dir/map.cpp.o +SHM_2077: CMakeFiles/SHM_2077.dir/player.cpp.o +SHM_2077: CMakeFiles/SHM_2077.dir/ship.cpp.o +SHM_2077: CMakeFiles/SHM_2077.dir/coordinates.cpp.o +SHM_2077: CMakeFiles/SHM_2077.dir/cargo.cpp.o +SHM_2077: CMakeFiles/SHM_2077.dir/store.cpp.o +SHM_2077: CMakeFiles/SHM_2077.dir/alcohol.cpp.o +SHM_2077: CMakeFiles/SHM_2077.dir/item.cpp.o +SHM_2077: CMakeFiles/SHM_2077.dir/fruit.cpp.o +SHM_2077: CMakeFiles/SHM_2077.dir/build.make +SHM_2077: CMakeFiles/SHM_2077.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Linking CXX executable SHM_2077" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/SHM_2077.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/SHM_2077.dir/build: SHM_2077 + +.PHONY : CMakeFiles/SHM_2077.dir/build + +CMakeFiles/SHM_2077.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/SHM_2077.dir/cmake_clean.cmake +.PHONY : CMakeFiles/SHM_2077.dir/clean + +CMakeFiles/SHM_2077.dir/depend: + cd /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/linux/workspace/OOP/SHM/object-oriented-programming/shm /home/linux/workspace/OOP/SHM/object-oriented-programming/shm /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/SHM_2077.dir/depend + diff --git a/shm/build/CMakeFiles/SHM_2077.dir/cargo.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/cargo.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..f27d4426927cc6e308ca580a5e4964c3743a5891 GIT binary patch literal 7520 zcmd5>Yit}>6~4Qh#vvrJX-m}*2j4W%-mZWkj9{se)l@&|(W(|;5sz`_xsAgDkHijazhK(&-g7$J~VMKb5RbI`tqse>n2Yz302A3|*duzC>^9=J(*wP3 zdU|yIeN^79>-SIz6OehoF7KyuCq4h}-u>2uS^tMQ|7OyxUs*TnwKcOov1-;&t(Xgt z7G}dBxJMNWV_T>siC>uYKdt($4JeHDDUrs+3f21;Us?8Tvt1Z!D6us&_H)m!r*(FD z(U+cov&WA_X=M7$A!F_0PR~4X4gB!a)_v!lzOAVKpPjQTJxZ=vC_8;*{Cg zw6~80&APFgULvbk&4w`Nm+m(kTg(N6kO>m}qglVP@jGf=Y-xRwS{MD+g^4B7c+umP zs=83b-WKw$S zS8mm7>+@G`#cBi3URmGR5Tdrv4EA1+oX$(*E|nf_H83(ih3d~RFIK<3v9WP>8FD@y zEtG0SH(8oa+E(RUiQdIzvE(Kvon);zgPl~qyedKva^Qf_IEG)}E~ zqyAg&A_cRt5!;c83-P)5cVgnlF^ZL^!qIUI9A*Peui6T!QmOMwNoyE1(=w>|o}^@bD*+ zeG`+E^;&W$bs*KhKYh5S*z^|$`cwUb`#jjw-9!b}J4W}!=!BpgE&)r>1LAEXcKNi3 z&Gp1~ZR^^yNd5dEwc!C}@G^Gvd?h}-ee*>UAQo+(0#0-WFK&_noEce zMBu?JHboLxg&ip2ugccOgg3ieLE;i>Rky)}Z*BvBM97}NxM#G)U#Z0Y5T^eS&k^S620&LG|xO*ncSkU)6SA z*LJXXfZig!H{P5l*yBL=(NOIP%yYGe5dH$;o%;1!1pY<@9*e-&Bk)7Cad-0T65bnF zUo7)Xg#6bd@RyYxb*EGP=N)P}LjEtnDb_HpM#y6-b8Ia->iUqf%Vi-S&$%P%p>p1_ zos0RZBkfYL>Q-vD>opybGGEFU^I!+lQdV8d&D#=4-kQx{CazSJR&h#BIi4Q){(N4@ z6C;m2d~}3VYLhZ6<>RB?F*`h9oIW|4a}P^t&&{RN>48bBN+wA=Up$w!b8b3q&sY`d zR;;{R&DuuJqL*P53KRn=hMN!Dr9#=NIL6pXJ2xOnN_&3f`0<=EF2|2PJYq;ua0+$- z9UgyFpZChz?S?U&rtouv60ztG0lD)Ic}B`3hU%Wj6|#!Uxr4S-sgSFjJ6p}RcilKm z*a0tpB}$-U6|(lYG;#+eB?BRz^b9&rA!;d(eKu8brc+X$o12qmr&28yX%yW{@g$bo-1mCvxkaBOpkGoQ1bN(b)qRl4SLp!(-%Ah6{{bKowV)>N- z9<=j@#?hxk0r`Ih>>m!`LsSRB#%_ApK93jhQ~*aE6vjW}!EN|x0RK4E+5XuG{Coh% zJ)Y(H{6;tWwG4`+t^-f&I*LAB596#G#*akEYnblRLJZKuXI(I!11uCMA&)WUdo4Es z=Q|LvBwj?2<+B-l1}`Guc$l8l6~_5q^~Dg*_o^QRaLx&!r2r0Fe1Cc+fCs-?Rs;A} zT}QDE9U|g*_0`ls$MF%)}%<$S>ly5T&p;Wdcpx=C)6#c-kpKfFJdCk*_ohnyKbf~** z+?kQn6^l;7)VWHjR`w>tyLe;2>-4pm(Kh+q!2X2&0s9b$%P9R3Ps~4eppWx_^|*}E zf2@Ok@;3CRI_P6BV!vEQ`RB~?zJvI&@30=1QTlTo{9`|0JuZ`kVd;jyIKM;~s5`hB z5g%gJ7dUKX=n2xg{>cH~eIUe-{f_&?UurnJAwr)UE%c4BBi*Xa`LZ}`VKYiUEFb1^ zh5!q@yQ%@4VL{^f8GDE-(BB*~a6|JM7Sv_fKh9&7zmWc-K6p4!$RE}M`)B;~gmsF) zOD6>X9|%&||FhHxEFAw%t^Zt5S<42Yr-|tl|1}-|q83K{-SmXxzn7fDew9SP{YkCgM7$d7 zG5$jWFh-&9MMmo(+26fq^7yg>&F@E^0w#_}lR`sQEdnk{g?x;1{NuPfTTL~$ISn)rrMVq<+ literal 0 HcmV?d00001 diff --git a/shm/build/CMakeFiles/SHM_2077.dir/cmake_clean.cmake b/shm/build/CMakeFiles/SHM_2077.dir/cmake_clean.cmake new file mode 100644 index 000000000..f80f3952c --- /dev/null +++ b/shm/build/CMakeFiles/SHM_2077.dir/cmake_clean.cmake @@ -0,0 +1,20 @@ +file(REMOVE_RECURSE + "CMakeFiles/SHM_2077.dir/alcohol.cpp.o" + "CMakeFiles/SHM_2077.dir/cargo.cpp.o" + "CMakeFiles/SHM_2077.dir/coordinates.cpp.o" + "CMakeFiles/SHM_2077.dir/fruit.cpp.o" + "CMakeFiles/SHM_2077.dir/island.cpp.o" + "CMakeFiles/SHM_2077.dir/item.cpp.o" + "CMakeFiles/SHM_2077.dir/main.cpp.o" + "CMakeFiles/SHM_2077.dir/map.cpp.o" + "CMakeFiles/SHM_2077.dir/player.cpp.o" + "CMakeFiles/SHM_2077.dir/ship.cpp.o" + "CMakeFiles/SHM_2077.dir/store.cpp.o" + "SHM_2077" + "SHM_2077.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/SHM_2077.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/shm/build/CMakeFiles/SHM_2077.dir/coordinates.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/coordinates.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..08bacccc103812a2fdeae77dc1f799364c0602c1 GIT binary patch literal 3592 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 N-CCnBzzmN6{{z>N^xpsg literal 0 HcmV?d00001 diff --git a/shm/build/CMakeFiles/SHM_2077.dir/island.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/island.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..270093930af23cc76db17247a458d25c8e2f312f GIT binary patch literal 1576 zcmbtT&1(}u6n~r4Hfq#VJg60kCo9?^>qq@SWFf2_(UvF#L@VWCD5BU|ASlvkBS%RMc><qO!G88QXBePhz#}-c6brDN zKh&*QwV((m;pdsl2X!8O<p0?l{cd+I$^2JvTY~fA%Fzrniy)LY6FAlTr!&?!;ZeMfvJo z6Gs>&;>b?1I_Ue+yZ+bw8<gs$Y?`WJJ`bjr5UF9jtMulE+dM;xb zP?k~&x~q-`8dNi#KaoK%rBouFPk#DaEEOQ-NETFcIgUK_sq)XuxU93ubx&TjAms_< ks75-Uxb(L}3M_g4IvE;dxhb=VT2}s8=69x%iIUF$1EjEtWdHyG literal 0 HcmV?d00001 diff --git a/shm/build/CMakeFiles/SHM_2077.dir/item.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/item.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..1aa0dc4086e17f8bfce3fdb310b150be9b694936 GIT binary patch literal 12248 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 AZvX%Q literal 0 HcmV?d00001 diff --git a/shm/build/CMakeFiles/SHM_2077.dir/map.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/map.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..e3d3c8d0e8f20eb71818bc95e779686db59f3b33 GIT binary patch literal 61344 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 literal 0 HcmV?d00001 diff --git a/shm/build/CMakeFiles/SHM_2077.dir/progress.make b/shm/build/CMakeFiles/SHM_2077.dir/progress.make new file mode 100644 index 000000000..5d4d46460 --- /dev/null +++ b/shm/build/CMakeFiles/SHM_2077.dir/progress.make @@ -0,0 +1,13 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 +CMAKE_PROGRESS_4 = 4 +CMAKE_PROGRESS_5 = 5 +CMAKE_PROGRESS_6 = 6 +CMAKE_PROGRESS_7 = 7 +CMAKE_PROGRESS_8 = 8 +CMAKE_PROGRESS_9 = 9 +CMAKE_PROGRESS_10 = 10 +CMAKE_PROGRESS_11 = 11 +CMAKE_PROGRESS_12 = 12 + diff --git a/shm/build/CMakeFiles/SHM_2077.dir/ship.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/ship.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..bbc37b082af873046089eada8980115b0f1bc88a GIT binary patch literal 53656 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 literal 0 HcmV?d00001 diff --git a/shm/build/CMakeFiles/SHM_2077.dir/store.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/store.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..6fababa5b8e4b9ae522e1c70871d4408b1f16eb9 GIT binary patch literal 320632 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 z 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 ZtN7kuGk&|#7ZQKdNQLH;e|VVu{|EhOP*4B> literal 0 HcmV?d00001 diff --git a/shm/build/CMakeFiles/TargetDirectories.txt b/shm/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 000000000..aa2925ac7 --- /dev/null +++ b/shm/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,3 @@ +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/rebuild_cache.dir +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/edit_cache.dir +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir diff --git a/shm/build/CMakeFiles/cmake.check_cache b/shm/build/CMakeFiles/cmake.check_cache new file mode 100644 index 000000000..3dccd7317 --- /dev/null +++ b/shm/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/shm/build/CMakeFiles/progress.marks b/shm/build/CMakeFiles/progress.marks new file mode 100644 index 000000000..48082f72f --- /dev/null +++ b/shm/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +12 diff --git a/shm/build/Makefile b/shm/build/Makefile new file mode 100644 index 000000000..6871b618f --- /dev/null +++ b/shm/build/Makefile @@ -0,0 +1,478 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/linux/workspace/OOP/SHM/object-oriented-programming/shm + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/progress.marks + $(MAKE) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named SHM_2077 + +# Build rule for target. +SHM_2077: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 SHM_2077 +.PHONY : SHM_2077 + +# fast build rule for target. +SHM_2077/fast: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/build +.PHONY : SHM_2077/fast + +alcohol.o: alcohol.cpp.o + +.PHONY : alcohol.o + +# target to build an object file +alcohol.cpp.o: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/alcohol.cpp.o +.PHONY : alcohol.cpp.o + +alcohol.i: alcohol.cpp.i + +.PHONY : alcohol.i + +# target to preprocess a source file +alcohol.cpp.i: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/alcohol.cpp.i +.PHONY : alcohol.cpp.i + +alcohol.s: alcohol.cpp.s + +.PHONY : alcohol.s + +# target to generate assembly for a file +alcohol.cpp.s: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/alcohol.cpp.s +.PHONY : alcohol.cpp.s + +cargo.o: cargo.cpp.o + +.PHONY : cargo.o + +# target to build an object file +cargo.cpp.o: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/cargo.cpp.o +.PHONY : cargo.cpp.o + +cargo.i: cargo.cpp.i + +.PHONY : cargo.i + +# target to preprocess a source file +cargo.cpp.i: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/cargo.cpp.i +.PHONY : cargo.cpp.i + +cargo.s: cargo.cpp.s + +.PHONY : cargo.s + +# target to generate assembly for a file +cargo.cpp.s: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/cargo.cpp.s +.PHONY : cargo.cpp.s + +coordinates.o: coordinates.cpp.o + +.PHONY : coordinates.o + +# target to build an object file +coordinates.cpp.o: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/coordinates.cpp.o +.PHONY : coordinates.cpp.o + +coordinates.i: coordinates.cpp.i + +.PHONY : coordinates.i + +# target to preprocess a source file +coordinates.cpp.i: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/coordinates.cpp.i +.PHONY : coordinates.cpp.i + +coordinates.s: coordinates.cpp.s + +.PHONY : coordinates.s + +# target to generate assembly for a file +coordinates.cpp.s: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/coordinates.cpp.s +.PHONY : coordinates.cpp.s + +fruit.o: fruit.cpp.o + +.PHONY : fruit.o + +# target to build an object file +fruit.cpp.o: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/fruit.cpp.o +.PHONY : fruit.cpp.o + +fruit.i: fruit.cpp.i + +.PHONY : fruit.i + +# target to preprocess a source file +fruit.cpp.i: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/fruit.cpp.i +.PHONY : fruit.cpp.i + +fruit.s: fruit.cpp.s + +.PHONY : fruit.s + +# target to generate assembly for a file +fruit.cpp.s: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/fruit.cpp.s +.PHONY : fruit.cpp.s + +island.o: island.cpp.o + +.PHONY : island.o + +# target to build an object file +island.cpp.o: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/island.cpp.o +.PHONY : island.cpp.o + +island.i: island.cpp.i + +.PHONY : island.i + +# target to preprocess a source file +island.cpp.i: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/island.cpp.i +.PHONY : island.cpp.i + +island.s: island.cpp.s + +.PHONY : island.s + +# target to generate assembly for a file +island.cpp.s: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/island.cpp.s +.PHONY : island.cpp.s + +item.o: item.cpp.o + +.PHONY : item.o + +# target to build an object file +item.cpp.o: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/item.cpp.o +.PHONY : item.cpp.o + +item.i: item.cpp.i + +.PHONY : item.i + +# target to preprocess a source file +item.cpp.i: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/item.cpp.i +.PHONY : item.cpp.i + +item.s: item.cpp.s + +.PHONY : item.s + +# target to generate assembly for a file +item.cpp.s: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/item.cpp.s +.PHONY : item.cpp.s + +main.o: main.cpp.o + +.PHONY : main.o + +# target to build an object file +main.cpp.o: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/main.cpp.o +.PHONY : main.cpp.o + +main.i: main.cpp.i + +.PHONY : main.i + +# target to preprocess a source file +main.cpp.i: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/main.cpp.i +.PHONY : main.cpp.i + +main.s: main.cpp.s + +.PHONY : main.s + +# target to generate assembly for a file +main.cpp.s: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/main.cpp.s +.PHONY : main.cpp.s + +map.o: map.cpp.o + +.PHONY : map.o + +# target to build an object file +map.cpp.o: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/map.cpp.o +.PHONY : map.cpp.o + +map.i: map.cpp.i + +.PHONY : map.i + +# target to preprocess a source file +map.cpp.i: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/map.cpp.i +.PHONY : map.cpp.i + +map.s: map.cpp.s + +.PHONY : map.s + +# target to generate assembly for a file +map.cpp.s: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/map.cpp.s +.PHONY : map.cpp.s + +player.o: player.cpp.o + +.PHONY : player.o + +# target to build an object file +player.cpp.o: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/player.cpp.o +.PHONY : player.cpp.o + +player.i: player.cpp.i + +.PHONY : player.i + +# target to preprocess a source file +player.cpp.i: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/player.cpp.i +.PHONY : player.cpp.i + +player.s: player.cpp.s + +.PHONY : player.s + +# target to generate assembly for a file +player.cpp.s: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/player.cpp.s +.PHONY : player.cpp.s + +ship.o: ship.cpp.o + +.PHONY : ship.o + +# target to build an object file +ship.cpp.o: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/ship.cpp.o +.PHONY : ship.cpp.o + +ship.i: ship.cpp.i + +.PHONY : ship.i + +# target to preprocess a source file +ship.cpp.i: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/ship.cpp.i +.PHONY : ship.cpp.i + +ship.s: ship.cpp.s + +.PHONY : ship.s + +# target to generate assembly for a file +ship.cpp.s: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/ship.cpp.s +.PHONY : ship.cpp.s + +store.o: store.cpp.o + +.PHONY : store.o + +# target to build an object file +store.cpp.o: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/store.cpp.o +.PHONY : store.cpp.o + +store.i: store.cpp.i + +.PHONY : store.i + +# target to preprocess a source file +store.cpp.i: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/store.cpp.i +.PHONY : store.cpp.i + +store.s: store.cpp.s + +.PHONY : store.s + +# target to generate assembly for a file +store.cpp.s: + $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/store.cpp.s +.PHONY : store.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... rebuild_cache" + @echo "... edit_cache" + @echo "... SHM_2077" + @echo "... alcohol.o" + @echo "... alcohol.i" + @echo "... alcohol.s" + @echo "... cargo.o" + @echo "... cargo.i" + @echo "... cargo.s" + @echo "... coordinates.o" + @echo "... coordinates.i" + @echo "... coordinates.s" + @echo "... fruit.o" + @echo "... fruit.i" + @echo "... fruit.s" + @echo "... island.o" + @echo "... island.i" + @echo "... island.s" + @echo "... item.o" + @echo "... item.i" + @echo "... item.s" + @echo "... main.o" + @echo "... main.i" + @echo "... main.s" + @echo "... map.o" + @echo "... map.i" + @echo "... map.s" + @echo "... player.o" + @echo "... player.i" + @echo "... player.s" + @echo "... ship.o" + @echo "... ship.i" + @echo "... ship.s" + @echo "... store.o" + @echo "... store.i" + @echo "... store.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/shm/build/SHM_2077 b/shm/build/SHM_2077 new file mode 100755 index 0000000000000000000000000000000000000000..bb40d58cd7ff752fe6c3d742308bf067d2dc8d23 GIT binary patch literal 221912 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 #include #include -#include "cargo.hpp" + #include "alcohol.hpp" -#include "item.hpp" +#include "cargo.hpp" #include "fruit.hpp" +#include "island.hpp" +#include "item.hpp" +#include "map.hpp" #include "player.hpp" #include "ship.hpp" #include "store.hpp" -#include "island.hpp" -#include "map.hpp" int main() { - auto cargo1 = std::make_shared("cebula", 30, 2, 20); - auto cargo2 = std::make_shared("drewno", 10, 20,Rarity::epic); - auto cargo3 = std::make_shared("wino", 10, 100, 15); + auto cargo1 = std::make_shared("cebula", 40, 2, 20); + auto cargo2 = std::make_shared("drewno", 10, 20, Rarity::epic); + auto cargo3 = std::make_shared(Alcohol("wino", 10, 100, 15)); // auto cargo4 = std::make_shared("miedz", 10, 1); // auto cargo5 = std::make_shared("rubin", 10, 2); // auto cargo6 = std::make_shared("cebula", 3, 10); // auto cargo7 = std::make_shared("Woda", 200, 500); - - std::vector> LOAD {cargo1, cargo2 , cargo3}; - + + std::vector> LOAD{cargo1, cargo2, cargo3}; + auto s1 = std::make_shared(500, 20, 14, 5, "Black Widow", 1, LOAD); Player pla1(s1, 5000); std::cout << '\n'; - + pla1.printCargo(); - Store stor1(5000, 70000); + // s1->removeFromShip(cargo1, 45); + s1->addAmountToShip(cargo1, 50); + + + pla1.printCargo(); - std::cout << "Pieniadze Store: " << stor1.getMoney(); + Store s; + std::cout << s; + + // // std::cout << "Pieniadze Store: " << stor1.getMoney() << '\n'; + + // // std::cout << stor1; + // auto cargo4 = std::make_shared(Alcohol("Pina Colada", 0, 10, 15)); + // auto cargo5 = std::make_shared(Fruit("Peach", 0, 50, 10)); + + // std::cout << "Przed załdunkeim: \n\n\n"; + // std::cout << stor1; + + // auto cargo6 = std::make_shared(Item("Noz", 0, 50, Rarity::common)); + // // stor1.addCargo(cargo4, 20); + // // stor1.addCargo(cargo4, 20); + // // stor1.addCargo(cargo4, 20); + // stor1.addCargo(cargo5, 1); + // std::cout << "po załądunku'\n\n\n" << stor1; return 0; -} \ No newline at end of file +} diff --git a/shm/ship.cpp b/shm/ship.cpp index e9a885bc0..a8c5e537d 100644 --- a/shm/ship.cpp +++ b/shm/ship.cpp @@ -45,7 +45,7 @@ std::string Ship::getName() const { size_t Ship::getId() const { return id_; } -// Function returns specific cargo +// Function returns specific cargo std::shared_ptr Ship::getCargo(size_t index) const { if (cargos_.size() <= index) { return nullptr; @@ -60,3 +60,34 @@ std::vector> Ship::getCargosVector() const { void Ship::setName(const std::string& name) { name_ = name; } + + std::vector>::iterator Ship::findMatchCargo(std::shared_ptr cargo) { + auto findCargo = std::find_if(cargos_.begin(), + cargos_.end(), + [&cargo](const auto& searchCargo) + { return searchCargo->getName() == cargo->getName(); }); +} + +void Ship::removeFromShip(std::shared_ptr cargo, size_t amount) { + auto findCargo = findMatchCargo(cargo); + if(!findCargo->get() ) { + return; + } + if (findCargo != cargos_.end()) { + **findCargo -= amount; + } +} + +void Ship::addAmountToShip(std::shared_ptr cargo, size_t amount) { + auto findCargo = findMatchCargo(cargo); + if(!findCargo->get() ) { + return; + } + if (findCargo != cargos_.end()) { + if (capacity_ > cargo->getAmount()) { + **findCargo += amount; + } else { + std::cerr << "Not enuogh space on ship!!!!\n"; + } + } +} \ No newline at end of file diff --git a/shm/ship.hpp b/shm/ship.hpp index dd8a154d5..09f8220b3 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -34,8 +34,13 @@ class Ship size_t getId() const; std::shared_ptr getCargo(size_t index) const; std::vector> getCargosVector() const; + + std::vector>::iterator findMatchCargo(std::shared_ptr cargo); void setName(const std::string& name); + + void removeFromShip(std::shared_ptr cargo, size_t amount); + void addAmountToShip(std::shared_ptr cargo, size_t amount); private: size_t capacity_; diff --git a/shm/store.cpp b/shm/store.cpp index b64ee3097..e8b5221bd 100644 --- a/shm/store.cpp +++ b/shm/store.cpp @@ -2,108 +2,182 @@ #include "alcohol.hpp" #include "fruit.hpp" #include "item.hpp" +#include "player.hpp" +#include "ship.hpp" #include +#include #include +#include -std::string Store::getResponse(const Response& response) { - switch (response) { - case Response::done: - return "done"; - case Response::lack_of_cargo: - return "Lack of cargo"; - case Response::lack_of_money: - return "Lack of money"; - case Response::lack_of_space: - return "Lack of space"; - } -} +Store::Store() + { + generateDefaultCargo(); + }; -std::vector>::iterator Store::findCargo(const std::shared_ptr& cargo) { - auto find = std::find_if(stock_.begin(), stock_.end(), - [cargo](const auto& el) { return cargo->getName() == el->getName() && - cargo->getBasePrice() == el->getBasePrice(); }); - return find; +std::vector>::iterator Store::findCargoInStore(const std::shared_ptr& wantedCargo) { + auto find = std::find_if(stock_.begin(), + stock_.end(), + [wantedCargo](const std::shared_ptr& cargo) { return *cargo == *wantedCargo; }); } -void Store::load(std::shared_ptr cargo, size_t amount) { - auto newLoad = findCargo(cargo); +Response Store::buy(std::shared_ptr cargo, size_t amount, Player* player) { + if (!cargo || !amount || !player) { + return Response::lack_of_cargo; + } - if (newLoad == stock_.end()) { - stock_.push_back(cargo); - return; + std::shared_ptr playerShip = player->getShip(); + if (!playerShip) { + return Response::lack_of_cargo; } - **newLoad += amount; -} + auto soldPlayerCargo = playerShip->getCargosVector()[0]; + for (const auto el : playerShip->getCargosVector()) { + auto loopCargo = el; -void Store::unload(std::shared_ptr cargo, size_t amount) { - auto soldCargo = findCargo(cargo); - if (soldCargo == stock_.end()) { - return; + if (loopCargo == cargo) { + if (loopCargo->getAmount() < amount) { + return Response::lack_of_space; + } + } + soldPlayerCargo = loopCargo; } - if ((*soldCargo)->getAmount() <= cargo->getAmount()) { - stock_.erase(findCargo(cargo)); + + if (!soldPlayerCargo) { + return Response::lack_of_cargo; + } + + // player sell + + if (soldPlayerCargo->getAmount() < amount) { + auto playerPrice = soldPlayerCargo->getAmount() * soldPlayerCargo->getPrice(); + + //playerShip->; // funkcja wyładunku ze statku napisać.; + int a = 3; + player->setMoney(player->getMoney() + playerPrice); } - **soldCargo -= amount; } -Response Store::buy(std::shared_ptr cargo, size_t amount, std::shared_ptr player) { - if (amount > player->getAvailableSpace()) { +Response Store::sell(std::shared_ptr cargo, size_t amount, Player* player) { + //lack of an amount of cargo in store + if (!cargo || !amount) { + Response::lack_of_cargo; + } + + //lack of space on player's ship + if (!player) { return Response::lack_of_space; } - if (player->getMoney() < cargo->getBasePrice() * amount) { - return Response::lack_of_money; + + std::shared_ptr playerShip = player->getShip(); + if (!playerShip) { + return Response::lack_of_space; + } + + // Check if player can take cargo on ship + bool playerHaveTheSameCargo = false; + auto playerCargo = playerShip->getCargosVector(); + for (const auto& el : playerCargo) { + if (el == cargo) { + playerHaveTheSameCargo = true; + break; + } } - if (findCargo(cargo) == stock_.end()) { + if (!playerHaveTheSameCargo && player->getAvailableSpace()) { + return Response::lack_of_space; + } + + // Finding cargo in the store + auto StoredCargo = findCargoInStore(cargo); + + if (!StoredCargo->get()) { return Response::lack_of_cargo; } - unload(cargo, amount); - player->setMoney(player.get()->getMoney() - amount * cargo->getBasePrice()); - return Response::done; -} + // not enough cargo amount in the store -Response Store::sell(std::shared_ptr cargo, size_t amount, std::shared_ptr player) { + if (StoredCargo->get()->getAmount() < amount) { + return Response::lack_of_cargo; + } - player ->setMoney(player->getMoney() + cargo->getPrice()); - player-> -} + // Too expenisive for player + if (player->getMoney() < amount * (StoredCargo->get()->getPrice())) { + return Response::lack_of_money; + } + // Dopisać co sie stanie gdy dojedzie do sprzedaży. + // Unload ze Statku. Load na statek. + // Jak sie zmieni konto gracza. + //if() +} +void Store::load(const std::shared_ptr& cargo) { + auto storeCargo = findCargoInStore(cargo); + if (!cargo) { + return; + } + if (storeCargo != stock_.end()) { + **storeCargo += cargo->getAmount(); + return; + } + /// Dopracuj co sie dziej jeżeli to nie jest nullptr, ale nie ma go w wektorze stock_; +} -constexpr int minAmount = 0; -constexpr int maxAmount = 20; -void Store::randomizeCargo(std::vector> storeCargos) { - std::random_device rd; - std::mt19937 gen(rd()); - std::uniform_int_distribution<> randomAmount(minAmount, maxAmount); +void Store::unload(const std::shared_ptr& cargo) { + if (!cargo) { + return; + } + auto storeCargo = findCargoInStore(cargo); - for (auto& cargo : storeCargos) { - *cargo += randomAmount(gen); - stock_.push_back(cargo); + if (storeCargo != stock_.end()) { + **storeCargo -= cargo->getAmount(); } } -void Store::generateCargo() { - std::vector> posibleStoreCargos { - std::make_shared(Fruit("Apple", 0, 50, 10)), - std::make_shared(Fruit("Orange", 0, 30, 10)), - std::make_shared(Fruit("Banana", 0, 50, 10)), - std::make_shared(Fruit("Peach", 0, 50, 10)), - std::make_shared(Fruit("Water melon", 0, 50, 10)), - std::make_shared(Item("Ivory", 0, 200, Rarity::rare)), - std::make_shared(Item("Thor's hummer", 0, 200, Rarity::legendary)), - std::make_shared(Item("Gold neckle", 0, 200, Rarity::rare)), - std::make_shared(Item("Souron's ring", 0, 200, Rarity::legendary)), - std::make_shared(Item("Philosopher's stone", 0, 200, Rarity::legendary)), - std::make_shared(Item("Knife and fork", 0, 200, Rarity::common)), - std::make_shared(Alcohol("Johny Daniels", 0, 10, 50)), - std::make_shared(Alcohol("Jack Walker", 0, 10, 50)), - std::make_shared(Alcohol("Vodka", 0, 10, 40)), - std::make_shared(Alcohol("Beer", 0, 10, 8)), - std::make_shared(Alcohol("Gin", 0, 10, 20)), - std::make_shared(Alcohol("Pina Colada", 0, 10, 15))}; - - randomizeCargo(posibleStoreCargos); +std::ostream& operator<<(std::ostream& os, const Store& store) { + int counter = 1; + for (const auto& el : store.stock_) { + os << "|" << std::setw(20); + os << std::setfill(' ') << std::setw(20) << "ID: " << counter; + os << std::setw(20) << " TYPE OF CARGO: " << el->getName(); + os << std::setw(20) << " AMOUNT: " << el->getAmount(); + os << std::setw(20) << " PRICE: " << el->getPrice() << '\n'; + counter++; + } + os << "|" << std::setfill('*') << std::setw(100) << "|\n"; + + return os; +} +constexpr size_t AMOUNT_MIN = 5; +constexpr size_t AMOUNT_MAX = 150; +constexpr size_t POWER_MIN = 10; +constexpr size_t POWER_MAX = 90; +constexpr size_t DAY_MIN = 5; +constexpr size_t DAY_MAX = 17; +constexpr size_t PRICE_MIN = 5; +constexpr size_t PRICE_MAX = 145; + +void Store::generateDefaultCargo() { + std::random_device rm; + std::mt19937 gr(rm()); + + std::uniform_int_distribution<> amountR(AMOUNT_MIN, AMOUNT_MAX); + std::uniform_int_distribution<> powerR(POWER_MIN, POWER_MAX); + std::uniform_int_distribution<> dayR(DAY_MIN, DAY_MAX); + std::uniform_int_distribution<> priceR(PRICE_MIN, PRICE_MAX); + + stock_.reserve(12); + + stock_.push_back(std::make_shared("BUH", amountR(gr), priceR(gr), powerR(gr))); + stock_.push_back(std::make_shared("Jack Walker", amountR(gr), priceR(gr), powerR(gr))); + stock_.push_back(std::make_shared("Johny Daniels", amountR(gr), priceR(gr), powerR(gr))); + stock_.push_back(std::make_shared("Żubrówkeczka", amountR(gr), priceR(gr), powerR(gr))); + stock_.push_back(std::make_shared("Peach", amountR(gr), priceR(gr), dayR(gr))); + stock_.push_back(std::make_shared("Strawbarry", amountR(gr), priceR(gr), dayR(gr))); + stock_.push_back(std::make_shared("Water melon", amountR(gr), priceR(gr), dayR(gr))); + stock_.push_back(std::make_shared("Coconat", amountR(gr), priceR(gr), dayR(gr))); + stock_.push_back(std::make_shared("Fork", amountR(gr), priceR(gr), Rarity::common)); + stock_.push_back(std::make_shared("Philosopher's stone", amountR(gr), priceR(gr), Rarity::legendary)); + stock_.push_back(std::make_shared("necklace", amountR(gr), priceR(gr), Rarity::rare)); + stock_.push_back(std::make_shared("Ivory", amountR(gr), priceR(gr), Rarity::rare)); } \ No newline at end of file diff --git a/shm/store.hpp b/shm/store.hpp index 9655bd87c..aed66fe36 100644 --- a/shm/store.hpp +++ b/shm/store.hpp @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -16,33 +17,25 @@ enum class Response { class Store { public: - Store() = default; - Store(size_t availableSpace, size_t money) - : availableSpace_(availableSpace), money_(money){}; + Store(); - Response buy(std::shared_ptr cargo, size_t amount, std::shared_ptr player); - Response sell(std::shared_ptr cargo, size_t amount, std::shared_ptr player); + Response buy(std::shared_ptr cargo, size_t amount, Player* player); + Response sell(std::shared_ptr cargo, size_t amount, Player* player); - std::string getResponse(const Response& response); - // std::shared_ptr getCargo(const size_t ) const; + std::vector>::iterator findCargoInStore(const std::shared_ptr& wantedCargo); + // function loading cargos to store + void load(const std::shared_ptr& cargo); + // function ulnoading cargos from store + void unload(const std::shared_ptr& cargo); + void addCargosOfStore(std::shared_ptr); + // void ereasFromCargosOfStore(std::shared_ptr); - void generateCargo(); - void randomizeCargo(std::vector> storeCargos); - - void load(std::shared_ptr cargo, size_t amount); - void unload(std::shared_ptr cargo, size_t amount); - std::vector>::iterator findCargo(const std::shared_ptr& cargo); - - size_t getSpace() const { return availableSpace_; }; - size_t getMoney() const { return money_; }; - - void setSpace(size_t availableSpace) { availableSpace_ = availableSpace; }; - void setMoney(size_t money) { money_ = money; }; + friend std::ostream& operator<<(std::ostream& os, const Store& store); + std::vector> getCargoOfStore() const { return stock_; }; private: - std::vector> stock_; - size_t availableSpace_; - size_t money_; + std::vector> stock_{}; + void generateDefaultCargo(); }; From d3dafd9e1b1582bb4aed1b8b44ecf7e078e3d0c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Sun, 1 Aug 2021 20:18:27 +0200 Subject: [PATCH 057/100] Another chaneges in Piradise --- shm/alcohol.cpp | 2 +- shm/alcohol.hpp | 2 +- .../CMakeFiles/SHM_2077.dir/CXX.includecache | 68 +----- .../CMakeFiles/SHM_2077.dir/alcohol.cpp.o | Bin 12368 -> 12544 bytes shm/build/CMakeFiles/SHM_2077.dir/cargo.cpp.o | Bin 7520 -> 7552 bytes .../CMakeFiles/SHM_2077.dir/depend.internal | 3 + shm/build/CMakeFiles/SHM_2077.dir/depend.make | 3 + shm/build/CMakeFiles/SHM_2077.dir/fruit.cpp.o | Bin 13912 -> 14328 bytes shm/build/CMakeFiles/SHM_2077.dir/item.cpp.o | Bin 12248 -> 12656 bytes shm/build/CMakeFiles/SHM_2077.dir/main.cpp.o | Bin 223536 -> 225216 bytes .../CMakeFiles/SHM_2077.dir/player.cpp.o | Bin 36248 -> 38728 bytes shm/build/CMakeFiles/SHM_2077.dir/ship.cpp.o | Bin 53656 -> 213520 bytes shm/build/CMakeFiles/SHM_2077.dir/store.cpp.o | Bin 320632 -> 308792 bytes shm/build/SHM_2077 | Bin 221912 -> 238472 bytes shm/cargo.hpp | 2 +- shm/fruit.hpp | 1 + shm/item.hpp | 2 + shm/main.cpp | 59 +++-- shm/player.cpp | 43 +++- shm/player.hpp | 5 +- shm/ship.cpp | 81 +++++-- shm/ship.hpp | 8 +- shm/store.cpp | 211 +++++++++++------- shm/store.hpp | 19 +- 24 files changed, 304 insertions(+), 205 deletions(-) diff --git a/shm/alcohol.cpp b/shm/alcohol.cpp index 52a1cae8a..add2b2f5e 100644 --- a/shm/alcohol.cpp +++ b/shm/alcohol.cpp @@ -16,7 +16,7 @@ Cargo& Alcohol::operator+=(size_t amount) { Cargo& Alcohol::operator-=(size_t amount) { if (amount <= amount_) { amount_ -= amount; - } else { + } else if(amount_ < 0){ std::cerr << "Amount of cargo can not be under 0!!!\n"; } return *this; diff --git a/shm/alcohol.hpp b/shm/alcohol.hpp index 157e8caa7..ad75738c7 100644 --- a/shm/alcohol.hpp +++ b/shm/alcohol.hpp @@ -21,7 +21,7 @@ class Alcohol : public Cargo { std::string getName() const override { return name_; }; size_t getAmount() const override { return amount_; }; size_t getBasePrice() const override { return basePrice_; }; - + void setAmount(const size_t& amount) override { amount_ = amount;}; private: size_t percentage_; }; \ No newline at end of file diff --git a/shm/build/CMakeFiles/SHM_2077.dir/CXX.includecache b/shm/build/CMakeFiles/SHM_2077.dir/CXX.includecache index 46c03d4e7..f8640214a 100644 --- a/shm/build/CMakeFiles/SHM_2077.dir/CXX.includecache +++ b/shm/build/CMakeFiles/SHM_2077.dir/CXX.includecache @@ -6,67 +6,23 @@ #IncludeRegexTransform: -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/alcohol.hpp -cargo.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp - /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp string - -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/coordinates.hpp -cmath -- - -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/fruit.hpp -cargo.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp - -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/island.hpp -coordinates.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/coordinates.hpp - -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/item.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.cpp +player.hpp +/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.hpp iostream - -cargo.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp - -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/main.cpp -iomanip +numeric - -iostream +utility - -memory -- -alcohol.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/alcohol.hpp cargo.hpp /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp -fruit.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/fruit.hpp -island.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/island.hpp -item.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/item.hpp -map.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/map.hpp -player.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.hpp ship.hpp /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.hpp -store.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/store.hpp - -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/map.hpp -vector -- -functional -- -random -- -memory -- /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.hpp memory @@ -82,17 +38,3 @@ vector cargo.hpp /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/store.hpp -iomanip -- -iostream -- -memory -- -vector -- -cargo.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp -player.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.hpp - diff --git a/shm/build/CMakeFiles/SHM_2077.dir/alcohol.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/alcohol.cpp.o index b39c0047aae7b8a9c36101b52ed5da5e3b263722..f16c3ef7e4a20b0a4ca4c6f56b92af1f8cb6a757 100644 GIT binary patch delta 3498 zcmZ`+Z){Ul6o2>aUmxqXwp;i5)^=qb-P(0qH--*`ts7%f6>vj07_vw}a0+Zrh9WWt zAt5ZNSvfJmM3b5D0gMDmzi2WHCjOZsarFZj6BQF7Krk8M%QQ|r=e>LJZ9YzN?>YDU ze&^gj@7~+nsVxV$j)glflu7rcMYmd{CTWGl&~{@f#zMA=#e+q|Qi6qiUMxN=ek`R} z$QMW+DpZ2JQJ#D^7OCcq8m?dXF!X*3Y2 zJ>PLeZp+K=vFF&ZNh4kXdA0!C3^lfZe1JiJPC%o+>I_x~Be|;AA=Su6pKE#7`%%l1L)s7L za^3Jtt_S+<9;mRpC@*W|y)A`G`)bIyds0X2k2Af?e#He-dD+YjSMpZla0B^jZiFY5 zqy)6)hcwy}hSYNnxQIcV)JT4edEsons#OY#l;GA^I>!sYB1#*_5ZVwV*L5@i1qCta zE^t9dL3W$|5p|R{BgsCTW>6|O8dwX)DB3QZu8=Nn9EY+3b>s?0S)qXp!{5!>A8_5s z{WH8x8<=D@_gCOpN%Sp)dIR@w<^GF0DoF$AFOwUpcvF&S7m^%9ASi{52G&QpRS1I) zl?Cy^6pxc8~*PqSAbW-$w6rD{>cAzOFFOcjZ&00@cD^nbH@5EDHqbY)YuTRdL#?|9_Vy38uYY1U zJYO`K8g#eG+M}4^?|X)bwWGXEa7p!QcAo!Rt_i`OB?mB%`hu8Lny)d=S)$D@@?ACg zmzw;yAK-WK2~i$1-w(feR4r&ipEPCbgjP+h?>3>EOlU9nlX}MFe~zL;J2^_*VY3O{ zW6IVG!<#!y#WG+(!N+^1CP+>p%1wV>NNgiP}OH z3dMHe^;QTSN+#=uVV}x2z*?UQKA(qe)Z0A*&!SbuE7DiUI^av+6};Nt_j_U7Z*y+p z`-T`)x*_dXVajhC8J~xU+u)+fzXl_Oh@B}iiCf~PiSH6*)HWibkP=^z+SP_Xr~_n+ zJAaKSfXw}=*Gk)2>CpClL$%LtT4#MKQxkzAnS~%-R;fLLLG(jRUynrS5IBPdT4wV8 zhjwx_Xo)5{+G2^OIl9skb(S0b((Vxb2_1sY@<5rmN@?t?ELrI?HF5$G5^=W>n{Ew} zOK4gLHFA=uC}wsOwgpRQgZ;72oy%@~AbY}s{gfp;xoGa}HdwM~yi*oApSEN>LvwTX zSh6su`*(|+YoI9$K8__xEF@QQT7s?MtsHs_romW;}D6&-Qg0WWAgw5FdT`>KV-s(k!JZuCfthD z!jBP$@(KVqohR-|(dh*TB z@ED|{akfg2SxAp*l!T%5ans9We#|!Ltd6r`NMgNDkL=@-<}XWcm-&(JfU_pf&Oj&D zryyB_hnYu;HK9#I577CMpFtX9KE>WVVT%yD>E?&rg3j7Fy9>$Mcox3Sr5s4c3gJd= zSoUVX+p%J0ny*_Q)W-rf#Ymx#-h#y}lf1i0)1g=j!?CD)BY$vB@t)~tx&h9|qDq+G U{m0-=tWg=Gzf&mHP+u4L7t>iH;s5{u delta 3505 zcmZ`+ZA?>F7{2F1p@mC0)Hy$fh&av0$N0#MaZ|En zkr+4iO*UDK!OR#JU83oJ_{T-I#Z0$kE?ee)%tSV`xhzih$C%87z3;u}=#|trIepK4 zp67kfx##Pi9^7$r`%(Xaqdw`0wd%E2X_@qb#IRn7#fgRLMOaiUE-V@r!rWMjv6Nsb z#X?va77wp`x%Y8jfqnt6SE8?yq+_4>N-3-sOC6``xsRYvI1wj9=2J@Qrt z1DR#+{nTN!_4E_B=e;Md$jOj9luRp}wZ16dW$@5i&a9x>Jj@SEZ5zODcfgb_gXP1t z#R+F@wJZnz%_@bTZH`PoCSg(mc(PPhM0{GB8svv;vtojaLbXluvJvXm>u;fHLemMa~Xsl&$f88t~tlR~=wakiT^=(RJ78|oDY z3@J;XNO2{cHo zszx(zSS$C}bd4KAxvEBM$gmLif9Px(bmxYc7e2^UgFYeAS0g=4U~%9p3fsUdd*RJo zweJePa4Oc4X5bsS`ZV{Y9Dl^0X+e_Jal8t9M5a$X`ewxQaL@`Yt3<8s0N3v0+Hds; zN%{zJpDad4lB^t0B3>?4@Fz(+#B0l7I!|To^lLeV8oeF1MMo#;H*zZ-GfIIck+d_( z?&>&gD8ur&f1t<8knd2npoLs{X+?^@j5+0mPP$GKA0R$xny=L}oMTcuUI3~sB%S_4OJm>BG;guQmD2bws# zlaD;b5vy?gbrYUIOtdq^aU3?O&4mAD!dIK{M<#s9Q@njHo$oJ7WFqEjo`Wwo;cK2I zntK6`xm30Xrd?`ez@&M_q#5Hlxy>egKSeda%h?)awwTz%rfgeH_)@HsQO_5_Hcic; zb5smm4a{g2S|cK2$i$)}{Zi6vG+9EA$GUFBHoy^Nmt!q;Y^ht-q9&F;9b^>S32Tt; z#F~gDC7Hp#?N(v6TVdNEhPBIXMWgK{v|@wNY^{UaZq-7)kRTE+V9k(ItZH$3=H};~ z)Gg3ltitkQC0{HlLSv+WNJ#Q=y2tiZ`)1<&_ms7>&vCU~i&f^C4h5|wSFHg)ZH z7Ap+d(%H*8zKISDm@2V4#d%DL$*7gJaHZrHTqsrYTj>#vri{u)xKygbolHpbalN_M=$;}dI_`c9i&^h$Vo zGZn7-(<_mDveHRSD_^LD*VTb@BtxgA3g0g9Q;M9MQmSK>o*eUAb--tpLEAkZe;#Hk8=dFqwup9zuQKXkF4R>8 zWk|yOQr2`y) z@nFQrAs%U-mf94NV=#>|M}XBw*&&G4tAQyVDF%sNlIB1*Y2XPWkhZ}7N>E9HZ0yAOH|Ch5f3jhEB diff --git a/shm/build/CMakeFiles/SHM_2077.dir/cargo.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/cargo.cpp.o index f27d4426927cc6e308ca580a5e4964c3743a5891..eff5d98610ce620c5b3bd7fe371828f806a3f16f 100644 GIT binary patch delta 188 zcmW;Eu?>Pi7{&4X?l8eh!KiR(LMO4ZGho7LETnY=J6EvN4M<)?>joGqY;*#{2##Q< zXXV9L{F2xFpUH8NN1XL9(}zGQ?CK-#7G+g!zinD#>kO;X$y%Iss_!5rDiC`&Dxtj% zWmx(1_R?YhLQBOx7fFzkheM$F f+QL~3&;*fb>p;;S@kr4O2V;ra_<}Zuh{uy3Lqa&J delta 177 zcmZp$eqc30gXw|DMy+$qn^+F8Fgk2L$nl+H^94ZFsPWkP|}?B1v8K{xsgM7@&`!`#toAtrRvSVbJJQK)y zAUOG!l-=YRQVNqTq!pNc2u_ZYwqq2SJX6}9$(m*ILT0haAEY&aW=qQ0GbT)q1d>2W VAh}}lO(6MVvZSm%(5OgRbpRz3H7Ec8 diff --git a/shm/build/CMakeFiles/SHM_2077.dir/depend.internal b/shm/build/CMakeFiles/SHM_2077.dir/depend.internal index a7a6f5820..50cdd97a4 100644 --- a/shm/build/CMakeFiles/SHM_2077.dir/depend.internal +++ b/shm/build/CMakeFiles/SHM_2077.dir/depend.internal @@ -46,7 +46,10 @@ CMakeFiles/SHM_2077.dir/player.cpp.o /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.hpp /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.hpp CMakeFiles/SHM_2077.dir/ship.cpp.o + /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/alcohol.hpp /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp + /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/fruit.hpp + /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/item.hpp /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.cpp /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.hpp CMakeFiles/SHM_2077.dir/store.cpp.o diff --git a/shm/build/CMakeFiles/SHM_2077.dir/depend.make b/shm/build/CMakeFiles/SHM_2077.dir/depend.make index c8ae0466c..57aa2109e 100644 --- a/shm/build/CMakeFiles/SHM_2077.dir/depend.make +++ b/shm/build/CMakeFiles/SHM_2077.dir/depend.make @@ -45,7 +45,10 @@ CMakeFiles/SHM_2077.dir/player.cpp.o: ../player.cpp CMakeFiles/SHM_2077.dir/player.cpp.o: ../player.hpp CMakeFiles/SHM_2077.dir/player.cpp.o: ../ship.hpp +CMakeFiles/SHM_2077.dir/ship.cpp.o: ../alcohol.hpp CMakeFiles/SHM_2077.dir/ship.cpp.o: ../cargo.hpp +CMakeFiles/SHM_2077.dir/ship.cpp.o: ../fruit.hpp +CMakeFiles/SHM_2077.dir/ship.cpp.o: ../item.hpp CMakeFiles/SHM_2077.dir/ship.cpp.o: ../ship.cpp CMakeFiles/SHM_2077.dir/ship.cpp.o: ../ship.hpp diff --git a/shm/build/CMakeFiles/SHM_2077.dir/fruit.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/fruit.cpp.o index cab147e7e024cea42f1d2015b0cd095385258083..a6963031a0c917742e12f076293fb7c83583d130 100644 GIT binary patch delta 4294 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 S6nL+-tvJXVO?fa7_5KIzdJMk+ diff --git a/shm/build/CMakeFiles/SHM_2077.dir/item.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/item.cpp.o index 1aa0dc4086e17f8bfce3fdb310b150be9b694936..77cb25e2cd372385f3edb48f3739b8e4df75a7a1 100644 GIT binary patch delta 3706 zcmaJ^eN0nV6o0o++5*LvuDtj91uc|P3lxk~QKT@f7U%cGp;Hku+?IunMoe^(sav*4 zmL-^zIsedv?Ju*<48|Wr6BkG{aWTt2vMlu zQUix3Q|~3QIZ)y2)~dnL^SLV+>^B#U-Z5WcI@O>giyZHo*4XoQ6%WW3SP06vJ?zh+n5u!ncYxmtAi!Fis`Ksi?Mbsw638e)pY%b8?Hn!6R#hlYX8L;1#@L|Dvc(XtoeOS=Nc~$4Jjqi zVP9WPi)jeWGs$A?D5%7Y7ksARYkL@na^J2p4_J!gtu$$d)CfJqIZ^3WQo{NK{UJWd zv*W+y{s0^+QuVTF7Htlan;Z?o=S6XNScF3=%3DJl#t=E#T_(y+8^{p8yl5W8R;)OM zS5cl5))5FUQd_@5)?BD9$MEkE(Q;%Z!vB`=OS~LTEK*qwJzKj)%ugcby3lW+KWL); zY6xvOlGEr9DY)f@oD@0$P6y?r=Lw#_iQ7l%S$`>))VK&Z8#R($>E2o`!?neJwq& zA9}4Xx&7Im(VH$UC%jZJu_V3+9zQW;mGI-_D^1{6<7^{rQdONcvy4gNs*@0REA%7U zfR;q}XP^ymAqzc~fo_9as>-&*KWbdxn~~vr5kocXgVkD`bwH1%>iaWds7Dg2VHuo5 zbOl<4e#0OF6Hd^V&JDop^e?h$Yo5Y~r=!&yowqt-0o1 z_~w8SkBjZ5irDkh$P3fR9_}0V`oQNYgd5&p@kjWw&kN%|tA0FVEonXFsT_izeX4#v z1KonClsn+`tL#r`@vHS#qM?v-am#pAXZXpKKf4=8)BaB8?dv|=SKG0B^IRw3yMWb1 zlO4w6P2UR_OqMzPjp(6cL5o5n^-NS<(7_tvL{K%)_|BTeljXBVy?dc(=Z)M18Hx)(pXBq_KUE{zr-I#S$N zPrr)z_G{E{=Z1Oub@+^&DMRr|rmKfM=W_B7h+a&nGer}<8x>U}!#?6qfiR`*4bD_?Zq3m1;(q%DwOn-^&a_llk3Z`lz<_Cn**M=R0 z`r3$&*M5aAa9N!xhap`X33(BvO0&^3Vt!sW!KHAZhHkxlJIcO<9up;BqZ}xW*j9o$ o9&;-;?oc$LSL5qaNXBC}t=K>Y;YfUW{&D(;h*F&cE5m{R0Of-5tpET3 delta 3106 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 AZvX%Q diff --git a/shm/build/CMakeFiles/SHM_2077.dir/player.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/player.cpp.o index 35ec55070f607d57d9545305721ebe6b4ab91062..ec5e085960c1c0ecc5415cdb9a12f75cd8b1c5b0 100644 GIT binary patch literal 38728 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 N%b|TTnSL|a{{urD2IK$$ literal 36248 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 diff --git a/shm/build/CMakeFiles/SHM_2077.dir/ship.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/ship.cpp.o index bbc37b082af873046089eada8980115b0f1bc88a..3ed4e55f3d791503f207b971b0572017ade11871 100644 GIT binary patch literal 213520 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 diff --git a/shm/build/CMakeFiles/SHM_2077.dir/store.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/store.cpp.o index 6fababa5b8e4b9ae522e1c70871d4408b1f16eb9..e322b604466cf74536c53691c9738cfaca8a8500 100644 GIT binary patch literal 308792 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 NjfX1q%gbBl|34SOd2Rpz literal 320632 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 z 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 ZtN7kuGk&|#7ZQKdNQLH;e|VVu{|EhOP*4B> diff --git a/shm/build/SHM_2077 b/shm/build/SHM_2077 index bb40d58cd7ff752fe6c3d742308bf067d2dc8d23..67d5e4fc4e575bbe7019c076a97dc0950366f9d8 100755 GIT binary patch literal 238472 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 LOAD{cargo1, cargo2, cargo3}; auto s1 = std::make_shared(500, 20, 14, 5, "Black Widow", 1, LOAD); - Player pla1(s1, 5000); + Player pla1(s1, 5000, 0); std::cout << '\n'; - pla1.printCargo(); - - // s1->removeFromShip(cargo1, 45); - s1->addAmountToShip(cargo1, 50); - - - pla1.printCargo(); + // pla1.printCargo(); + // std::cout << s1; + Store s; - + auto car1 = s.getCargoOfStore()[1]; +// std::cout << '\n'; - Store s; + // std::cout << "\nile miejsca na statku :" << pla1.getAvailableSpace() << '\n'; + std::cout << car1->getName() << " " << car1->getAmount() << " : " << car1->getBasePrice() << '\n'; + std::cout << '\n'; + std::cout << '\n'; std::cout << s; - // // std::cout << "Pieniadze Store: " << stor1.getMoney() << '\n'; + // pla1.getShip()->load(car1, 20); + // pla1.getShip()->load(car1, 20); + // pla1.getShip()->load(car1, 20); + // pla1.getShip()->unload(car1, 0); + + // std::cout << "Ile miejsca na statku " << pla1.getAvailableSpace() << '\n'; - // // std::cout << stor1; - // auto cargo4 = std::make_shared(Alcohol("Pina Colada", 0, 10, 15)); - // auto cargo5 = std::make_shared(Fruit("Peach", 0, 50, 10)); + // pla1.printCargo(); - // std::cout << "Przed załdunkeim: \n\n\n"; - // std::cout << stor1; - // auto cargo6 = std::make_shared(Item("Noz", 0, 50, Rarity::common)); - // // stor1.addCargo(cargo4, 20); - // // stor1.addCargo(cargo4, 20); - // // stor1.addCargo(cargo4, 20); - // stor1.addCargo(cargo5, 1); - // std::cout << "po załądunku'\n\n\n" << stor1; +// std::cout << "Kasa gracza: " << pla1.getMoney() << '\n'; +// s.sell(car1, 80, &pla1); +// std::cout << "Kasa gracza: " << pla1.getMoney() << '\n'; + +// std::cout << '\n'; +// std::cout << '\n'; +// pla1.printCargo(); +// std::cout << '\n'; +// std::cout << '\n'; +// std::cout << s; +// // s.buy(car1, 20, &pla1); +// std::cout << '\n'; +// std::cout << '\n'; +// pla1.printCargo(); +// // s.sell(car1, 50, &pla1); +// std::cout << s; +// std::cout << '\n'; +// std::cout << "\nile miejsca na statku :" << pla1.getAvailableSpace() << '\n'; +// // s.buy(car1, 20, &pla1); + return 0; } diff --git a/shm/player.cpp b/shm/player.cpp index 1ab0d3d30..43e25db03 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -1,11 +1,11 @@ +#include "player.hpp" #include #include #include #include "cargo.hpp" -#include "player.hpp" #include "ship.hpp" -Player::Player(std::shared_ptr ship, const size_t& money) +Player::Player(std::shared_ptr ship, const size_t& money, size_t getAvailableSpace) : ship_(std::move(ship)), money_(money) { countAvailableSpace(); } @@ -28,18 +28,21 @@ std::shared_ptr Player::getCargo(size_t index) const { } void Player::countAvailableSpace() { - if(!ship_) { + if (!ship_) { return; - } + }; + std::cout << " jestem w sumowaniu miejsca\n"; + auto sum = std::accumulate(ship_->getCargosVector().begin(), + ship_->getCargosVector().end(), + 0, + [](size_t amount, const auto& cargo) + { return amount += cargo->getAmount();} + ); const auto& cargoVector = ship_->getCapacity(); - size_t sum = 0; - for (int i = 0; i < ship_->getCargosVector().size(); i++) { - sum += ship_->getCargo(i)->getAmount(); - } + availableSpace_ = cargoVector - sum; } - void Player::printCargo() const { if (!ship_) { return; @@ -54,4 +57,26 @@ void Player::printCargo() const { for (const auto& el : ship_->getCargosVector()) { std::cout << i++ << " Name: " << el->getName() << ",\t\t Amount: " << el->getAmount() << ",\t\t Base proce: " << el->getBasePrice() << '\n'; } +} + +void Player::sell(std::shared_ptr& cargo, const size_t& amount) { + if (!cargo) { + return; + } + std::cout << "wchodze w sprzedaż\n"; + ship_->unload(cargo, amount); + std::cout << "Stan pieniążków: " << getMoney() << '\n'; + money_ += cargo->getPrice() * amount; + + std::cout << "Stan pieniążków: " << getMoney() << '\n'; +} + +void Player::buy(std::shared_ptr& cargo,const size_t& amount) { + if (!cargo) { + return; + } + std::cout << "Dupa:\n"; + getShip()->load(cargo, amount); + + money_ -= cargo->getPrice() * amount; } \ No newline at end of file diff --git a/shm/player.hpp b/shm/player.hpp index 56ea840e4..1c746b703 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -6,7 +6,7 @@ class Ship; // Class responsible for managing Player in the game. class Player { public: - Player(std::shared_ptr ship, const size_t& money); + Player(std::shared_ptr ship, const size_t& money, size_t getAvailableSpace); size_t getMoney() const; size_t getAvailableSpace() const; @@ -18,6 +18,9 @@ class Player { void setMoney(size_t money) {money_ = money;}; + void sell( std::shared_ptr& cargo,const size_t& amount); + void buy ( std::shared_ptr& cargo,const size_t& amount); + private: std::shared_ptr ship_; size_t money_; diff --git a/shm/ship.cpp b/shm/ship.cpp index a8c5e537d..5fa4de695 100644 --- a/shm/ship.cpp +++ b/shm/ship.cpp @@ -1,9 +1,13 @@ #include +#include #include #include +#include "alcohol.hpp" #include "cargo.hpp" +#include "fruit.hpp" +#include "item.hpp" #include "ship.hpp" // Class responsible for managing Ships in the game. @@ -61,33 +65,84 @@ void Ship::setName(const std::string& name) { name_ = name; } - std::vector>::iterator Ship::findMatchCargo(std::shared_ptr cargo) { - auto findCargo = std::find_if(cargos_.begin(), - cargos_.end(), - [&cargo](const auto& searchCargo) - { return searchCargo->getName() == cargo->getName(); }); +std::vector>::iterator Ship::findMatchCargo(std::shared_ptr cargo) { + return std::find_if(cargos_.begin(), + cargos_.end(), + [&cargo](const auto& searchCargo) + { return searchCargo->getName() == cargo->getName(); }); } -void Ship::removeFromShip(std::shared_ptr cargo, size_t amount) { +void Ship::unload(std::shared_ptr& cargo, size_t amount) { auto findCargo = findMatchCargo(cargo); - if(!findCargo->get() ) { + if(findCargo == cargos_.end()) { return; } + std::cout << "Jestem w unload\n"; + + if (findCargo != cargos_.end()) { - **findCargo -= amount; + findCargo->get()->setAmount(findCargo->get()->getAmount() - amount); + std::cout << "Jestem w po odjeciu towaru ze statku\n"; } + + } -void Ship::addAmountToShip(std::shared_ptr cargo, size_t amount) { +void Ship::load(std::shared_ptr& cargo, size_t amount) { auto findCargo = findMatchCargo(cargo); - if(!findCargo->get() ) { - return; - } + if (findCargo != cargos_.end()) { + std::cout << "Dlaczego w to wchodze\n"; if (capacity_ > cargo->getAmount()) { - **findCargo += amount; + + /// I just want to know, is the line below corrected wrote? OR should I write it, in another way? + findCargo->get()->setAmount(findCargo->get()->getAmount() + amount); + } else { std::cerr << "Not enuogh space on ship!!!!\n"; } } + if (findCargo == cargos_.end()) { + // cargos_.push_back(cargo); + + addCargo(cargo, amount); + + std::cout << "Gdzie jestem2\n"; + } + + std::cout << "wychodze z funkcji Ship::load\n"; +} + +// std::ostream& operator<<(std::ostream& os, const std::shared_ptr ship) { +// int counter = 1; +// for (const auto el : ship->getCargosVector()) { +// os << "|" << std::setw(20); +// os << std::setfill(' ') << std::setw(20) << "ID: " << counter; +// os << std::setw(20) << " TYPE OF CARGO: " << el->getName(); +// os << std::setw(20) << " AMOUNT: " << el->getAmount(); +// os << std::setw(20) << " PRICE: " << el->getPrice() << '\n'; +// counter++; +// } +// os << "|" << std::setfill('*') << std::setw(100) << "|\n"; + +// return os; +// } + +void Ship::addCargo(std::shared_ptr& cargo, size_t amount) { + if (Alcohol* alcohol = dynamic_cast(cargo.get())) { + cargos_.push_back(std::make_shared(alcohol->getName(), + amount, + alcohol->getBasePrice(), + alcohol->getPercentage())); + } else if(Fruit* fruit = dynamic_cast(cargo.get())){ + cargos_.push_back(std::make_shared(fruit->getName(), + amount, + fruit->getBasePrice(), + fruit->getExpirationDate())); + } else if(Item* item =dynamic_cast(cargo.get())) { + cargos_.push_back(std::make_shared(item->getName(), + amount, + item->getPrice(), + item->getRarity())); + } } \ No newline at end of file diff --git a/shm/ship.hpp b/shm/ship.hpp index 09f8220b3..5557e86f0 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -38,9 +38,13 @@ class Ship std::vector>::iterator findMatchCargo(std::shared_ptr cargo); void setName(const std::string& name); + + void addCargo(std::shared_ptr& cargo, size_t amount); - void removeFromShip(std::shared_ptr cargo, size_t amount); - void addAmountToShip(std::shared_ptr cargo, size_t amount); + void unload(std::shared_ptr& cargo, size_t amount); + void load(std::shared_ptr& cargo, size_t amount); + + friend std::ostream& operator<<(std::ostream& os, const Ship& ship); private: size_t capacity_; diff --git a/shm/store.cpp b/shm/store.cpp index e8b5221bd..4d896b2a0 100644 --- a/shm/store.cpp +++ b/shm/store.cpp @@ -10,67 +10,82 @@ #include #include -Store::Store() - { - generateDefaultCargo(); - }; - -std::vector>::iterator Store::findCargoInStore(const std::shared_ptr& wantedCargo) { - auto find = std::find_if(stock_.begin(), - stock_.end(), - [wantedCargo](const std::shared_ptr& cargo) { return *cargo == *wantedCargo; }); -} - -Response Store::buy(std::shared_ptr cargo, size_t amount, Player* player) { - if (!cargo || !amount || !player) { - return Response::lack_of_cargo; - } - - std::shared_ptr playerShip = player->getShip(); - if (!playerShip) { - return Response::lack_of_cargo; - } - - auto soldPlayerCargo = playerShip->getCargosVector()[0]; - for (const auto el : playerShip->getCargosVector()) { - auto loopCargo = el; - - if (loopCargo == cargo) { - if (loopCargo->getAmount() < amount) { - return Response::lack_of_space; - } - } - soldPlayerCargo = loopCargo; - } - - if (!soldPlayerCargo) { - return Response::lack_of_cargo; - } - - // player sell - - if (soldPlayerCargo->getAmount() < amount) { - auto playerPrice = soldPlayerCargo->getAmount() * soldPlayerCargo->getPrice(); - - //playerShip->; // funkcja wyładunku ze statku napisać.; - int a = 3; - player->setMoney(player->getMoney() + playerPrice); - } -} - -Response Store::sell(std::shared_ptr cargo, size_t amount, Player* player) { +Store::Store() { + generateDefaultCargo(); +}; + +// std::shared_ptr Store::findCargoInStore(const std::string& name) { +// auto find = std::find_if(stock_.begin(), +// stock_.end(), +// [&name](const auto& cargo) { return cargo->getName() == name; }); +// if (find != stock_.end()) { +// return find->get() +// } + +// return nullptr; +// } + +// std::shared_ptr Store::findCargoInStore(const std::shared_ptr wantedCargo) { +// for( const auto el : stock_) { +// if(*el == *wantedCargo){ +// return el; +// } +// } +// } + +// Response Store::buy(std::shared_ptr& cargo, size_t amount, Player* player) { +// if (!cargo || !amount || !player) { +// return Response::lack_of_cargo; +// } + +// std::shared_ptr playerShip = player->getShip(); +// if (!playerShip) { +// return Response::lack_of_cargo; +// } + +// auto soldPlayerCargo = playerShip->getCargosVector()[0]; +// for (const auto el : playerShip->getCargosVector()) { +// auto loopCargo = el; + +// if (loopCargo == cargo) { +// if (loopCargo->getAmount() < amount) { +// return Response::lack_of_space; +// } +// } +// soldPlayerCargo = loopCargo; +// } + +// if (!soldPlayerCargo) { +// return Response::lack_of_cargo; +// } + +// player->sell(cargo, amount); +// unloadShip(cargo,amount); + +// return Response::done; + +// } + +Response Store::sell(std::shared_ptr& cargo, size_t amount, Player* player) { //lack of an amount of cargo in store + + std::cout << "nazwa ładunku: " << cargo->getName() << " ilosć ładunku: " << amount << " ile miejsc wolnych u zawodnika: " << player->getAvailableSpace() << '\n'; if (!cargo || !amount) { + std::cout << " lack of cargo !cargo || !amount\n"; Response::lack_of_cargo; } //lack of space on player's ship if (!player) { + std::cout << " I am here !player'\n"; + return Response::lack_of_space; } std::shared_ptr playerShip = player->getShip(); if (!playerShip) { + std::cout << " I am here . NO player ship'\n"; + return Response::lack_of_space; } @@ -78,61 +93,56 @@ Response Store::sell(std::shared_ptr cargo, size_t amount, Player* player bool playerHaveTheSameCargo = false; auto playerCargo = playerShip->getCargosVector(); for (const auto& el : playerCargo) { - if (el == cargo) { + if (el->getName() == cargo->getName()) { playerHaveTheSameCargo = true; break; } } - if (!playerHaveTheSameCargo && player->getAvailableSpace()) { + if (!playerHaveTheSameCargo && !player->getAvailableSpace()) { + std::cout << " I am here brak miejsca'\n"; + ; + return Response::lack_of_space; } // Finding cargo in the store - auto StoredCargo = findCargoInStore(cargo); + // auto StoredCargo = findCargoInStore(cargo); + // std::cout << - if (!StoredCargo->get()) { - return Response::lack_of_cargo; - } + // std::cout << "nazw stored Cargo: " << StoredCargo->get()->getAmount(); + // if (StoredCargo != stock_.end()) { + // std::cout << " I am here NIE ma cargo w store'\n" << StoredCargo->get()->getName() << '\n'; - // not enough cargo amount in the store + // return Response::lack_of_cargo; + // } - if (StoredCargo->get()->getAmount() < amount) { - return Response::lack_of_cargo; - } + // // not enough cargo amount in the store - // Too expenisive for player + // if (StoredCargo->get()->getAmount() < amount) { + // std::cout << " I am here'\n"; - if (player->getMoney() < amount * (StoredCargo->get()->getPrice())) { - return Response::lack_of_money; - } + // return Response::lack_of_cargo; + // } + + // // Too expenisive for player + + // if (player->getMoney() < amount * (StoredCargo->get()->getPrice())) { + // std::cout << " I am here'\n"; + + // return Response::lack_of_money; + // } // Dopisać co sie stanie gdy dojedzie do sprzedaży. // Unload ze Statku. Load na statek. // Jak sie zmieni konto gracza. - //if() -} -void Store::load(const std::shared_ptr& cargo) { - auto storeCargo = findCargoInStore(cargo); - if (!cargo) { - return; - } - if (storeCargo != stock_.end()) { - **storeCargo += cargo->getAmount(); - return; - } - /// Dopracuj co sie dziej jeżeli to nie jest nullptr, ale nie ma go w wektorze stock_; + player->buy(cargo, amount); + loadShip(cargo, amount); + return Response::done; + } -void Store::unload(const std::shared_ptr& cargo) { - if (!cargo) { - return; - } - auto storeCargo = findCargoInStore(cargo); - if (storeCargo != stock_.end()) { - **storeCargo -= cargo->getAmount(); - } -} + std::ostream& operator<<(std::ostream& os, const Store& store) { int counter = 1; @@ -180,4 +190,37 @@ void Store::generateDefaultCargo() { stock_.push_back(std::make_shared("Philosopher's stone", amountR(gr), priceR(gr), Rarity::legendary)); stock_.push_back(std::make_shared("necklace", amountR(gr), priceR(gr), Rarity::rare)); stock_.push_back(std::make_shared("Ivory", amountR(gr), priceR(gr), Rarity::rare)); +} + + +void Store::loadShip(std::shared_ptr& cargo, size_t& amount) { + if(!cargo){ + return; + } + bool flag = false; + for (const auto& el : stock_) { + if( el->getName() == cargo->getName()) + { + el->setAmount(el->getAmount() - amount); + flag = true; + break; + } + } + if(!flag) { + std::cout << "dupa: \n"; + } +} + +void Store::unloadShip(std::shared_ptr& cargo, size_t& amount) { + if(!cargo){ + return; + } + for (const auto& el : stock_) { + if( el->getName() == cargo->getName()) + { + el->setAmount(el->getAmount() + amount); + std::cout << "dodało do store'\n"; + break; + } + } } \ No newline at end of file diff --git a/shm/store.hpp b/shm/store.hpp index aed66fe36..318b27674 100644 --- a/shm/store.hpp +++ b/shm/store.hpp @@ -19,18 +19,21 @@ class Store { public: Store(); - Response buy(std::shared_ptr cargo, size_t amount, Player* player); - Response sell(std::shared_ptr cargo, size_t amount, Player* player); + Response buy(std::shared_ptr& cargo, size_t amount, Player* player); + Response sell(std::shared_ptr& cargo, size_t amount, Player* player); - std::vector>::iterator findCargoInStore(const std::shared_ptr& wantedCargo); + std::shared_ptr findCargoInStore(const std::string& name); // function loading cargos to store - void load(const std::shared_ptr& cargo); - // function ulnoading cargos from store - void unload(const std::shared_ptr& cargo); + // void load(const std::shared_ptr& cargo); + // // function ulnoading cargos from store + // void unload(const std::shared_ptr& cargo); void addCargosOfStore(std::shared_ptr); - // void ereasFromCargosOfStore(std::shared_ptr); - + + void loadShip(std::shared_ptr& cargo, size_t& amount); + void unloadShip(std::shared_ptr& cargo, size_t& amount); + // void ereasFromCargosOfStore(std::shared_ptr); + // std::shared_ptr findCargoInStore(const std::shared_ptr wantedCargo); friend std::ostream& operator<<(std::ostream& os, const Store& store); std::vector> getCargoOfStore() const { return stock_; }; From 65e8c68c60d8f75511565c0342be7343d4f740fb Mon Sep 17 00:00:00 2001 From: Jakub Kubalka Date: Mon, 2 Aug 2021 20:00:55 +0200 Subject: [PATCH 058/100] Next day in Store class --- shm/CMakeLists.txt | 3 +- shm/store.cpp | 247 +++++++++++++++++++++++++++++++++++++++++++++ shm/store.hpp | 46 +++++++++ 3 files changed, 295 insertions(+), 1 deletion(-) create mode 100644 shm/store.cpp create mode 100644 shm/store.hpp diff --git a/shm/CMakeLists.txt b/shm/CMakeLists.txt index f28247c5b..27f7728e6 100644 --- a/shm/CMakeLists.txt +++ b/shm/CMakeLists.txt @@ -8,7 +8,8 @@ set(FILES player.cpp ship.cpp coordinates.cpp - cargo.cpp) + cargo.cpp + ) add_executable(${PROJECT_NAME} main.cpp ${FILES}) target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -Wpedantic -Wconversion -O0) \ No newline at end of file diff --git a/shm/store.cpp b/shm/store.cpp new file mode 100644 index 000000000..49412fa09 --- /dev/null +++ b/shm/store.cpp @@ -0,0 +1,247 @@ +#include "store.hpp" +//#include "alcohol.hpp" +//#include "fruit.hpp" +//#include "item.hpp" +#include "player.hpp" +#include "ship.hpp" + +#include +#include +#include +#include + +Store::Store() { + generateDefaultCargo(); +}; + +// std::shared_ptr Store::findCargoInStore(const std::string& name) { +// auto find = std::find_if(stock_.begin(), +// stock_.end(), +// [&name](const auto& cargo) { return cargo->getName() == name; }); +// if (find != stock_.end()) { +// return find->get() +// } + +// return nullptr; +// } + +// std::shared_ptr Store::findCargoInStore(const std::shared_ptr wantedCargo) { +// for( const auto el : stock_) { +// if(*el == *wantedCargo){ +// return el; +// } +// } +// } + +// Response Store::buy(std::shared_ptr& cargo, size_t amount, Player* player) { +// if (!cargo || !amount || !player) { +// return Response::lack_of_cargo; +// } + +// std::shared_ptr playerShip = player->getShip(); +// if (!playerShip) { +// return Response::lack_of_cargo; +// } + +// auto soldPlayerCargo = playerShip->getCargosVector()[0]; +// for (const auto el : playerShip->getCargosVector()) { +// auto loopCargo = el; + +// if (loopCargo == cargo) { +// if (loopCargo->getAmount() < amount) { +// return Response::lack_of_space; +// } +// } +// soldPlayerCargo = loopCargo; +// } + +// if (!soldPlayerCargo) { +// return Response::lack_of_cargo; +// } + +// player->sell(cargo, amount); +// unloadShip(cargo,amount); + +// return Response::done; + +// } + +Response Store::sell(std::shared_ptr& cargo, size_t amount, Player* player) { + //lack of an amount of cargo in store + + std::cout << "nazwa ładunku: " << cargo->getName() << " ilosć ładunku: " << amount << " ile miejsc wolnych u zawodnika: " << player->getAvailableSpace() << '\n'; + if (!cargo || !amount) { + std::cout << " lack of cargo !cargo || !amount\n"; + Response::lack_of_cargo; + } + + //lack of space on player's ship + if (!player) { + std::cout << " I am here !player'\n"; + + return Response::lack_of_space; + } + + std::shared_ptr playerShip = player->getShip(); + if (!playerShip) { + std::cout << " I am here . NO player ship'\n"; + + return Response::lack_of_space; + } + + // Check if player can take cargo on ship + bool playerHaveTheSameCargo = false; + auto playerCargo = playerShip->getCargosVector(); + for (const auto& el : playerCargo) { + if (el->getName() == cargo->getName()) { + playerHaveTheSameCargo = true; + break; + } + } + if (!playerHaveTheSameCargo && !player->getAvailableSpace()) { + std::cout << " I am here brak miejsca'\n"; + ; + + return Response::lack_of_space; + } + + // Finding cargo in the store + // auto StoredCargo = findCargoInStore(cargo); + // std::cout << + + // std::cout << "nazw stored Cargo: " << StoredCargo->get()->getAmount(); + // if (StoredCargo != stock_.end()) { + // std::cout << " I am here NIE ma cargo w store'\n" << StoredCargo->get()->getName() << '\n'; + + // return Response::lack_of_cargo; + // } + + // // not enough cargo amount in the store + + // if (StoredCargo->get()->getAmount() < amount) { + // std::cout << " I am here'\n"; + + // return Response::lack_of_cargo; + // } + + // // Too expenisive for player + + // if (player->getMoney() < amount * (StoredCargo->get()->getPrice())) { + // std::cout << " I am here'\n"; + + // return Response::lack_of_money; + // } + + // Dopisać co sie stanie gdy dojedzie do sprzedaży. + // Unload ze Statku. Load na statek. + // Jak sie zmieni konto gracza. + player->buy(cargo, amount); + loadShip(cargo, amount); + return Response::done; + +} + + + + +std::ostream& operator<<(std::ostream& os, const Store& store) { + int counter = 1; + for (const auto& el : store.stock_) { + os << "|" << std::setw(20); + os << std::setfill(' ') << std::setw(20) << "ID: " << counter; + os << std::setw(20) << " TYPE OF CARGO: " << el->getName(); + os << std::setw(20) << " AMOUNT: " << el->getAmount(); + os << std::setw(20) << " PRICE: " << el->getPrice() << '\n'; + counter++; + } + os << "|" << std::setfill('*') << std::setw(100) << "|\n"; + + return os; +} +constexpr size_t AMOUNT_MIN = 5; +constexpr size_t AMOUNT_MAX = 150; +constexpr size_t POWER_MIN = 10; +constexpr size_t POWER_MAX = 90; +constexpr size_t DAY_MIN = 5; +constexpr size_t DAY_MAX = 17; +constexpr size_t PRICE_MIN = 5; +constexpr size_t PRICE_MAX = 145; + +void Store::generateDefaultCargo() { + std::random_device rm; + std::mt19937 gr(rm()); + + std::uniform_int_distribution<> amountR(AMOUNT_MIN, AMOUNT_MAX); + std::uniform_int_distribution<> powerR(POWER_MIN, POWER_MAX); + std::uniform_int_distribution<> dayR(DAY_MIN, DAY_MAX); + std::uniform_int_distribution<> priceR(PRICE_MIN, PRICE_MAX); + + stock_.reserve(12); + + stock_.push_back(std::make_shared("BUH", amountR(gr), priceR(gr), powerR(gr))); + stock_.push_back(std::make_shared("Jack Walker", amountR(gr), priceR(gr), powerR(gr))); + stock_.push_back(std::make_shared("Johny Daniels", amountR(gr), priceR(gr), powerR(gr))); + stock_.push_back(std::make_shared("Żubrówkeczka", amountR(gr), priceR(gr), powerR(gr))); + stock_.push_back(std::make_shared("Peach", amountR(gr), priceR(gr), dayR(gr))); + stock_.push_back(std::make_shared("Strawbarry", amountR(gr), priceR(gr), dayR(gr))); + stock_.push_back(std::make_shared("Water melon", amountR(gr), priceR(gr), dayR(gr))); + stock_.push_back(std::make_shared("Coconat", amountR(gr), priceR(gr), dayR(gr))); + stock_.push_back(std::make_shared("Fork", amountR(gr), priceR(gr), Rarity::common)); + stock_.push_back(std::make_shared("Philosopher's stone", amountR(gr), priceR(gr), Rarity::legendary)); + stock_.push_back(std::make_shared("necklace", amountR(gr), priceR(gr), Rarity::rare)); + stock_.push_back(std::make_shared("Ivory", amountR(gr), priceR(gr), Rarity::rare)); +} + + +void Store::loadShip(std::shared_ptr& cargo, size_t& amount) { + if(!cargo){ + return; + } + bool flag = false; + for (const auto& el : stock_) { + if( el->getName() == cargo->getName()) + { + el->setAmount(el->getAmount() - amount); + flag = true; + break; + } + } + if(!flag) { + std::cout << "dupa: \n"; + } +} + +void Store::unloadShip(std::shared_ptr& cargo, size_t& amount) { + if(!cargo){ + return; + } + for (const auto& el : stock_) { + if( el->getName() == cargo->getName()) + { + el->setAmount(el->getAmount() + amount); + std::cout << "dodało do store'\n"; + break; + } + } +} + +void Store::nextDay() { + for (auto cargo : Store::getCargoOfStore()) { + if(cargo == nullptr) { + break; + } else { + srand(time(NULL)); + if(rand() % 2 == 1) { + *cargo -= (rand() % 10) + 1; + if (cargo->getAmount() < 0) { + *cargo -= cargo->getAmount(); + } + if (cargo->getAmount() > 500) { + *cargo -= cargo->getAmount(); + } + } else { + *cargo += (rand() % 10) + 1; + } + } + } +} diff --git a/shm/store.hpp b/shm/store.hpp new file mode 100644 index 000000000..f7d4777cd --- /dev/null +++ b/shm/store.hpp @@ -0,0 +1,46 @@ +#pragma once + +#include +#include +#include +#include + +#include "cargo.hpp" +#include "player.hpp" + +enum class Response { + done, + lack_of_money, + lack_of_cargo, + lack_of_space +}; + +class Store { +public: + Store(); + + Response buy(std::shared_ptr& cargo, size_t amount, Player* player); + Response sell(std::shared_ptr& cargo, size_t amount, Player* player); + + std::shared_ptr findCargoInStore(const std::string& name); + // function loading cargos to store + // void load(const std::shared_ptr& cargo); + // // function ulnoading cargos from store + // void unload(const std::shared_ptr& cargo); + void addCargosOfStore(std::shared_ptr); + + + void loadShip(std::shared_ptr& cargo, size_t& amount); + void unloadShip(std::shared_ptr& cargo, size_t& amount); + // void ereasFromCargosOfStore(std::shared_ptr); + // std::shared_ptr findCargoInStore(const std::shared_ptr wantedCargo); + + friend std::ostream& operator<<(std::ostream& os, const Store& store); + std::vector> getCargoOfStore() const { return stock_; }; + + void nextDay(); + +private: + std::vector> stock_{}; + void generateDefaultCargo(); +}; \ No newline at end of file From a34c2d672de292a318ade6fa824a29affd21eb60 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Sun, 8 Aug 2021 18:14:58 +0200 Subject: [PATCH 059/100] Alcohol class added --- shm/alcohol.cpp | 27 +++++++++++++++++++++++++++ shm/alcohol.hpp | 26 ++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 shm/alcohol.cpp create mode 100644 shm/alcohol.hpp diff --git a/shm/alcohol.cpp b/shm/alcohol.cpp new file mode 100644 index 000000000..52a1cae8a --- /dev/null +++ b/shm/alcohol.cpp @@ -0,0 +1,27 @@ +#include "alcohol.hpp" +#include + +Alcohol::Alcohol(const std::string& name, size_t amount, size_t basePrice, size_t percentage) + : Cargo(name, amount, basePrice), percentage_(percentage) {} ; + +size_t Alcohol::getPrice() const { + return static_cast(basePrice_ * static_cast(percentage_)/static_cast(MaxPercentage)); +} + +Cargo& Alcohol::operator+=(size_t amount) { + amount_ += amount; + return *this; +} + +Cargo& Alcohol::operator-=(size_t amount) { + if (amount <= amount_) { + amount_ -= amount; + } else { + std::cerr << "Amount of cargo can not be under 0!!!\n"; + } + return *this; +} + +bool Alcohol::operator==(const Cargo& cargo) const { + return cargo.getName() == getName(); +} \ No newline at end of file diff --git a/shm/alcohol.hpp b/shm/alcohol.hpp new file mode 100644 index 000000000..0867676de --- /dev/null +++ b/shm/alcohol.hpp @@ -0,0 +1,26 @@ +#pragma once +#include "cargo.hpp" + +constexpr size_t MaxPercentage{96}; +//Class responsible for managing Alcohol in the game. +class Alcohol : public Cargo { +public: + Alcohol(const std::string& name, size_t amount, size_t basePrice, size_t percentage); + ~Alcohol() override{}; + + Cargo& operator+=(size_t amount); + Cargo& operator-=(size_t amount); + bool operator==(const Cargo&) const; + + size_t getPercentage() const { return percentage_; }; + void setPercentage(size_t percentage) { percentage_ = percentage; }; + + //Methods override from Cargo class. + size_t getPrice() const override; + std::string getName() const override { return name_; }; + size_t getAmount() const override { return amount_; }; + size_t getBasePrice() const override { return basePrice_; }; + +private: + size_t percentage_; +}; \ No newline at end of file From 2885a0774fec74d419ef171a2d8511f2d1717e53 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Sun, 8 Aug 2021 18:39:02 +0200 Subject: [PATCH 060/100] set some methods from cargo as virtual --- shm/cargo.cpp | 21 +++++++++++---------- shm/cargo.hpp | 13 ++++++++++--- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/shm/cargo.cpp b/shm/cargo.cpp index ba23f57ae..db90a176a 100644 --- a/shm/cargo.cpp +++ b/shm/cargo.cpp @@ -6,7 +6,7 @@ Cargo::Cargo(std::string name, size_t amount, size_t basePrice) , amount_(amount) , basePrice_(basePrice) {} - + Cargo& Cargo::operator+=(size_t amount) { amount_ += amount; return *this; @@ -25,12 +25,13 @@ bool Cargo::operator== (const Cargo& cargo) const { return cargo.getName() == name_; } -const std::string& Cargo::getName() const { - return name_; -} -size_t Cargo::getAmount() const { - return amount_; -} -size_t Cargo::getBasePrice() const { - return basePrice_; -} +// const std::string& Cargo::getName() const { +// std::string Cargo::getName() const { +// return name_; +// } +// size_t Cargo::getAmount() const { +// return amount_; +// } +// size_t Cargo::getBasePrice() const { +// return basePrice_; +// } diff --git a/shm/cargo.hpp b/shm/cargo.hpp index f5158ca66..cbd9a6be7 100644 --- a/shm/cargo.hpp +++ b/shm/cargo.hpp @@ -5,14 +5,21 @@ class Cargo { public: Cargo(std::string name, size_t amount, size_t basePrice); + virtual ~Cargo() = default; Cargo& operator+=(size_t amount); Cargo& operator-=(size_t amount); bool operator==(const Cargo&) const; - const std::string& getName() const; - size_t getAmount() const; - size_t getBasePrice() const; + // const std::string& getName() const; + // size_t getAmount() const; + // size_t getBasePrice() const; + virtual size_t getPrice() const = 0; + virtual std::string getName() const = 0; + virtual size_t getAmount() const = 0; + virtual size_t getBasePrice() const = 0; + + void setAmount(const size_t amount) { amount_ = amount; }; protected: std::string name_; From 79e04859f99703d572b46fd813dab8e89573adaa Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Mon, 9 Aug 2021 21:26:52 +0200 Subject: [PATCH 061/100] Fruit class added --- shm/fruit.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ shm/fruit.hpp | 29 +++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 shm/fruit.cpp create mode 100644 shm/fruit.hpp diff --git a/shm/fruit.cpp b/shm/fruit.cpp new file mode 100644 index 000000000..995fffb53 --- /dev/null +++ b/shm/fruit.cpp @@ -0,0 +1,43 @@ +#include "fruit.hpp" +#include + +Fruit::Fruit(const std::string& name, size_t amount, size_t basePrice, size_t expirationDate) + : Cargo(name, amount, basePrice), expirationDate_(expirationDate) {}; + +size_t Fruit::getPrice() const { + return static_cast( basePrice_ * static_cast(purchaseDate_)/ expirationDate_); +} + +Cargo& Fruit::operator+=(size_t amount) { + amount_ += amount; + return *this; +} + +Cargo& Fruit::operator-=(size_t amount) { + if (amount <= amount_) { + amount_ -= amount; + } else { + std::cerr << "Amount of cargo can not be under 0!!!\n"; + } + return *this; +} + +bool Fruit::operator==(const Cargo& cargo) const { + return cargo.getName() == getName(); +} + +Fruit& Fruit::operator--() { + if(purchaseDate_ <= 0) { + purchaseDate_ = 0; + } + purchaseDate_--; + return *this; +} + +Fruit Fruit::operator--(int) { + if(purchaseDate_ <= 0) { + purchaseDate_ = 0; + } + purchaseDate_--; + return *this; +} \ No newline at end of file diff --git a/shm/fruit.hpp b/shm/fruit.hpp new file mode 100644 index 000000000..02d820a7c --- /dev/null +++ b/shm/fruit.hpp @@ -0,0 +1,29 @@ +#pragma once + +#include "cargo.hpp" +//Class responsible for managing Fruit in the game. + +class Fruit : public Cargo { +public: + Fruit(const std::string& name, size_t amount, size_t basePrice, size_t expirationDate); + ~Fruit() override {}; + + Cargo& operator+=(size_t amount); + Cargo& operator-=(size_t amount); + bool operator==(const Cargo&) const; + virtual Fruit& operator--(); + virtual Fruit operator--(int); + + //Methods override from Cargo class. + virtual size_t getPrice() const override; + virtual std::string getName() const override { return name_; }; + size_t getAmount() const override { return amount_; }; + size_t getBasePrice() const override { return basePrice_; }; + + size_t getExpirationDate() const { return expirationDate_; }; + size_t getPurchaseData() const { return purchaseDate_; }; + +protected: + size_t expirationDate_; + size_t purchaseDate_ = expirationDate_; +}; \ No newline at end of file From 3912043ef912a040192ae5c2b87b0a4b7876e019 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Mon, 9 Aug 2021 21:29:49 +0200 Subject: [PATCH 062/100] Item class added --- shm/item.cpp | 26 ++++++++++++++++++++++++++ shm/item.hpp | 30 ++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 shm/item.cpp create mode 100644 shm/item.hpp diff --git a/shm/item.cpp b/shm/item.cpp new file mode 100644 index 000000000..1ebfee8ff --- /dev/null +++ b/shm/item.cpp @@ -0,0 +1,26 @@ +#include "item.hpp" + +Item::Item(const std::string& name, size_t amount, size_t basePrice, Rarity rarity) + : Cargo(name, amount, basePrice), rarity_(rarity){}; + +// size_t Item::getPrice() const { +// return basePrice_ * static_cast(rarity_); +// } + +Cargo& Item::operator+=(size_t amount) { + amount_ += amount; + return *this; +} + +Cargo& Item::operator-=(size_t amount) { + if (amount <= amount_) { + amount_ -= amount; + } else { + std::cerr << "Amount of cargo can not be under 0!!!\n"; + } + return *this; +} + +bool Item::operator==(const Cargo& cargo) const { + return cargo.getName() == getName(); +} \ No newline at end of file diff --git a/shm/item.hpp b/shm/item.hpp new file mode 100644 index 000000000..5946bf4e2 --- /dev/null +++ b/shm/item.hpp @@ -0,0 +1,30 @@ +#pragma once + +#include +#include "cargo.hpp" + +enum class Rarity { + common = 1, + rare = 5, + epic = 10, + legendary = 20 +}; +//Class responsible for managing Items in the game. +class Item : public Cargo { +public: + Item(const std::string& name, size_t amount, size_t basePrice, Rarity rarity); + ~Item() override{}; + + Cargo& operator+=(const size_t amount); + Cargo& operator-=(const size_t amount); + bool operator==(const Cargo&) const; + + //Methods override from Cargo class. + size_t getPrice() const override { return basePrice_ * static_cast(rarity_); }; + std::string getName() const override { return name_; }; + size_t getAmount() const override { return amount_; }; + size_t getBasePrice() const override { return basePrice_; }; + +private: + Rarity rarity_; +}; \ No newline at end of file From a1fb936ab3baba42e4c8ac93a4bfee611f01ba94 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Mon, 9 Aug 2021 22:48:01 +0200 Subject: [PATCH 063/100] added fruit, alcohol, item cpp files do CMakeLists.txt --- shm/CMakeLists.txt | 5 ++++- shm/main.cpp | 27 +++++++++++++++------------ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/shm/CMakeLists.txt b/shm/CMakeLists.txt index f28247c5b..f7bce205d 100644 --- a/shm/CMakeLists.txt +++ b/shm/CMakeLists.txt @@ -8,7 +8,10 @@ set(FILES player.cpp ship.cpp coordinates.cpp - cargo.cpp) + cargo.cpp + alcohol.cpp + fruit.cpp + item.cpp) add_executable(${PROJECT_NAME} main.cpp ${FILES}) target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -Wpedantic -Wconversion -O0) \ No newline at end of file diff --git a/shm/main.cpp b/shm/main.cpp index 44c35f8d4..b2e394ede 100644 --- a/shm/main.cpp +++ b/shm/main.cpp @@ -1,27 +1,30 @@ #include #include #include "cargo.hpp" +#include "alcohol.hpp" +#include "fruit.hpp" +#include "item.hpp" #include "player.hpp" #include "ship.hpp" #include "island.hpp" #include "map.hpp" int main() { - auto cargo1 = std::make_shared("cebula", 30, 2); - auto cargo2 = std::make_shared("drewno", 10, 20); - auto cargo3 = std::make_shared("wino", 10, 100); - auto cargo4 = std::make_shared("miedz", 10, 1); - auto cargo5 = std::make_shared("rubin", 10, 2); - auto cargo6 = std::make_shared("cebula", 3, 10); - auto cargo7 = std::make_shared("Woda", 200, 500); + // auto cargo1 = std::make_shared("cebula", 30, 2); + // auto cargo2 = std::make_shared("drewno", 10, 20); + auto cargo3 = std::make_shared("wino", 10, 100, 12); + // auto cargo4 = std::make_shared("miedz", 10, 1); + // auto cargo5 = std::make_shared("rubin", 10, 2); + // auto cargo6 = std::make_shared("cebula", 3, 10); + // auto cargo7 = std::make_shared("Woda", 200, 500); - std::vector> LOAD {cargo1, cargo2 , cargo3, cargo4, cargo5, cargo6, cargo7}; + // std::vector> LOAD {cargo1, cargo2 , cargo3, cargo4, cargo5, cargo6, cargo7}; - auto s1 = std::make_shared(500, 20, 14, 5, "Black Widow", 1, LOAD); - Player pla1(s1, 5000); - std::cout << '\n'; + // auto s1 = std::make_shared(500, 20, 14, 5, "Black Widow", 1, LOAD); + // Player pla1(s1, 5000); + // std::cout << '\n'; - pla1.printCargo(); + // pla1.printCargo(); return 0; } \ No newline at end of file From 5c3f05ab96a5c11b62e18eac4d2d940c4b88dedb Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Tue, 10 Aug 2021 00:01:06 +0200 Subject: [PATCH 064/100] Operators in Cargo class: += -= == set as virtual. Classes Alcohol, Item, Fruit provide override operators. --- shm/alcohol.hpp | 6 +++--- shm/cargo.hpp | 6 +++--- shm/fruit.hpp | 6 +++--- shm/item.hpp | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/shm/alcohol.hpp b/shm/alcohol.hpp index 0867676de..e0b7db83f 100644 --- a/shm/alcohol.hpp +++ b/shm/alcohol.hpp @@ -8,9 +8,9 @@ class Alcohol : public Cargo { Alcohol(const std::string& name, size_t amount, size_t basePrice, size_t percentage); ~Alcohol() override{}; - Cargo& operator+=(size_t amount); - Cargo& operator-=(size_t amount); - bool operator==(const Cargo&) const; + Cargo& operator+=(size_t amount) override; + Cargo& operator-=(size_t amount) override; + bool operator==(const Cargo&) const override; size_t getPercentage() const { return percentage_; }; void setPercentage(size_t percentage) { percentage_ = percentage; }; diff --git a/shm/cargo.hpp b/shm/cargo.hpp index cbd9a6be7..1bebb5fdc 100644 --- a/shm/cargo.hpp +++ b/shm/cargo.hpp @@ -7,9 +7,9 @@ class Cargo { Cargo(std::string name, size_t amount, size_t basePrice); virtual ~Cargo() = default; - Cargo& operator+=(size_t amount); - Cargo& operator-=(size_t amount); - bool operator==(const Cargo&) const; + virtual Cargo& operator+=(size_t amount); + virtual Cargo& operator-=(size_t amount); + virtual bool operator==(const Cargo&) const; // const std::string& getName() const; // size_t getAmount() const; diff --git a/shm/fruit.hpp b/shm/fruit.hpp index 02d820a7c..df14fb430 100644 --- a/shm/fruit.hpp +++ b/shm/fruit.hpp @@ -8,9 +8,9 @@ class Fruit : public Cargo { Fruit(const std::string& name, size_t amount, size_t basePrice, size_t expirationDate); ~Fruit() override {}; - Cargo& operator+=(size_t amount); - Cargo& operator-=(size_t amount); - bool operator==(const Cargo&) const; + Cargo& operator+=(size_t amount) override; + Cargo& operator-=(size_t amount) override; + bool operator==(const Cargo&) const override; virtual Fruit& operator--(); virtual Fruit operator--(int); diff --git a/shm/item.hpp b/shm/item.hpp index 5946bf4e2..10156a37f 100644 --- a/shm/item.hpp +++ b/shm/item.hpp @@ -15,9 +15,9 @@ class Item : public Cargo { Item(const std::string& name, size_t amount, size_t basePrice, Rarity rarity); ~Item() override{}; - Cargo& operator+=(const size_t amount); - Cargo& operator-=(const size_t amount); - bool operator==(const Cargo&) const; + Cargo& operator+=(const size_t amount) override; + Cargo& operator-=(const size_t amount) override; + bool operator==(const Cargo&) const override; //Methods override from Cargo class. size_t getPrice() const override { return basePrice_ * static_cast(rarity_); }; From 3d7c55ca246853d3ced8206dbf658f12ec020909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Meisnerowski?= Date: Thu, 12 Aug 2021 14:37:17 +0200 Subject: [PATCH 065/100] added files time.cpp/hpp iObserver.hpp --- shm/iObserver.hpp | 6 ++++++ shm/time.cpp | 25 +++++++++++++++++++++++++ shm/time.hpp | 26 ++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 shm/iObserver.hpp create mode 100644 shm/time.cpp create mode 100644 shm/time.hpp diff --git a/shm/iObserver.hpp b/shm/iObserver.hpp new file mode 100644 index 000000000..6482860b1 --- /dev/null +++ b/shm/iObserver.hpp @@ -0,0 +1,6 @@ +#pragma once + +class IObserver { +public: + virtual void nextDay() = 0; +}; \ No newline at end of file diff --git a/shm/time.cpp b/shm/time.cpp new file mode 100644 index 000000000..cef99b12b --- /dev/null +++ b/shm/time.cpp @@ -0,0 +1,25 @@ +#include +#include +#include +#include "iObserver.hpp" +#include "time.hpp" + + + +void Time::attachObeserver(std::shared_ptr observer) { + observerList_.push_back(observer); +} + +void Time::detachObeserver(std::shared_ptr observer) { + observerList_.remove(observer); +} + +void Time::onTimeChange() { + notifyAll(); +} + +void Time::notifyAll() { + for(auto it = observerList_.begin(); it != observerList_.end(); ++it) { + (*it)->nextDay(); + } +} diff --git a/shm/time.hpp b/shm/time.hpp new file mode 100644 index 000000000..da5a6e642 --- /dev/null +++ b/shm/time.hpp @@ -0,0 +1,26 @@ +#pragma once +#include +#include +#include "iObserver.hpp" + +class IObserver; + +class Time { +public: + Time(); + ~Time() = default; + + + void attachObeserver(std::shared_ptr ); + + void detachObeserver(std::shared_ptr ); + + void onTimeChange(); + + +private: + std::list> observerList_; + + void notifyAll(); + +}; \ No newline at end of file From a52b949d169c4bd7fbcdd44c2af408386bce4a83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Meisnerowski?= Date: Thu, 12 Aug 2021 14:38:57 +0200 Subject: [PATCH 066/100] Revert "added files time.cpp/hpp iObserver.hpp" This reverts commit 3d7c55ca246853d3ced8206dbf658f12ec020909. --- shm/iObserver.hpp | 6 ------ shm/time.cpp | 25 ------------------------- shm/time.hpp | 26 -------------------------- 3 files changed, 57 deletions(-) delete mode 100644 shm/iObserver.hpp delete mode 100644 shm/time.cpp delete mode 100644 shm/time.hpp diff --git a/shm/iObserver.hpp b/shm/iObserver.hpp deleted file mode 100644 index 6482860b1..000000000 --- a/shm/iObserver.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -class IObserver { -public: - virtual void nextDay() = 0; -}; \ No newline at end of file diff --git a/shm/time.cpp b/shm/time.cpp deleted file mode 100644 index cef99b12b..000000000 --- a/shm/time.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include -#include -#include -#include "iObserver.hpp" -#include "time.hpp" - - - -void Time::attachObeserver(std::shared_ptr observer) { - observerList_.push_back(observer); -} - -void Time::detachObeserver(std::shared_ptr observer) { - observerList_.remove(observer); -} - -void Time::onTimeChange() { - notifyAll(); -} - -void Time::notifyAll() { - for(auto it = observerList_.begin(); it != observerList_.end(); ++it) { - (*it)->nextDay(); - } -} diff --git a/shm/time.hpp b/shm/time.hpp deleted file mode 100644 index da5a6e642..000000000 --- a/shm/time.hpp +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once -#include -#include -#include "iObserver.hpp" - -class IObserver; - -class Time { -public: - Time(); - ~Time() = default; - - - void attachObeserver(std::shared_ptr ); - - void detachObeserver(std::shared_ptr ); - - void onTimeChange(); - - -private: - std::list> observerList_; - - void notifyAll(); - -}; \ No newline at end of file From c2e251d9c248fe686fc418ed5d84271146dafe08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Meisnerowski?= Date: Thu, 12 Aug 2021 14:46:44 +0200 Subject: [PATCH 067/100] added new files time.cpp hpp iObserver.hpp --- shm/iObserver.hpp | 6 ++++++ shm/time.cpp | 25 +++++++++++++++++++++++++ shm/time.hpp | 26 ++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 shm/iObserver.hpp create mode 100644 shm/time.cpp create mode 100644 shm/time.hpp diff --git a/shm/iObserver.hpp b/shm/iObserver.hpp new file mode 100644 index 000000000..6482860b1 --- /dev/null +++ b/shm/iObserver.hpp @@ -0,0 +1,6 @@ +#pragma once + +class IObserver { +public: + virtual void nextDay() = 0; +}; \ No newline at end of file diff --git a/shm/time.cpp b/shm/time.cpp new file mode 100644 index 000000000..cef99b12b --- /dev/null +++ b/shm/time.cpp @@ -0,0 +1,25 @@ +#include +#include +#include +#include "iObserver.hpp" +#include "time.hpp" + + + +void Time::attachObeserver(std::shared_ptr observer) { + observerList_.push_back(observer); +} + +void Time::detachObeserver(std::shared_ptr observer) { + observerList_.remove(observer); +} + +void Time::onTimeChange() { + notifyAll(); +} + +void Time::notifyAll() { + for(auto it = observerList_.begin(); it != observerList_.end(); ++it) { + (*it)->nextDay(); + } +} diff --git a/shm/time.hpp b/shm/time.hpp new file mode 100644 index 000000000..da5a6e642 --- /dev/null +++ b/shm/time.hpp @@ -0,0 +1,26 @@ +#pragma once +#include +#include +#include "iObserver.hpp" + +class IObserver; + +class Time { +public: + Time(); + ~Time() = default; + + + void attachObeserver(std::shared_ptr ); + + void detachObeserver(std::shared_ptr ); + + void onTimeChange(); + + +private: + std::list> observerList_; + + void notifyAll(); + +}; \ No newline at end of file From b1a3aca57dae71d7c1b33835421624f2f0b8908f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Meisnerowski?= Date: Thu, 12 Aug 2021 15:10:48 +0200 Subject: [PATCH 068/100] modification time.cpp/hpp changed shared_ptr to ptr, cargo class Inheritance to class IObserwer, added time parameter to Cargo constructor and time variable --- shm/cargo.cpp | 7 +++++-- shm/cargo.hpp | 7 +++++-- shm/time.cpp | 4 ++-- shm/time.hpp | 6 +++--- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/shm/cargo.cpp b/shm/cargo.cpp index ba23f57ae..37536cfd6 100644 --- a/shm/cargo.cpp +++ b/shm/cargo.cpp @@ -1,11 +1,14 @@ #include #include "cargo.hpp" -Cargo::Cargo(std::string name, size_t amount, size_t basePrice) +Cargo::Cargo(std::string name, size_t amount, size_t basePrice, Time *time) : name_(name) , amount_(amount) , basePrice_(basePrice) - {} + , time_(time) + { + time->attachObeserver(this); + } Cargo& Cargo::operator+=(size_t amount) { amount_ += amount; diff --git a/shm/cargo.hpp b/shm/cargo.hpp index f5158ca66..3c1fc2286 100644 --- a/shm/cargo.hpp +++ b/shm/cargo.hpp @@ -1,10 +1,12 @@ #pragma once #include +#include "time.hpp" +#include "iObserver.hpp" //Class responsible for managing Cargo in the game. -class Cargo { +class Cargo : public IObserver { public: - Cargo(std::string name, size_t amount, size_t basePrice); + Cargo(std::string name, size_t amount, size_t basePrice, Time *time); Cargo& operator+=(size_t amount); Cargo& operator-=(size_t amount); @@ -18,4 +20,5 @@ class Cargo { std::string name_; size_t amount_; size_t basePrice_; + Time* time_; }; diff --git a/shm/time.cpp b/shm/time.cpp index cef99b12b..afa1bf26e 100644 --- a/shm/time.cpp +++ b/shm/time.cpp @@ -6,11 +6,11 @@ -void Time::attachObeserver(std::shared_ptr observer) { +void Time::attachObeserver(IObserver * observer) { observerList_.push_back(observer); } -void Time::detachObeserver(std::shared_ptr observer) { +void Time::detachObeserver(IObserver * observer) { observerList_.remove(observer); } diff --git a/shm/time.hpp b/shm/time.hpp index da5a6e642..41997c764 100644 --- a/shm/time.hpp +++ b/shm/time.hpp @@ -11,15 +11,15 @@ class Time { ~Time() = default; - void attachObeserver(std::shared_ptr ); + void attachObeserver(IObserver * ); - void detachObeserver(std::shared_ptr ); + void detachObeserver(IObserver * ); void onTimeChange(); private: - std::list> observerList_; + std::list observerList_; void notifyAll(); From 0984f020e547383ba7636fa8defc3b358c645af0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Meisnerowski?= Date: Thu, 12 Aug 2021 15:32:54 +0200 Subject: [PATCH 069/100] modification of Ship constructors added time variable and iheritance to IObserver class --- shm/ship.hpp | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/shm/ship.hpp b/shm/ship.hpp index fb2fff0e5..493283fba 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -3,14 +3,18 @@ #include #include #include "cargo.hpp" +#include "iObserver.hpp" +#include "time.hpp" // Class responsible for managing Ship in the game. -class Ship +class Ship : public IObserver { public: - Ship() - : id_(-1) {} - Ship(size_t capacity, size_t maxCrew, size_t crew, size_t speed, const std::string& name, size_t id, std::vector> cargos) + Ship(Time * time) + : id_(-1) { + time ->attachObeserver(this); + } + Ship(size_t capacity, size_t maxCrew, size_t crew, size_t speed, const std::string& name, size_t id, std::vector> cargos, Time * time) : capacity_(capacity) , maxCrew_(maxCrew) , crew_(crew) @@ -18,9 +22,14 @@ class Ship , name_(name) , id_(id) , cargos_(cargos) - {} - Ship(size_t maxCrew, size_t speed, size_t id) - : Ship(0, maxCrew, 0, speed, "", id, {}) {} + , time_(time) + { + time->attachObeserver(this); + } + Ship(size_t maxCrew, size_t speed, size_t id, Time * time) + : Ship(0, maxCrew, 0, speed, "", id, {}, time) { + time->attachObeserver(this); + } Ship& operator-=(size_t num); Ship& operator+=(size_t num); @@ -41,6 +50,7 @@ class Ship size_t maxCrew_; size_t crew_; size_t speed_; + Time * time_; std::string name_; const size_t id_; std::vector> cargos_; From d320f4e09d3bb0c397a532ce87d26644eb855c32 Mon Sep 17 00:00:00 2001 From: Jakub Kubalka Date: Fri, 13 Aug 2021 18:56:41 +0200 Subject: [PATCH 070/100] Better randomizing process in nextDay --- shm/store.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/shm/store.cpp b/shm/store.cpp index 49412fa09..875acee06 100644 --- a/shm/store.cpp +++ b/shm/store.cpp @@ -230,9 +230,16 @@ void Store::nextDay() { if(cargo == nullptr) { break; } else { - srand(time(NULL)); - if(rand() % 2 == 1) { - *cargo -= (rand() % 10) + 1; + std::random_device rm; + std::mt19937 gr(rm()); + int more_stuff_in_store = 1; + int less_stuff_in_store = 0; + int adding_taking_max = 10; + int adding_taking_min = 1; + std::uniform_int_distribution<> in_store_action(less_stuff_in_store, more_stuff_in_store); + std::uniform_int_distribution<> to_add_or_take(adding_taking_min, adding_taking_max); + if(in_store_action(gr)) { + *cargo -= to_add_or_take(gr); if (cargo->getAmount() < 0) { *cargo -= cargo->getAmount(); } @@ -240,7 +247,7 @@ void Store::nextDay() { *cargo -= cargo->getAmount(); } } else { - *cargo += (rand() % 10) + 1; + *cargo += to_add_or_take(gr); } } } From 7990ddbd0385412db58b0ddd640ef31ff33e3eef Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Tue, 17 Aug 2021 00:47:33 +0200 Subject: [PATCH 071/100] fixed mistaken names in Time Class (Obeserver to Observer) --- shm/cargo.cpp | 2 +- shm/time.cpp | 4 ++-- shm/time.hpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/shm/cargo.cpp b/shm/cargo.cpp index 86bbad6c6..696b1cf05 100644 --- a/shm/cargo.cpp +++ b/shm/cargo.cpp @@ -7,7 +7,7 @@ Cargo::Cargo(std::string name, size_t amount, size_t basePrice, Time *time) , basePrice_(basePrice) , time_(time) { - time->attachObeserver(this); + time->attachObserver(this); } Cargo& Cargo::operator+=(size_t amount) { diff --git a/shm/time.cpp b/shm/time.cpp index afa1bf26e..e0f48388a 100644 --- a/shm/time.cpp +++ b/shm/time.cpp @@ -6,11 +6,11 @@ -void Time::attachObeserver(IObserver * observer) { +void Time::attachObserver(IObserver * observer) { observerList_.push_back(observer); } -void Time::detachObeserver(IObserver * observer) { +void Time::detachObserver(IObserver * observer) { observerList_.remove(observer); } diff --git a/shm/time.hpp b/shm/time.hpp index 41997c764..0d6803b79 100644 --- a/shm/time.hpp +++ b/shm/time.hpp @@ -11,9 +11,9 @@ class Time { ~Time() = default; - void attachObeserver(IObserver * ); + void attachObserver(IObserver * ); - void detachObeserver(IObserver * ); + void detachObserver(IObserver * ); void onTimeChange(); From 8a129e5462820d6040e846e843a78546fb3bae31 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Tue, 17 Aug 2021 01:14:25 +0200 Subject: [PATCH 072/100] cleaning after merge (build dir) --- shm/a.out | Bin 63056 -> 0 bytes shm/build/CMakeCache.txt | 366 ---------- .../CMakeFiles/3.16.3/CMakeCCompiler.cmake | 76 -- .../CMakeFiles/3.16.3/CMakeCXXCompiler.cmake | 88 --- .../3.16.3/CMakeDetermineCompilerABI_C.bin | Bin 16552 -> 0 bytes .../3.16.3/CMakeDetermineCompilerABI_CXX.bin | Bin 16560 -> 0 bytes shm/build/CMakeFiles/3.16.3/CMakeSystem.cmake | 15 - .../3.16.3/CompilerIdC/CMakeCCompilerId.c | 671 ------------------ shm/build/CMakeFiles/3.16.3/CompilerIdC/a.out | Bin 16712 -> 0 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 660 ----------------- .../CMakeFiles/3.16.3/CompilerIdCXX/a.out | Bin 16720 -> 0 bytes .../CMakeDirectoryInformation.cmake | 16 - shm/build/CMakeFiles/CMakeOutput.log | 461 ------------ shm/build/CMakeFiles/Makefile.cmake | 49 -- shm/build/CMakeFiles/Makefile2 | 106 --- .../CMakeFiles/SHM_2077.dir/CXX.includecache | 40 -- .../CMakeFiles/SHM_2077.dir/DependInfo.cmake | 30 - .../CMakeFiles/SHM_2077.dir/alcohol.cpp.o | Bin 12544 -> 0 bytes shm/build/CMakeFiles/SHM_2077.dir/build.make | 248 ------- shm/build/CMakeFiles/SHM_2077.dir/cargo.cpp.o | Bin 7552 -> 0 bytes .../CMakeFiles/SHM_2077.dir/cmake_clean.cmake | 20 - .../CMakeFiles/SHM_2077.dir/coordinates.cpp.o | Bin 3592 -> 0 bytes .../CMakeFiles/SHM_2077.dir/depend.internal | 63 -- shm/build/CMakeFiles/SHM_2077.dir/depend.make | 63 -- shm/build/CMakeFiles/SHM_2077.dir/flags.make | 10 - shm/build/CMakeFiles/SHM_2077.dir/fruit.cpp.o | Bin 14328 -> 0 bytes .../CMakeFiles/SHM_2077.dir/island.cpp.o | Bin 1576 -> 0 bytes shm/build/CMakeFiles/SHM_2077.dir/item.cpp.o | Bin 12656 -> 0 bytes shm/build/CMakeFiles/SHM_2077.dir/link.txt | 1 - shm/build/CMakeFiles/SHM_2077.dir/main.cpp.o | Bin 225216 -> 0 bytes shm/build/CMakeFiles/SHM_2077.dir/map.cpp.o | Bin 61344 -> 0 bytes .../CMakeFiles/SHM_2077.dir/player.cpp.o | Bin 38728 -> 0 bytes .../CMakeFiles/SHM_2077.dir/progress.make | 13 - shm/build/CMakeFiles/SHM_2077.dir/ship.cpp.o | Bin 213520 -> 0 bytes shm/build/CMakeFiles/SHM_2077.dir/store.cpp.o | Bin 308792 -> 0 bytes shm/build/CMakeFiles/TargetDirectories.txt | 3 - shm/build/CMakeFiles/cmake.check_cache | 1 - shm/build/CMakeFiles/progress.marks | 1 - shm/build/Makefile | 478 ------------- shm/build/SHM_2077 | Bin 238472 -> 0 bytes shm/build/cmake_install.cmake | 49 -- 41 files changed, 3528 deletions(-) delete mode 100755 shm/a.out delete mode 100644 shm/build/CMakeCache.txt delete mode 100644 shm/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake delete mode 100644 shm/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake delete mode 100755 shm/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin delete mode 100755 shm/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin delete mode 100644 shm/build/CMakeFiles/3.16.3/CMakeSystem.cmake delete mode 100644 shm/build/CMakeFiles/3.16.3/CompilerIdC/CMakeCCompilerId.c delete mode 100755 shm/build/CMakeFiles/3.16.3/CompilerIdC/a.out delete mode 100644 shm/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp delete mode 100755 shm/build/CMakeFiles/3.16.3/CompilerIdCXX/a.out delete mode 100644 shm/build/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 shm/build/CMakeFiles/CMakeOutput.log delete mode 100644 shm/build/CMakeFiles/Makefile.cmake delete mode 100644 shm/build/CMakeFiles/Makefile2 delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/CXX.includecache delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/DependInfo.cmake delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/alcohol.cpp.o delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/build.make delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/cargo.cpp.o delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/cmake_clean.cmake delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/coordinates.cpp.o delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/depend.internal delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/depend.make delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/flags.make delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/fruit.cpp.o delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/island.cpp.o delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/item.cpp.o delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/link.txt delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/main.cpp.o delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/map.cpp.o delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/player.cpp.o delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/progress.make delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/ship.cpp.o delete mode 100644 shm/build/CMakeFiles/SHM_2077.dir/store.cpp.o delete mode 100644 shm/build/CMakeFiles/TargetDirectories.txt delete mode 100644 shm/build/CMakeFiles/cmake.check_cache delete mode 100644 shm/build/CMakeFiles/progress.marks delete mode 100644 shm/build/Makefile delete mode 100755 shm/build/SHM_2077 delete mode 100644 shm/build/cmake_install.cmake diff --git a/shm/a.out b/shm/a.out deleted file mode 100755 index 535fffc49de93bb6cdf346a72be459d004e877fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63056 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 diff --git a/shm/build/CMakeCache.txt b/shm/build/CMakeCache.txt deleted file mode 100644 index 8b150cd4e..000000000 --- a/shm/build/CMakeCache.txt +++ /dev/null @@ -1,366 +0,0 @@ -# This is the CMakeCache file. -# For build in directory: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build -# It was generated by CMake: /usr/bin/cmake -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Path to a program. -CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line - -//Path to a program. -CMAKE_AR:FILEPATH=/usr/bin/ar - -//Choose the type of build, options are: None Debug Release RelWithDebInfo -// MinSizeRel ... -CMAKE_BUILD_TYPE:STRING= - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON - -//CXX compiler -CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ - -//A wrapper around 'ar' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9 - -//A wrapper around 'ranlib' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9 - -//Flags used by the CXX compiler during all build types. -CMAKE_CXX_FLAGS:STRING= - -//Flags used by the CXX compiler during DEBUG builds. -CMAKE_CXX_FLAGS_DEBUG:STRING=-g - -//Flags used by the CXX compiler during MINSIZEREL builds. -CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the CXX compiler during RELEASE builds. -CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the CXX compiler during RELWITHDEBINFO builds. -CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//C compiler -CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc - -//A wrapper around 'ar' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9 - -//A wrapper around 'ranlib' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9 - -//Flags used by the C compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the C compiler during DEBUG builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the C compiler during MINSIZEREL builds. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the C compiler during RELEASE builds. -CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the C compiler during RELWITHDEBINFO builds. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//Path to a program. -CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND - -//Flags used by the linker during all build types. -CMAKE_EXE_LINKER_FLAGS:STRING= - -//Flags used by the linker during DEBUG builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during MINSIZEREL builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during RELEASE builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during RELWITHDEBINFO builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Enable/Disable output of compile commands during generation. -CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/usr/local - -//Path to a program. -CMAKE_LINKER:FILEPATH=/usr/bin/ld - -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make - -//Flags used by the linker during the creation of modules during -// all build types. -CMAKE_MODULE_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of modules during -// DEBUG builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of modules during -// MINSIZEREL builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of modules during -// RELEASE builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of modules during -// RELWITHDEBINFO builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_NM:FILEPATH=/usr/bin/nm - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump - -//Value Computed by CMake -CMAKE_PROJECT_DESCRIPTION:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_HOMEPAGE_URL:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=SHM_2077 - -//Path to a program. -CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib - -//Path to a program. -CMAKE_READELF:FILEPATH=/usr/bin/readelf - -//Flags used by the linker during the creation of shared libraries -// during all build types. -CMAKE_SHARED_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of shared libraries -// during DEBUG builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of shared libraries -// during MINSIZEREL builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELEASE builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELWITHDEBINFO builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//If set, runtime paths are not added when installing shared libraries, -// but are added when building. -CMAKE_SKIP_INSTALL_RPATH:BOOL=NO - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Flags used by the linker during the creation of static libraries -// during all build types. -CMAKE_STATIC_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of static libraries -// during DEBUG builds. -CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of static libraries -// during MINSIZEREL builds. -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELEASE builds. -CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELWITHDEBINFO builds. -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_STRIP:FILEPATH=/usr/bin/strip - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Value Computed by CMake -SHM_2077_BINARY_DIR:STATIC=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build - -//Value Computed by CMake -SHM_2077_SOURCE_DIR:STATIC=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm - - -######################## -# INTERNAL cache entries -######################## - -//ADVANCED property for variable: CMAKE_ADDR2LINE -CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_AR -CMAKE_AR-ADVANCED:INTERNAL=1 -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=16 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/usr/bin/cmake -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest -//ADVANCED property for variable: CMAKE_CXX_COMPILER -CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR -CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB -CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS -CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG -CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL -CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE -CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO -CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER -CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER_AR -CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB -CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_DLLTOOL -CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 -//Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS -CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 -//Name of external makefile project generator. -CMAKE_EXTRA_GENERATOR:INTERNAL= -//Name of generator. -CMAKE_GENERATOR:INTERNAL=Unix Makefiles -//Generator instance identifier. -CMAKE_GENERATOR_INSTANCE:INTERNAL= -//Name of generator platform. -CMAKE_GENERATOR_PLATFORM:INTERNAL= -//Name of generator toolset. -CMAKE_GENERATOR_TOOLSET:INTERNAL= -//Source directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm -//Install .so files without execute permission. -CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_NM -CMAKE_NM-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//Platform information initialized -CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RANLIB -CMAKE_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_READELF -CMAKE_READELF-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.16 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH -CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS -CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG -CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE -CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/usr/bin/uname -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 - diff --git a/shm/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake b/shm/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake deleted file mode 100644 index 2692f7332..000000000 --- a/shm/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake +++ /dev/null @@ -1,76 +0,0 @@ -set(CMAKE_C_COMPILER "/usr/bin/cc") -set(CMAKE_C_COMPILER_ARG1 "") -set(CMAKE_C_COMPILER_ID "GNU") -set(CMAKE_C_COMPILER_VERSION "9.3.0") -set(CMAKE_C_COMPILER_VERSION_INTERNAL "") -set(CMAKE_C_COMPILER_WRAPPER "") -set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") -set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert") -set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") -set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") -set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") - -set(CMAKE_C_PLATFORM_ID "Linux") -set(CMAKE_C_SIMULATE_ID "") -set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") -set(CMAKE_C_SIMULATE_VERSION "") - - - -set(CMAKE_AR "/usr/bin/ar") -set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-9") -set(CMAKE_RANLIB "/usr/bin/ranlib") -set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9") -set(CMAKE_LINKER "/usr/bin/ld") -set(CMAKE_MT "") -set(CMAKE_COMPILER_IS_GNUCC 1) -set(CMAKE_C_COMPILER_LOADED 1) -set(CMAKE_C_COMPILER_WORKS TRUE) -set(CMAKE_C_ABI_COMPILED TRUE) -set(CMAKE_COMPILER_IS_MINGW ) -set(CMAKE_COMPILER_IS_CYGWIN ) -if(CMAKE_COMPILER_IS_CYGWIN) - set(CYGWIN 1) - set(UNIX 1) -endif() - -set(CMAKE_C_COMPILER_ENV_VAR "CC") - -if(CMAKE_COMPILER_IS_MINGW) - set(MINGW 1) -endif() -set(CMAKE_C_COMPILER_ID_RUN 1) -set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) -set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) -set(CMAKE_C_LINKER_PREFERENCE 10) - -# Save compiler ABI information. -set(CMAKE_C_SIZEOF_DATA_PTR "8") -set(CMAKE_C_COMPILER_ABI "ELF") -set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") - -if(CMAKE_C_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_C_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") -endif() - -if(CMAKE_C_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") -endif() - -set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") -if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") -endif() - - - - - -set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") -set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") -set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") -set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/shm/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake b/shm/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake deleted file mode 100644 index 504c2505d..000000000 --- a/shm/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake +++ /dev/null @@ -1,88 +0,0 @@ -set(CMAKE_CXX_COMPILER "/usr/bin/c++") -set(CMAKE_CXX_COMPILER_ARG1 "") -set(CMAKE_CXX_COMPILER_ID "GNU") -set(CMAKE_CXX_COMPILER_VERSION "9.3.0") -set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") -set(CMAKE_CXX_COMPILER_WRAPPER "") -set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14") -set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20") -set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") -set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") -set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") -set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") -set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") - -set(CMAKE_CXX_PLATFORM_ID "Linux") -set(CMAKE_CXX_SIMULATE_ID "") -set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") -set(CMAKE_CXX_SIMULATE_VERSION "") - - - -set(CMAKE_AR "/usr/bin/ar") -set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9") -set(CMAKE_RANLIB "/usr/bin/ranlib") -set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9") -set(CMAKE_LINKER "/usr/bin/ld") -set(CMAKE_MT "") -set(CMAKE_COMPILER_IS_GNUCXX 1) -set(CMAKE_CXX_COMPILER_LOADED 1) -set(CMAKE_CXX_COMPILER_WORKS TRUE) -set(CMAKE_CXX_ABI_COMPILED TRUE) -set(CMAKE_COMPILER_IS_MINGW ) -set(CMAKE_COMPILER_IS_CYGWIN ) -if(CMAKE_COMPILER_IS_CYGWIN) - set(CYGWIN 1) - set(UNIX 1) -endif() - -set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") - -if(CMAKE_COMPILER_IS_MINGW) - set(MINGW 1) -endif() -set(CMAKE_CXX_COMPILER_ID_RUN 1) -set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) -set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) - -foreach (lang C OBJC OBJCXX) - if (CMAKE_${lang}_COMPILER_ID_RUN) - foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) - list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) - endforeach() - endif() -endforeach() - -set(CMAKE_CXX_LINKER_PREFERENCE 30) -set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) - -# Save compiler ABI information. -set(CMAKE_CXX_SIZEOF_DATA_PTR "8") -set(CMAKE_CXX_COMPILER_ABI "ELF") -set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") - -if(CMAKE_CXX_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_CXX_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") -endif() - -if(CMAKE_CXX_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") -endif() - -set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") -if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") -endif() - - - - - -set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") -set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") -set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") -set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/shm/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin b/shm/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin deleted file mode 100755 index a3225b1f9d09c95af35231bd3b222dd69d2ccead..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16552 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 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__WATCOMC__) -# define COMPILER_ID "OpenWatcom" - /* __WATCOMC__ = VVRP + 1100 */ -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__SUNPRO_C) -# define COMPILER_ID "SunPro" -# if __SUNPRO_C >= 0x5100 - /* __SUNPRO_C = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# endif - -#elif defined(__HP_cc) -# define COMPILER_ID "HP" - /* __HP_cc = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) - -#elif defined(__DECC) -# define COMPILER_ID "Compaq" - /* __DECC_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) - -#elif defined(__IBMC__) && defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__ibmxl__) && defined(__clang__) -# define COMPILER_ID "XLClang" -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) - - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 -# define COMPILER_ID "XL" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 -# define COMPILER_ID "VisualAge" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) -# define COMPILER_ID "Fujitsu" - -#elif defined(__ghs__) -# define COMPILER_ID "GHS" -/* __GHS_VERSION_NUMBER = VVVVRP */ -# ifdef __GHS_VERSION_NUMBER -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) -# endif - -#elif defined(__TINYC__) -# define COMPILER_ID "TinyCC" - -#elif defined(__BCC__) -# define COMPILER_ID "Bruce" - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__ARMCC_VERSION) && !defined(__clang__) -# define COMPILER_ID "ARMCC" -#if __ARMCC_VERSION >= 1000000 - /* __ARMCC_VERSION = VRRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#else - /* __ARMCC_VERSION = VRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#endif - - -#elif defined(__clang__) && defined(__apple_build_version__) -# define COMPILER_ID "AppleClang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) - -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) -# define COMPILER_ID "ARMClang" - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# if defined(__GNUC_MINOR__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -# define COMPILER_ID "ADSP" -#if defined(__VISUALDSPVERSION__) - /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ -# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) -# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) -#endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" -# if defined(__VER__) && defined(__ICCARM__) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# endif - -#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) -# define COMPILER_ID "SDCC" -# if defined(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) -# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) -# else - /* SDCC = VRP */ -# define COMPILER_VERSION_MAJOR DEC(SDCC/100) -# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) -# define COMPILER_VERSION_PATCH DEC(SDCC % 10) -# endif - - -/* These compilers are either not known or too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; -#ifdef SIMULATE_ID -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; -#endif - -#ifdef __QNXNTO__ -char const* qnxnto = "INFO" ":" "qnxnto[]"; -#endif - -#if defined(__CRAYXE) || defined(__CRAYXC) -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; -#endif - -#define STRINGIFY_HELPER(X) #X -#define STRINGIFY(X) STRINGIFY_HELPER(X) - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#elif defined(__WATCOMC__) -# if defined(__LINUX__) -# define PLATFORM_ID "Linux" - -# elif defined(__DOS__) -# define PLATFORM_ID "DOS" - -# elif defined(__OS2__) -# define PLATFORM_ID "OS2" - -# elif defined(__WINDOWS__) -# define PLATFORM_ID "Windows3x" - -# else /* unknown platform */ -# define PLATFORM_ID -# endif - -#elif defined(__INTEGRITY) -# if defined(INT_178B) -# define PLATFORM_ID "Integrity178" - -# else /* regular Integrity */ -# define PLATFORM_ID "Integrity" -# endif - -#else /* unknown platform */ -# define PLATFORM_ID - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM64) -# define ARCHITECTURE_ID "ARM64" - -# elif defined(_M_ARM) -# if _M_ARM == 4 -# define ARCHITECTURE_ID "ARMV4I" -# elif _M_ARM == 5 -# define ARCHITECTURE_ID "ARMV5I" -# else -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) -# endif - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__WATCOMC__) -# if defined(_M_I86) -# define ARCHITECTURE_ID "I86" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# if defined(__ICCARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__ICCRX__) -# define ARCHITECTURE_ID "RX" - -# elif defined(__ICCRH850__) -# define ARCHITECTURE_ID "RH850" - -# elif defined(__ICCRL78__) -# define ARCHITECTURE_ID "RL78" - -# elif defined(__ICCRISCV__) -# define ARCHITECTURE_ID "RISCV" - -# elif defined(__ICCAVR__) -# define ARCHITECTURE_ID "AVR" - -# elif defined(__ICC430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__ICCV850__) -# define ARCHITECTURE_ID "V850" - -# elif defined(__ICC8051__) -# define ARCHITECTURE_ID "8051" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__ghs__) -# if defined(__PPC64__) -# define ARCHITECTURE_ID "PPC64" - -# elif defined(__ppc__) -# define ARCHITECTURE_ID "PPC" - -# elif defined(__ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__x86_64__) -# define ARCHITECTURE_ID "x64" - -# elif defined(__i386__) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif -#else -# define ARCHITECTURE_ID -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number components. */ -#ifdef COMPILER_VERSION_MAJOR -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct a string literal encoding the internal version number. */ -#ifdef COMPILER_VERSION_INTERNAL -char const info_version_internal[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', - 'i','n','t','e','r','n','a','l','[', - COMPILER_VERSION_INTERNAL,']','\0'}; -#endif - -/* Construct a string literal encoding the version number components. */ -#ifdef SIMULATE_VERSION_MAJOR -char const info_simulate_version[] = { - 'I', 'N', 'F', 'O', ':', - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', - SIMULATE_VERSION_MAJOR, -# ifdef SIMULATE_VERSION_MINOR - '.', SIMULATE_VERSION_MINOR, -# ifdef SIMULATE_VERSION_PATCH - '.', SIMULATE_VERSION_PATCH, -# ifdef SIMULATE_VERSION_TWEAK - '.', SIMULATE_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - - -#if !defined(__STDC__) -# if (defined(_MSC_VER) && !defined(__clang__)) \ - || (defined(__ibmxl__) || defined(__IBMC__)) -# define C_DIALECT "90" -# else -# define C_DIALECT -# endif -#elif __STDC_VERSION__ >= 201000L -# define C_DIALECT "11" -#elif __STDC_VERSION__ >= 199901L -# define C_DIALECT "99" -#else -# define C_DIALECT "90" -#endif -const char* info_language_dialect_default = - "INFO" ":" "dialect_default[" C_DIALECT "]"; - -/*--------------------------------------------------------------------------*/ - -#ifdef ID_VOID_MAIN -void main() {} -#else -# if defined(__CLASSIC_C__) -int main(argc, argv) int argc; char *argv[]; -# else -int main(int argc, char* argv[]) -# endif -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - require += info_arch[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif -#ifdef COMPILER_VERSION_INTERNAL - require += info_version_internal[argc]; -#endif -#ifdef SIMULATE_ID - require += info_simulate[argc]; -#endif -#ifdef SIMULATE_VERSION_MAJOR - require += info_simulate_version[argc]; -#endif -#if defined(__CRAYXE) || defined(__CRAYXC) - require += info_cray[argc]; -#endif - require += info_language_dialect_default[argc]; - (void)argv; - return require; -} -#endif diff --git a/shm/build/CMakeFiles/3.16.3/CompilerIdC/a.out b/shm/build/CMakeFiles/3.16.3/CompilerIdC/a.out deleted file mode 100755 index 46f1233d9a6b2e660d5d0c5fc3dbde0dfb7e863d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16712 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 Ri&oaZ+NLB{yA)ha@h^*jkRt#9 diff --git a/shm/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp b/shm/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp deleted file mode 100644 index 69cfdba6b..000000000 --- a/shm/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp +++ /dev/null @@ -1,660 +0,0 @@ -/* This source file must have a .cpp extension so that all C++ compilers - recognize the extension without flags. Borland does not know .cxx for - example. */ -#ifndef __cplusplus -# error "A C compiler has been selected for C++." -#endif - - -/* Version number components: V=Version, R=Revision, P=Patch - Version date components: YYYY=Year, MM=Month, DD=Day */ - -#if defined(__COMO__) -# define COMPILER_ID "Comeau" - /* __COMO_VERSION__ = VRR */ -# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) -# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) - -#elif defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# if defined(__GNUC__) -# define SIMULATE_ID "GNU" -# endif - /* __INTEL_COMPILER = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# if defined(__INTEL_COMPILER_UPDATE) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) -# else -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) -# endif -# if defined(__INTEL_COMPILER_BUILD_DATE) - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) -# endif -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -# elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(__PATHCC__) -# define COMPILER_ID "PathScale" -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) -# if defined(__PATHCC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) -# endif - -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) -# define COMPILER_ID "Embarcadero" -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__WATCOMC__) -# define COMPILER_ID "OpenWatcom" - /* __WATCOMC__ = VVRP + 1100 */ -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__SUNPRO_CC) -# define COMPILER_ID "SunPro" -# if __SUNPRO_CC >= 0x5100 - /* __SUNPRO_CC = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) -# endif - -#elif defined(__HP_aCC) -# define COMPILER_ID "HP" - /* __HP_aCC = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) - -#elif defined(__DECCXX) -# define COMPILER_ID "Compaq" - /* __DECCXX_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) - -#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" - /* __IBMCPP__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) - -#elif defined(__ibmxl__) && defined(__clang__) -# define COMPILER_ID "XLClang" -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) - - -#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 -# define COMPILER_ID "XL" - /* __IBMCPP__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) - -#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 -# define COMPILER_ID "VisualAge" - /* __IBMCPP__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) -# define COMPILER_ID "Fujitsu" - -#elif defined(__ghs__) -# define COMPILER_ID "GHS" -/* __GHS_VERSION_NUMBER = VVVVRP */ -# ifdef __GHS_VERSION_NUMBER -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) -# endif - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__ARMCC_VERSION) && !defined(__clang__) -# define COMPILER_ID "ARMCC" -#if __ARMCC_VERSION >= 1000000 - /* __ARMCC_VERSION = VRRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#else - /* __ARMCC_VERSION = VRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#endif - - -#elif defined(__clang__) && defined(__apple_build_version__) -# define COMPILER_ID "AppleClang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) - -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) -# define COMPILER_ID "ARMClang" - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif - -#elif defined(__GNUC__) || defined(__GNUG__) -# define COMPILER_ID "GNU" -# if defined(__GNUC__) -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# else -# define COMPILER_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -# define COMPILER_ID "ADSP" -#if defined(__VISUALDSPVERSION__) - /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ -# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) -# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) -#endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" -# if defined(__VER__) && defined(__ICCARM__) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# endif - - -/* These compilers are either not known or too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; -#ifdef SIMULATE_ID -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; -#endif - -#ifdef __QNXNTO__ -char const* qnxnto = "INFO" ":" "qnxnto[]"; -#endif - -#if defined(__CRAYXE) || defined(__CRAYXC) -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; -#endif - -#define STRINGIFY_HELPER(X) #X -#define STRINGIFY(X) STRINGIFY_HELPER(X) - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#elif defined(__WATCOMC__) -# if defined(__LINUX__) -# define PLATFORM_ID "Linux" - -# elif defined(__DOS__) -# define PLATFORM_ID "DOS" - -# elif defined(__OS2__) -# define PLATFORM_ID "OS2" - -# elif defined(__WINDOWS__) -# define PLATFORM_ID "Windows3x" - -# else /* unknown platform */ -# define PLATFORM_ID -# endif - -#elif defined(__INTEGRITY) -# if defined(INT_178B) -# define PLATFORM_ID "Integrity178" - -# else /* regular Integrity */ -# define PLATFORM_ID "Integrity" -# endif - -#else /* unknown platform */ -# define PLATFORM_ID - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM64) -# define ARCHITECTURE_ID "ARM64" - -# elif defined(_M_ARM) -# if _M_ARM == 4 -# define ARCHITECTURE_ID "ARMV4I" -# elif _M_ARM == 5 -# define ARCHITECTURE_ID "ARMV5I" -# else -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) -# endif - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__WATCOMC__) -# if defined(_M_I86) -# define ARCHITECTURE_ID "I86" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# if defined(__ICCARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__ICCRX__) -# define ARCHITECTURE_ID "RX" - -# elif defined(__ICCRH850__) -# define ARCHITECTURE_ID "RH850" - -# elif defined(__ICCRL78__) -# define ARCHITECTURE_ID "RL78" - -# elif defined(__ICCRISCV__) -# define ARCHITECTURE_ID "RISCV" - -# elif defined(__ICCAVR__) -# define ARCHITECTURE_ID "AVR" - -# elif defined(__ICC430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__ICCV850__) -# define ARCHITECTURE_ID "V850" - -# elif defined(__ICC8051__) -# define ARCHITECTURE_ID "8051" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__ghs__) -# if defined(__PPC64__) -# define ARCHITECTURE_ID "PPC64" - -# elif defined(__ppc__) -# define ARCHITECTURE_ID "PPC" - -# elif defined(__ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__x86_64__) -# define ARCHITECTURE_ID "x64" - -# elif defined(__i386__) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif -#else -# define ARCHITECTURE_ID -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number components. */ -#ifdef COMPILER_VERSION_MAJOR -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct a string literal encoding the internal version number. */ -#ifdef COMPILER_VERSION_INTERNAL -char const info_version_internal[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', - 'i','n','t','e','r','n','a','l','[', - COMPILER_VERSION_INTERNAL,']','\0'}; -#endif - -/* Construct a string literal encoding the version number components. */ -#ifdef SIMULATE_VERSION_MAJOR -char const info_simulate_version[] = { - 'I', 'N', 'F', 'O', ':', - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', - SIMULATE_VERSION_MAJOR, -# ifdef SIMULATE_VERSION_MINOR - '.', SIMULATE_VERSION_MINOR, -# ifdef SIMULATE_VERSION_PATCH - '.', SIMULATE_VERSION_PATCH, -# ifdef SIMULATE_VERSION_TWEAK - '.', SIMULATE_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - - -#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L -# if defined(__INTEL_CXX11_MODE__) -# if defined(__cpp_aggregate_nsdmi) -# define CXX_STD 201402L -# else -# define CXX_STD 201103L -# endif -# else -# define CXX_STD 199711L -# endif -#elif defined(_MSC_VER) && defined(_MSVC_LANG) -# define CXX_STD _MSVC_LANG -#else -# define CXX_STD __cplusplus -#endif - -const char* info_language_dialect_default = "INFO" ":" "dialect_default[" -#if CXX_STD > 201703L - "20" -#elif CXX_STD >= 201703L - "17" -#elif CXX_STD >= 201402L - "14" -#elif CXX_STD >= 201103L - "11" -#else - "98" -#endif -"]"; - -/*--------------------------------------------------------------------------*/ - -int main(int argc, char* argv[]) -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif -#ifdef COMPILER_VERSION_INTERNAL - require += info_version_internal[argc]; -#endif -#ifdef SIMULATE_ID - require += info_simulate[argc]; -#endif -#ifdef SIMULATE_VERSION_MAJOR - require += info_simulate_version[argc]; -#endif -#if defined(__CRAYXE) || defined(__CRAYXC) - require += info_cray[argc]; -#endif - require += info_language_dialect_default[argc]; - (void)argv; - return require; -} diff --git a/shm/build/CMakeFiles/3.16.3/CompilerIdCXX/a.out b/shm/build/CMakeFiles/3.16.3/CompilerIdCXX/a.out deleted file mode 100755 index c8684265455284359fc556a1ef0b98aa7a612508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16720 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 diff --git a/shm/build/CMakeFiles/CMakeDirectoryInformation.cmake b/shm/build/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index 8d10276e6..000000000 --- a/shm/build/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/shm/build/CMakeFiles/CMakeOutput.log b/shm/build/CMakeFiles/CMakeOutput.log deleted file mode 100644 index 59a5891b7..000000000 --- a/shm/build/CMakeFiles/CMakeOutput.log +++ /dev/null @@ -1,461 +0,0 @@ -The system is: Linux - 5.4.0-77-generic - x86_64 -Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. -Compiler: /usr/bin/cc -Build flags: -Id flags: - -The output was: -0 - - -Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" - -The C compiler identification is GNU, found in "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/3.16.3/CompilerIdC/a.out" - -Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. -Compiler: /usr/bin/c++ -Build flags: -Id flags: - -The output was: -0 - - -Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" - -The CXX compiler identification is GNU, found in "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/3.16.3/CompilerIdCXX/a.out" - -Determining if the C compiler works passed with the following output: -Change Dir: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_d23c5/fast && /usr/bin/make -f CMakeFiles/cmTC_d23c5.dir/build.make CMakeFiles/cmTC_d23c5.dir/build -make[1]: Wejście do katalogu '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_d23c5.dir/testCCompiler.c.o -/usr/bin/cc -o CMakeFiles/cmTC_d23c5.dir/testCCompiler.c.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp/testCCompiler.c -Linking C executable cmTC_d23c5 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d23c5.dir/link.txt --verbose=1 -/usr/bin/cc CMakeFiles/cmTC_d23c5.dir/testCCompiler.c.o -o cmTC_d23c5 -make[1]: Opuszczenie katalogu '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' - - - -Detecting C compiler ABI info compiled with the following output: -Change Dir: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_23430/fast && /usr/bin/make -f CMakeFiles/cmTC_23430.dir/build.make CMakeFiles/cmTC_23430.dir/build -make[1]: Entering directory '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -/usr/bin/cc -v -o CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc3phDtG.s -GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu) - compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP - -GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 -ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" -#include "..." search starts here: -#include <...> search starts here: - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include -End of search list. -GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu) - compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP - -GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 -Compiler executable checksum: bbf13931d8de1abe14040c9909cb6969 -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' - as -v --64 -o CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o /tmp/cc3phDtG.s -GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34 -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' -Linking C executable cmTC_23430 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_23430.dir/link.txt --verbose=1 -/usr/bin/cc -v CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -o cmTC_23430 -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_23430' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccg7go55.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_23430 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_23430' '-mtune=generic' '-march=x86-64' -make[1]: Leaving directory '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' - - - -Parsed C implicit include dir info from above output: rv=done - found start of include info - found start of implicit include info - add: [/usr/lib/gcc/x86_64-linux-gnu/9/include] - add: [/usr/local/include] - add: [/usr/include/x86_64-linux-gnu] - add: [/usr/include] - end of search list found - collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include] - collapse include dir [/usr/local/include] ==> [/usr/local/include] - collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] - collapse include dir [/usr/include] ==> [/usr/include] - implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] - - -Parsed C implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command(s):/usr/bin/make cmTC_23430/fast && /usr/bin/make -f CMakeFiles/cmTC_23430.dir/build.make CMakeFiles/cmTC_23430.dir/build] - ignore line: [make[1]: Entering directory '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp'] - ignore line: [Building C object CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/cc] - ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] - ignore line: [OFFLOAD_TARGET_DEFAULT=1] - ignore line: [Target: x86_64-linux-gnu] - ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] - ignore line: [Thread model: posix] - ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc3phDtG.s] - ignore line: [GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)] - ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] - ignore line: [] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"] - ignore line: [#include "..." search starts here:] - ignore line: [#include <...> search starts here:] - ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include] - ignore line: [ /usr/local/include] - ignore line: [ /usr/include/x86_64-linux-gnu] - ignore line: [ /usr/include] - ignore line: [End of search list.] - ignore line: [GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)] - ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] - ignore line: [] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [Compiler executable checksum: bbf13931d8de1abe14040c9909cb6969] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o /tmp/cc3phDtG.s] - ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34] - ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [Linking C executable cmTC_23430] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_23430.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -o cmTC_23430 ] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/cc] - ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] - ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] - ignore line: [OFFLOAD_TARGET_DEFAULT=1] - ignore line: [Target: x86_64-linux-gnu] - ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] - ignore line: [Thread model: posix] - ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ] - ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_23430' '-mtune=generic' '-march=x86-64'] - link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccg7go55.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_23430 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] - arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore - arg [-plugin] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore - arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccg7go55.res] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [-plugin-opt=-pass-through=-lc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [--build-id] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [-m] ==> ignore - arg [elf_x86_64] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [--as-needed] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib64/ld-linux-x86-64.so.2] ==> ignore - arg [-pie] ==> ignore - arg [-znow] ==> ignore - arg [-zrelro] ==> ignore - arg [-o] ==> ignore - arg [cmTC_23430] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9] - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] - arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] - arg [-L/lib/../lib] ==> dir [/lib/../lib] - arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] - arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] - arg [CMakeFiles/cmTC_23430.dir/CMakeCCompilerABI.c.o] ==> ignore - arg [-lgcc] ==> lib [gcc] - arg [--push-state] ==> ignore - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--pop-state] ==> ignore - arg [-lc] ==> lib [c] - arg [-lgcc] ==> lib [gcc] - arg [--push-state] ==> ignore - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--pop-state] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9] - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib] - collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] - collapse library dir [/lib/../lib] ==> [/lib] - collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] - collapse library dir [/usr/lib/../lib] ==> [/usr/lib] - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib] - implicit libs: [gcc;gcc_s;c;gcc;gcc_s] - implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] - implicit fwks: [] - - -Determining if the CXX compiler works passed with the following output: -Change Dir: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_0b24b/fast && /usr/bin/make -f CMakeFiles/cmTC_0b24b.dir/build.make CMakeFiles/cmTC_0b24b.dir/build -make[1]: Wejście do katalogu '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' -Building CXX object CMakeFiles/cmTC_0b24b.dir/testCXXCompiler.cxx.o -/usr/bin/c++ -o CMakeFiles/cmTC_0b24b.dir/testCXXCompiler.cxx.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx -Linking CXX executable cmTC_0b24b -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0b24b.dir/link.txt --verbose=1 -/usr/bin/c++ CMakeFiles/cmTC_0b24b.dir/testCXXCompiler.cxx.o -o cmTC_0b24b -make[1]: Opuszczenie katalogu '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' - - - -Detecting CXX compiler ABI info compiled with the following output: -Change Dir: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_26aa1/fast && /usr/bin/make -f CMakeFiles/cmTC_26aa1.dir/build.make CMakeFiles/cmTC_26aa1.dir/build -make[1]: Entering directory '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' -Building CXX object CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -/usr/bin/c++ -v -o CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -Using built-in specs. -COLLECT_GCC=/usr/bin/c++ -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cca8lQyC.s -GNU C++14 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu) - compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP - -GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 -ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9" -ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" -#include "..." search starts here: -#include <...> search starts here: - /usr/include/c++/9 - /usr/include/x86_64-linux-gnu/c++/9 - /usr/include/c++/9/backward - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include -End of search list. -GNU C++14 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu) - compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP - -GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 -Compiler executable checksum: 466f818abe2f30ba03783f22bd12d815 -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' - as -v --64 -o CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o /tmp/cca8lQyC.s -GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34 -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' -Linking CXX executable cmTC_26aa1 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_26aa1.dir/link.txt --verbose=1 -/usr/bin/c++ -v CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_26aa1 -Using built-in specs. -COLLECT_GCC=/usr/bin/c++ -COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_26aa1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccE9UJT4.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_26aa1 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_26aa1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' -make[1]: Leaving directory '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp' - - - -Parsed CXX implicit include dir info from above output: rv=done - found start of include info - found start of implicit include info - add: [/usr/include/c++/9] - add: [/usr/include/x86_64-linux-gnu/c++/9] - add: [/usr/include/c++/9/backward] - add: [/usr/lib/gcc/x86_64-linux-gnu/9/include] - add: [/usr/local/include] - add: [/usr/include/x86_64-linux-gnu] - add: [/usr/include] - end of search list found - collapse include dir [/usr/include/c++/9] ==> [/usr/include/c++/9] - collapse include dir [/usr/include/x86_64-linux-gnu/c++/9] ==> [/usr/include/x86_64-linux-gnu/c++/9] - collapse include dir [/usr/include/c++/9/backward] ==> [/usr/include/c++/9/backward] - collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include] - collapse include dir [/usr/local/include] ==> [/usr/local/include] - collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] - collapse include dir [/usr/include] ==> [/usr/include] - implicit include dirs: [/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] - - -Parsed CXX implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command(s):/usr/bin/make cmTC_26aa1/fast && /usr/bin/make -f CMakeFiles/cmTC_26aa1.dir/build.make CMakeFiles/cmTC_26aa1.dir/build] - ignore line: [make[1]: Entering directory '/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/CMakeTmp'] - ignore line: [Building CXX object CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/c++] - ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] - ignore line: [OFFLOAD_TARGET_DEFAULT=1] - ignore line: [Target: x86_64-linux-gnu] - ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] - ignore line: [Thread model: posix] - ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] - ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cca8lQyC.s] - ignore line: [GNU C++14 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)] - ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] - ignore line: [] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"] - ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"] - ignore line: [#include "..." search starts here:] - ignore line: [#include <...> search starts here:] - ignore line: [ /usr/include/c++/9] - ignore line: [ /usr/include/x86_64-linux-gnu/c++/9] - ignore line: [ /usr/include/c++/9/backward] - ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include] - ignore line: [ /usr/local/include] - ignore line: [ /usr/include/x86_64-linux-gnu] - ignore line: [ /usr/include] - ignore line: [End of search list.] - ignore line: [GNU C++14 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)] - ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] - ignore line: [] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [Compiler executable checksum: 466f818abe2f30ba03783f22bd12d815] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o /tmp/cca8lQyC.s] - ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34] - ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] - ignore line: [Linking CXX executable cmTC_26aa1] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_26aa1.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_26aa1 ] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/c++] - ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] - ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] - ignore line: [OFFLOAD_TARGET_DEFAULT=1] - ignore line: [Target: x86_64-linux-gnu] - ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] - ignore line: [Thread model: posix] - ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ] - ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_26aa1' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] - link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccE9UJT4.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_26aa1 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] - arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore - arg [-plugin] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore - arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccE9UJT4.res] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [-plugin-opt=-pass-through=-lc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [--build-id] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [-m] ==> ignore - arg [elf_x86_64] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [--as-needed] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib64/ld-linux-x86-64.so.2] ==> ignore - arg [-pie] ==> ignore - arg [-znow] ==> ignore - arg [-zrelro] ==> ignore - arg [-o] ==> ignore - arg [cmTC_26aa1] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9] - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] - arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] - arg [-L/lib/../lib] ==> dir [/lib/../lib] - arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] - arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] - arg [CMakeFiles/cmTC_26aa1.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore - arg [-lstdc++] ==> lib [stdc++] - arg [-lm] ==> lib [m] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [-lc] ==> lib [c] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9] - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib] - collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] - collapse library dir [/lib/../lib] ==> [/lib] - collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] - collapse library dir [/usr/lib/../lib] ==> [/usr/lib] - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib] - implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] - implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] - implicit fwks: [] - - diff --git a/shm/build/CMakeFiles/Makefile.cmake b/shm/build/CMakeFiles/Makefile.cmake deleted file mode 100644 index 8384b7d40..000000000 --- a/shm/build/CMakeFiles/Makefile.cmake +++ /dev/null @@ -1,49 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# The generator used is: -set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") - -# The top level Makefile was generated from the following files: -set(CMAKE_MAKEFILE_DEPENDS - "CMakeCache.txt" - "../CMakeLists.txt" - "CMakeFiles/3.16.3/CMakeCCompiler.cmake" - "CMakeFiles/3.16.3/CMakeCXXCompiler.cmake" - "CMakeFiles/3.16.3/CMakeSystem.cmake" - "/usr/share/cmake-3.16/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.16/Modules/CMakeCXXInformation.cmake" - "/usr/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake" - "/usr/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.16/Modules/CMakeGenericSystem.cmake" - "/usr/share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake" - "/usr/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake" - "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake" - "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.16/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.16/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.16/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake" - "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-C.cmake" - "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-CXX.cmake" - "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake" - "/usr/share/cmake-3.16/Modules/Platform/Linux.cmake" - "/usr/share/cmake-3.16/Modules/Platform/UnixPaths.cmake" - ) - -# The corresponding makefile is: -set(CMAKE_MAKEFILE_OUTPUTS - "Makefile" - "CMakeFiles/cmake.check_cache" - ) - -# Byproducts of CMake generate step: -set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/CMakeDirectoryInformation.cmake" - ) - -# Dependency information for all targets: -set(CMAKE_DEPEND_INFO_FILES - "CMakeFiles/SHM_2077.dir/DependInfo.cmake" - ) diff --git a/shm/build/CMakeFiles/Makefile2 b/shm/build/CMakeFiles/Makefile2 deleted file mode 100644 index 01babc954..000000000 --- a/shm/build/CMakeFiles/Makefile2 +++ /dev/null @@ -1,106 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/linux/workspace/OOP/SHM/object-oriented-programming/shm - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build - -#============================================================================= -# Directory level rules for the build root directory - -# The main recursive "all" target. -all: CMakeFiles/SHM_2077.dir/all - -.PHONY : all - -# The main recursive "preinstall" target. -preinstall: - -.PHONY : preinstall - -# The main recursive "clean" target. -clean: CMakeFiles/SHM_2077.dir/clean - -.PHONY : clean - -#============================================================================= -# Target rules for target CMakeFiles/SHM_2077.dir - -# All Build rule for target. -CMakeFiles/SHM_2077.dir/all: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/depend - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12 "Built target SHM_2077" -.PHONY : CMakeFiles/SHM_2077.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/SHM_2077.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles 12 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/SHM_2077.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles 0 -.PHONY : CMakeFiles/SHM_2077.dir/rule - -# Convenience name for target. -SHM_2077: CMakeFiles/SHM_2077.dir/rule - -.PHONY : SHM_2077 - -# clean rule for target. -CMakeFiles/SHM_2077.dir/clean: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/clean -.PHONY : CMakeFiles/SHM_2077.dir/clean - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/shm/build/CMakeFiles/SHM_2077.dir/CXX.includecache b/shm/build/CMakeFiles/SHM_2077.dir/CXX.includecache deleted file mode 100644 index f8640214a..000000000 --- a/shm/build/CMakeFiles/SHM_2077.dir/CXX.includecache +++ /dev/null @@ -1,40 +0,0 @@ -#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp -string -- - -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.cpp -player.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.hpp -iostream -- -numeric -- -utility -- -cargo.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp -ship.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.hpp - -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.hpp -memory -- - -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.hpp -memory -- -string -- -vector -- -cargo.hpp -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.hpp - diff --git a/shm/build/CMakeFiles/SHM_2077.dir/DependInfo.cmake b/shm/build/CMakeFiles/SHM_2077.dir/DependInfo.cmake deleted file mode 100644 index 99a313c08..000000000 --- a/shm/build/CMakeFiles/SHM_2077.dir/DependInfo.cmake +++ /dev/null @@ -1,30 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - "CXX" - ) -# The set of files for implicit dependencies of each language: -set(CMAKE_DEPENDS_CHECK_CXX - "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/alcohol.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/alcohol.cpp.o" - "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/cargo.cpp.o" - "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/coordinates.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/coordinates.cpp.o" - "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/fruit.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/fruit.cpp.o" - "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/island.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/island.cpp.o" - "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/item.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/item.cpp.o" - "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/main.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/main.cpp.o" - "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/map.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/map.cpp.o" - "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/player.cpp.o" - "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/ship.cpp.o" - "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/store.cpp" "/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/store.cpp.o" - ) -set(CMAKE_CXX_COMPILER_ID "GNU") - -# The include file search paths: -set(CMAKE_CXX_TARGET_INCLUDE_PATH - ) - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/shm/build/CMakeFiles/SHM_2077.dir/alcohol.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/alcohol.cpp.o deleted file mode 100644 index f16c3ef7e4a20b0a4ca4c6f56b92af1f8cb6a757..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12544 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 CMakeFiles/SHM_2077.dir/main.cpp.i - -CMakeFiles/SHM_2077.dir/main.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/main.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/main.cpp -o CMakeFiles/SHM_2077.dir/main.cpp.s - -CMakeFiles/SHM_2077.dir/island.cpp.o: CMakeFiles/SHM_2077.dir/flags.make -CMakeFiles/SHM_2077.dir/island.cpp.o: ../island.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/SHM_2077.dir/island.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/island.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/island.cpp - -CMakeFiles/SHM_2077.dir/island.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/island.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/island.cpp > CMakeFiles/SHM_2077.dir/island.cpp.i - -CMakeFiles/SHM_2077.dir/island.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/island.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/island.cpp -o CMakeFiles/SHM_2077.dir/island.cpp.s - -CMakeFiles/SHM_2077.dir/map.cpp.o: CMakeFiles/SHM_2077.dir/flags.make -CMakeFiles/SHM_2077.dir/map.cpp.o: ../map.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/SHM_2077.dir/map.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/map.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/map.cpp - -CMakeFiles/SHM_2077.dir/map.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/map.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/map.cpp > CMakeFiles/SHM_2077.dir/map.cpp.i - -CMakeFiles/SHM_2077.dir/map.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/map.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/map.cpp -o CMakeFiles/SHM_2077.dir/map.cpp.s - -CMakeFiles/SHM_2077.dir/player.cpp.o: CMakeFiles/SHM_2077.dir/flags.make -CMakeFiles/SHM_2077.dir/player.cpp.o: ../player.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/SHM_2077.dir/player.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/player.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.cpp - -CMakeFiles/SHM_2077.dir/player.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/player.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.cpp > CMakeFiles/SHM_2077.dir/player.cpp.i - -CMakeFiles/SHM_2077.dir/player.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/player.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/player.cpp -o CMakeFiles/SHM_2077.dir/player.cpp.s - -CMakeFiles/SHM_2077.dir/ship.cpp.o: CMakeFiles/SHM_2077.dir/flags.make -CMakeFiles/SHM_2077.dir/ship.cpp.o: ../ship.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/SHM_2077.dir/ship.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/ship.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.cpp - -CMakeFiles/SHM_2077.dir/ship.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/ship.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.cpp > CMakeFiles/SHM_2077.dir/ship.cpp.i - -CMakeFiles/SHM_2077.dir/ship.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/ship.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/ship.cpp -o CMakeFiles/SHM_2077.dir/ship.cpp.s - -CMakeFiles/SHM_2077.dir/coordinates.cpp.o: CMakeFiles/SHM_2077.dir/flags.make -CMakeFiles/SHM_2077.dir/coordinates.cpp.o: ../coordinates.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/SHM_2077.dir/coordinates.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/coordinates.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/coordinates.cpp - -CMakeFiles/SHM_2077.dir/coordinates.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/coordinates.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/coordinates.cpp > CMakeFiles/SHM_2077.dir/coordinates.cpp.i - -CMakeFiles/SHM_2077.dir/coordinates.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/coordinates.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/coordinates.cpp -o CMakeFiles/SHM_2077.dir/coordinates.cpp.s - -CMakeFiles/SHM_2077.dir/cargo.cpp.o: CMakeFiles/SHM_2077.dir/flags.make -CMakeFiles/SHM_2077.dir/cargo.cpp.o: ../cargo.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object CMakeFiles/SHM_2077.dir/cargo.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/cargo.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.cpp - -CMakeFiles/SHM_2077.dir/cargo.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/cargo.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.cpp > CMakeFiles/SHM_2077.dir/cargo.cpp.i - -CMakeFiles/SHM_2077.dir/cargo.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/cargo.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/cargo.cpp -o CMakeFiles/SHM_2077.dir/cargo.cpp.s - -CMakeFiles/SHM_2077.dir/store.cpp.o: CMakeFiles/SHM_2077.dir/flags.make -CMakeFiles/SHM_2077.dir/store.cpp.o: ../store.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/SHM_2077.dir/store.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/store.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/store.cpp - -CMakeFiles/SHM_2077.dir/store.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/store.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/store.cpp > CMakeFiles/SHM_2077.dir/store.cpp.i - -CMakeFiles/SHM_2077.dir/store.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/store.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/store.cpp -o CMakeFiles/SHM_2077.dir/store.cpp.s - -CMakeFiles/SHM_2077.dir/alcohol.cpp.o: CMakeFiles/SHM_2077.dir/flags.make -CMakeFiles/SHM_2077.dir/alcohol.cpp.o: ../alcohol.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/SHM_2077.dir/alcohol.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/alcohol.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/alcohol.cpp - -CMakeFiles/SHM_2077.dir/alcohol.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/alcohol.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/alcohol.cpp > CMakeFiles/SHM_2077.dir/alcohol.cpp.i - -CMakeFiles/SHM_2077.dir/alcohol.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/alcohol.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/alcohol.cpp -o CMakeFiles/SHM_2077.dir/alcohol.cpp.s - -CMakeFiles/SHM_2077.dir/item.cpp.o: CMakeFiles/SHM_2077.dir/flags.make -CMakeFiles/SHM_2077.dir/item.cpp.o: ../item.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/SHM_2077.dir/item.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/item.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/item.cpp - -CMakeFiles/SHM_2077.dir/item.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/item.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/item.cpp > CMakeFiles/SHM_2077.dir/item.cpp.i - -CMakeFiles/SHM_2077.dir/item.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/item.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/item.cpp -o CMakeFiles/SHM_2077.dir/item.cpp.s - -CMakeFiles/SHM_2077.dir/fruit.cpp.o: CMakeFiles/SHM_2077.dir/flags.make -CMakeFiles/SHM_2077.dir/fruit.cpp.o: ../fruit.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object CMakeFiles/SHM_2077.dir/fruit.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SHM_2077.dir/fruit.cpp.o -c /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/fruit.cpp - -CMakeFiles/SHM_2077.dir/fruit.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SHM_2077.dir/fruit.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/fruit.cpp > CMakeFiles/SHM_2077.dir/fruit.cpp.i - -CMakeFiles/SHM_2077.dir/fruit.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SHM_2077.dir/fruit.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/fruit.cpp -o CMakeFiles/SHM_2077.dir/fruit.cpp.s - -# Object files for target SHM_2077 -SHM_2077_OBJECTS = \ -"CMakeFiles/SHM_2077.dir/main.cpp.o" \ -"CMakeFiles/SHM_2077.dir/island.cpp.o" \ -"CMakeFiles/SHM_2077.dir/map.cpp.o" \ -"CMakeFiles/SHM_2077.dir/player.cpp.o" \ -"CMakeFiles/SHM_2077.dir/ship.cpp.o" \ -"CMakeFiles/SHM_2077.dir/coordinates.cpp.o" \ -"CMakeFiles/SHM_2077.dir/cargo.cpp.o" \ -"CMakeFiles/SHM_2077.dir/store.cpp.o" \ -"CMakeFiles/SHM_2077.dir/alcohol.cpp.o" \ -"CMakeFiles/SHM_2077.dir/item.cpp.o" \ -"CMakeFiles/SHM_2077.dir/fruit.cpp.o" - -# External object files for target SHM_2077 -SHM_2077_EXTERNAL_OBJECTS = - -SHM_2077: CMakeFiles/SHM_2077.dir/main.cpp.o -SHM_2077: CMakeFiles/SHM_2077.dir/island.cpp.o -SHM_2077: CMakeFiles/SHM_2077.dir/map.cpp.o -SHM_2077: CMakeFiles/SHM_2077.dir/player.cpp.o -SHM_2077: CMakeFiles/SHM_2077.dir/ship.cpp.o -SHM_2077: CMakeFiles/SHM_2077.dir/coordinates.cpp.o -SHM_2077: CMakeFiles/SHM_2077.dir/cargo.cpp.o -SHM_2077: CMakeFiles/SHM_2077.dir/store.cpp.o -SHM_2077: CMakeFiles/SHM_2077.dir/alcohol.cpp.o -SHM_2077: CMakeFiles/SHM_2077.dir/item.cpp.o -SHM_2077: CMakeFiles/SHM_2077.dir/fruit.cpp.o -SHM_2077: CMakeFiles/SHM_2077.dir/build.make -SHM_2077: CMakeFiles/SHM_2077.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Linking CXX executable SHM_2077" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/SHM_2077.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/SHM_2077.dir/build: SHM_2077 - -.PHONY : CMakeFiles/SHM_2077.dir/build - -CMakeFiles/SHM_2077.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/SHM_2077.dir/cmake_clean.cmake -.PHONY : CMakeFiles/SHM_2077.dir/clean - -CMakeFiles/SHM_2077.dir/depend: - cd /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/linux/workspace/OOP/SHM/object-oriented-programming/shm /home/linux/workspace/OOP/SHM/object-oriented-programming/shm /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/SHM_2077.dir/depend - diff --git a/shm/build/CMakeFiles/SHM_2077.dir/cargo.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/cargo.cpp.o deleted file mode 100644 index eff5d98610ce620c5b3bd7fe371828f806a3f16f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7552 zcmd5>ZEPGz8Q!}~;}G&;+EOJ1!Z{+yq0MpUI3Gq(E_F89Qye$S*`;a|hV^`hL}hDadZ4vYpC5x9)s%+-m;KntLN{H80FO%gw~ntxa!eM7?YP&nDI+Bc}3U3_^tw9R&5XkLn~T8W=XX{B{$ zc`=lpd!sjuL~7*wts!&u!uG&CaStMbQ2*wA*1~=n%EHG`g<-WKDAMqz$>qG+qpN z>A1PP7$Db!IAE_Cw41M5^Cwm&t$mxMdw=)Mofx#$T$Wyyltp5y8CaORHvQz8Rx&9) z&C9o&jaze1e=s7&t z&#^D2=GG-=A%$2sV2+7S;K4Gh#u)sa9XODL(ZW^uQZ8lSWN4=k5}Pnu_S@yRv4%u=#-^R5{Cr0RBIkuLSK2AZ)fjw5 z*?CRb!QKISlkmPIZax8Fj{`kGQ?*N5=W-7r`~||hjqBAI{Ph?-5rf}~!4J^J-OaC0 zc%SxuvCK0u@?Va@Uy^p@-A<05cc|qU`9A@tSfjKOBafxbv9;;QYedGW)eP}O(I3eT z)k?18UMSUF;Z!Si-)lI2&~-?NQngemfgQ{VQTJ`XiB5UKPZGVJDbbp1}5w}nI!E}N3ot0Q+8=a=Ht#6 z-eA3S$%S>w=3Qt{+P*Ed#|pt*P+ZQeEou$V73WKy->?zc*khx)tb8TxiPHI84(oEp zuGeKw>3y53nvg284ZI15O4Yic*>?vE^ghzcq#(s)y(*^Zg`A-TbP5G|k^$JhJ4^31 z(fifrfUPA>g>NkKD~@>F_xh;ZrcV>l&!`Q8Jnp*kK1lT|R6xLYQ(^hv0VIMP?mmp4 zpmP8Od=C}IPiy#xG<-S+|56P8RSkbov-5(6KcwNmR5;>COdQW|HTgje|Dz_4I~2>` z&~V+(>k7x14rua!*X$qE@F8l0U}Gm0w$JkgJfq=ggQEDy1Gobp)$k8fo9&;8!Ov+p zZfz{j=QoCtRWhj3str7++Nk$@7xxdODL;jqQ`s+Tof|C(9R z@QtdCY7+)T#PRUG|DgyT<{?wRSoZA+BSU9QP)~Eqb7$-f?IgaD!A@snChBz~<5dGD z?9Ir%=xvYg%vr|~?yTe1d_j(A52N!+IUo~7|Nr5D3PQpF(W0?ZWZ|WvYbWpgDld@d zjXaRYeM;D#XJ1qU4z15r9eXD8R_Atx?muO>LK8s03Aq{i;bAY`(wuXOr;|KW^Qv^% z`)u5u7E_*0CuHWVS8ddS#qeJ|u@83p3e78}6>PYn}bD=EGVAzb)kIF}R zoGrkj?ye{RXPZtOKVuJ51N!SD2CgeU&w{Fs`o}pf^B2*-q7EL;6Y__5f&DZ7X~Me2 z-=h+O{~zcS_5Un&0*l7KUFkokD=S$YdYYJS@n2Q(FDhZgk0lX}|9)}~|Eb9MzpeaR zN}ns%XMQUwck`cDn~Lrq5bJaPaxwl_m47u1b{Fb1fOD^#|6eQrStW?^<5#t)|AO+L zjEr9zC3*dh08=F1Mm7QX)lY>R_H95=MC>o%T0G;pFU$B@fNQmII8TTlzuK`L*?(mG+q(FN&!~Ug$LX)_?g-o4lz-gab%HF2>u)Lj0Bt>om3|8eTCB(T z_XxloMZz~MrJrU&Rdf6dzoPs{^{17-6>%8V|2g$TG|vWAomKf;RXpYozlyRx&mYW3 yeM99cKF)~ps!mfI=WkRWcgE=2Bgj})m&VPJJVu5i&;D-uY4sEIjfg^oHU0xvADD>% diff --git a/shm/build/CMakeFiles/SHM_2077.dir/cmake_clean.cmake b/shm/build/CMakeFiles/SHM_2077.dir/cmake_clean.cmake deleted file mode 100644 index f80f3952c..000000000 --- a/shm/build/CMakeFiles/SHM_2077.dir/cmake_clean.cmake +++ /dev/null @@ -1,20 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/SHM_2077.dir/alcohol.cpp.o" - "CMakeFiles/SHM_2077.dir/cargo.cpp.o" - "CMakeFiles/SHM_2077.dir/coordinates.cpp.o" - "CMakeFiles/SHM_2077.dir/fruit.cpp.o" - "CMakeFiles/SHM_2077.dir/island.cpp.o" - "CMakeFiles/SHM_2077.dir/item.cpp.o" - "CMakeFiles/SHM_2077.dir/main.cpp.o" - "CMakeFiles/SHM_2077.dir/map.cpp.o" - "CMakeFiles/SHM_2077.dir/player.cpp.o" - "CMakeFiles/SHM_2077.dir/ship.cpp.o" - "CMakeFiles/SHM_2077.dir/store.cpp.o" - "SHM_2077" - "SHM_2077.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang CXX) - include(CMakeFiles/SHM_2077.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/shm/build/CMakeFiles/SHM_2077.dir/coordinates.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/coordinates.cpp.o deleted file mode 100644 index 08bacccc103812a2fdeae77dc1f799364c0602c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3592 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 diff --git a/shm/build/CMakeFiles/SHM_2077.dir/island.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/island.cpp.o deleted file mode 100644 index 270093930af23cc76db17247a458d25c8e2f312f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1576 zcmbtT&1(}u6n~r4Hfq#VJg60kCo9?^>qq@SWFf2_(UvF#L@VWCD5BU|ASlvkBS%RMc><qO!G88QXBePhz#}-c6brDN zKh&*QwV((m;pdsl2X!8O<p0?l{cd+I$^2JvTY~fA%Fzrniy)LY6FAlTr!&?!;ZeMfvJo z6Gs>&;>b?1I_Ue+yZ+bw8<gs$Y?`WJJ`bjr5UF9jtMulE+dM;xb zP?k~&x~q-`8dNi#KaoK%rBouFPk#DaEEOQ-NETFcIgUK_sq)XuxU93ubx&TjAms_< ks75-Uxb(L}3M_g4IvE;dxhb=VT2}s8=69x%iIUF$1EjEtWdHyG diff --git a/shm/build/CMakeFiles/SHM_2077.dir/item.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/item.cpp.o deleted file mode 100644 index 77cb25e2cd372385f3edb48f3739b8e4df75a7a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12656 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 Kt2|7v{{I15eaA5X diff --git a/shm/build/CMakeFiles/SHM_2077.dir/link.txt b/shm/build/CMakeFiles/SHM_2077.dir/link.txt deleted file mode 100644 index ddb1a7871..000000000 --- a/shm/build/CMakeFiles/SHM_2077.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/c++ CMakeFiles/SHM_2077.dir/main.cpp.o CMakeFiles/SHM_2077.dir/island.cpp.o CMakeFiles/SHM_2077.dir/map.cpp.o CMakeFiles/SHM_2077.dir/player.cpp.o CMakeFiles/SHM_2077.dir/ship.cpp.o CMakeFiles/SHM_2077.dir/coordinates.cpp.o CMakeFiles/SHM_2077.dir/cargo.cpp.o CMakeFiles/SHM_2077.dir/store.cpp.o CMakeFiles/SHM_2077.dir/alcohol.cpp.o CMakeFiles/SHM_2077.dir/item.cpp.o CMakeFiles/SHM_2077.dir/fruit.cpp.o -o SHM_2077 diff --git a/shm/build/CMakeFiles/SHM_2077.dir/main.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/main.cpp.o deleted file mode 100644 index a908edca662d206dff2aedfe41f90ec6a4e4f2df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225216 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 N%b|TTnSL|a{{urD2IK$$ diff --git a/shm/build/CMakeFiles/SHM_2077.dir/progress.make b/shm/build/CMakeFiles/SHM_2077.dir/progress.make deleted file mode 100644 index 5d4d46460..000000000 --- a/shm/build/CMakeFiles/SHM_2077.dir/progress.make +++ /dev/null @@ -1,13 +0,0 @@ -CMAKE_PROGRESS_1 = 1 -CMAKE_PROGRESS_2 = 2 -CMAKE_PROGRESS_3 = 3 -CMAKE_PROGRESS_4 = 4 -CMAKE_PROGRESS_5 = 5 -CMAKE_PROGRESS_6 = 6 -CMAKE_PROGRESS_7 = 7 -CMAKE_PROGRESS_8 = 8 -CMAKE_PROGRESS_9 = 9 -CMAKE_PROGRESS_10 = 10 -CMAKE_PROGRESS_11 = 11 -CMAKE_PROGRESS_12 = 12 - diff --git a/shm/build/CMakeFiles/SHM_2077.dir/ship.cpp.o b/shm/build/CMakeFiles/SHM_2077.dir/ship.cpp.o deleted file mode 100644 index 3ed4e55f3d791503f207b971b0572017ade11871..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213520 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 NjfX1q%gbBl|34SOd2Rpz diff --git a/shm/build/CMakeFiles/TargetDirectories.txt b/shm/build/CMakeFiles/TargetDirectories.txt deleted file mode 100644 index aa2925ac7..000000000 --- a/shm/build/CMakeFiles/TargetDirectories.txt +++ /dev/null @@ -1,3 +0,0 @@ -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/rebuild_cache.dir -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/edit_cache.dir -/home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/SHM_2077.dir diff --git a/shm/build/CMakeFiles/cmake.check_cache b/shm/build/CMakeFiles/cmake.check_cache deleted file mode 100644 index 3dccd7317..000000000 --- a/shm/build/CMakeFiles/cmake.check_cache +++ /dev/null @@ -1 +0,0 @@ -# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/shm/build/CMakeFiles/progress.marks b/shm/build/CMakeFiles/progress.marks deleted file mode 100644 index 48082f72f..000000000 --- a/shm/build/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -12 diff --git a/shm/build/Makefile b/shm/build/Makefile deleted file mode 100644 index 6871b618f..000000000 --- a/shm/build/Makefile +++ /dev/null @@ -1,478 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/linux/workspace/OOP/SHM/object-oriented-programming/shm - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache - -.PHONY : rebuild_cache/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." - /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache - -.PHONY : edit_cache/fast - -# The main all target -all: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles/progress.marks - $(MAKE) -f CMakeFiles/Makefile2 all - $(CMAKE_COMMAND) -E cmake_progress_start /home/linux/workspace/OOP/SHM/object-oriented-programming/shm/build/CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - $(MAKE) -f CMakeFiles/Makefile2 clean -.PHONY : clean - -# The main clean target -clean/fast: clean - -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - $(MAKE) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - $(MAKE) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -#============================================================================= -# Target rules for targets named SHM_2077 - -# Build rule for target. -SHM_2077: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 SHM_2077 -.PHONY : SHM_2077 - -# fast build rule for target. -SHM_2077/fast: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/build -.PHONY : SHM_2077/fast - -alcohol.o: alcohol.cpp.o - -.PHONY : alcohol.o - -# target to build an object file -alcohol.cpp.o: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/alcohol.cpp.o -.PHONY : alcohol.cpp.o - -alcohol.i: alcohol.cpp.i - -.PHONY : alcohol.i - -# target to preprocess a source file -alcohol.cpp.i: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/alcohol.cpp.i -.PHONY : alcohol.cpp.i - -alcohol.s: alcohol.cpp.s - -.PHONY : alcohol.s - -# target to generate assembly for a file -alcohol.cpp.s: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/alcohol.cpp.s -.PHONY : alcohol.cpp.s - -cargo.o: cargo.cpp.o - -.PHONY : cargo.o - -# target to build an object file -cargo.cpp.o: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/cargo.cpp.o -.PHONY : cargo.cpp.o - -cargo.i: cargo.cpp.i - -.PHONY : cargo.i - -# target to preprocess a source file -cargo.cpp.i: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/cargo.cpp.i -.PHONY : cargo.cpp.i - -cargo.s: cargo.cpp.s - -.PHONY : cargo.s - -# target to generate assembly for a file -cargo.cpp.s: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/cargo.cpp.s -.PHONY : cargo.cpp.s - -coordinates.o: coordinates.cpp.o - -.PHONY : coordinates.o - -# target to build an object file -coordinates.cpp.o: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/coordinates.cpp.o -.PHONY : coordinates.cpp.o - -coordinates.i: coordinates.cpp.i - -.PHONY : coordinates.i - -# target to preprocess a source file -coordinates.cpp.i: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/coordinates.cpp.i -.PHONY : coordinates.cpp.i - -coordinates.s: coordinates.cpp.s - -.PHONY : coordinates.s - -# target to generate assembly for a file -coordinates.cpp.s: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/coordinates.cpp.s -.PHONY : coordinates.cpp.s - -fruit.o: fruit.cpp.o - -.PHONY : fruit.o - -# target to build an object file -fruit.cpp.o: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/fruit.cpp.o -.PHONY : fruit.cpp.o - -fruit.i: fruit.cpp.i - -.PHONY : fruit.i - -# target to preprocess a source file -fruit.cpp.i: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/fruit.cpp.i -.PHONY : fruit.cpp.i - -fruit.s: fruit.cpp.s - -.PHONY : fruit.s - -# target to generate assembly for a file -fruit.cpp.s: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/fruit.cpp.s -.PHONY : fruit.cpp.s - -island.o: island.cpp.o - -.PHONY : island.o - -# target to build an object file -island.cpp.o: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/island.cpp.o -.PHONY : island.cpp.o - -island.i: island.cpp.i - -.PHONY : island.i - -# target to preprocess a source file -island.cpp.i: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/island.cpp.i -.PHONY : island.cpp.i - -island.s: island.cpp.s - -.PHONY : island.s - -# target to generate assembly for a file -island.cpp.s: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/island.cpp.s -.PHONY : island.cpp.s - -item.o: item.cpp.o - -.PHONY : item.o - -# target to build an object file -item.cpp.o: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/item.cpp.o -.PHONY : item.cpp.o - -item.i: item.cpp.i - -.PHONY : item.i - -# target to preprocess a source file -item.cpp.i: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/item.cpp.i -.PHONY : item.cpp.i - -item.s: item.cpp.s - -.PHONY : item.s - -# target to generate assembly for a file -item.cpp.s: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/item.cpp.s -.PHONY : item.cpp.s - -main.o: main.cpp.o - -.PHONY : main.o - -# target to build an object file -main.cpp.o: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/main.cpp.o -.PHONY : main.cpp.o - -main.i: main.cpp.i - -.PHONY : main.i - -# target to preprocess a source file -main.cpp.i: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/main.cpp.i -.PHONY : main.cpp.i - -main.s: main.cpp.s - -.PHONY : main.s - -# target to generate assembly for a file -main.cpp.s: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/main.cpp.s -.PHONY : main.cpp.s - -map.o: map.cpp.o - -.PHONY : map.o - -# target to build an object file -map.cpp.o: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/map.cpp.o -.PHONY : map.cpp.o - -map.i: map.cpp.i - -.PHONY : map.i - -# target to preprocess a source file -map.cpp.i: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/map.cpp.i -.PHONY : map.cpp.i - -map.s: map.cpp.s - -.PHONY : map.s - -# target to generate assembly for a file -map.cpp.s: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/map.cpp.s -.PHONY : map.cpp.s - -player.o: player.cpp.o - -.PHONY : player.o - -# target to build an object file -player.cpp.o: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/player.cpp.o -.PHONY : player.cpp.o - -player.i: player.cpp.i - -.PHONY : player.i - -# target to preprocess a source file -player.cpp.i: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/player.cpp.i -.PHONY : player.cpp.i - -player.s: player.cpp.s - -.PHONY : player.s - -# target to generate assembly for a file -player.cpp.s: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/player.cpp.s -.PHONY : player.cpp.s - -ship.o: ship.cpp.o - -.PHONY : ship.o - -# target to build an object file -ship.cpp.o: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/ship.cpp.o -.PHONY : ship.cpp.o - -ship.i: ship.cpp.i - -.PHONY : ship.i - -# target to preprocess a source file -ship.cpp.i: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/ship.cpp.i -.PHONY : ship.cpp.i - -ship.s: ship.cpp.s - -.PHONY : ship.s - -# target to generate assembly for a file -ship.cpp.s: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/ship.cpp.s -.PHONY : ship.cpp.s - -store.o: store.cpp.o - -.PHONY : store.o - -# target to build an object file -store.cpp.o: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/store.cpp.o -.PHONY : store.cpp.o - -store.i: store.cpp.i - -.PHONY : store.i - -# target to preprocess a source file -store.cpp.i: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/store.cpp.i -.PHONY : store.cpp.i - -store.s: store.cpp.s - -.PHONY : store.s - -# target to generate assembly for a file -store.cpp.s: - $(MAKE) -f CMakeFiles/SHM_2077.dir/build.make CMakeFiles/SHM_2077.dir/store.cpp.s -.PHONY : store.cpp.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... rebuild_cache" - @echo "... edit_cache" - @echo "... SHM_2077" - @echo "... alcohol.o" - @echo "... alcohol.i" - @echo "... alcohol.s" - @echo "... cargo.o" - @echo "... cargo.i" - @echo "... cargo.s" - @echo "... coordinates.o" - @echo "... coordinates.i" - @echo "... coordinates.s" - @echo "... fruit.o" - @echo "... fruit.i" - @echo "... fruit.s" - @echo "... island.o" - @echo "... island.i" - @echo "... island.s" - @echo "... item.o" - @echo "... item.i" - @echo "... item.s" - @echo "... main.o" - @echo "... main.i" - @echo "... main.s" - @echo "... map.o" - @echo "... map.i" - @echo "... map.s" - @echo "... player.o" - @echo "... player.i" - @echo "... player.s" - @echo "... ship.o" - @echo "... ship.i" - @echo "... ship.s" - @echo "... store.o" - @echo "... store.i" - @echo "... store.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/shm/build/SHM_2077 b/shm/build/SHM_2077 deleted file mode 100755 index 67d5e4fc4e575bbe7019c076a97dc0950366f9d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238472 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 Date: Tue, 17 Aug 2021 01:25:59 +0200 Subject: [PATCH 073/100] another small bug fixes (function declarations etc.) --- shm/cargo.cpp | 2 +- shm/fruit.cpp | 2 +- shm/fruit.hpp | 2 +- shm/ship.hpp | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/shm/cargo.cpp b/shm/cargo.cpp index 4c8224291..1f9ab06c4 100644 --- a/shm/cargo.cpp +++ b/shm/cargo.cpp @@ -1,7 +1,7 @@ #include #include "cargo.hpp" -Cargo::Cargo(std::string name, size_t amount, size_t basePrice, Time *time) +Cargo::Cargo(const std::string& name, size_t amount, size_t basePrice, Time *time) : name_(name) , amount_(amount) , basePrice_(basePrice) diff --git a/shm/fruit.cpp b/shm/fruit.cpp index 995fffb53..0c11e3a4b 100644 --- a/shm/fruit.cpp +++ b/shm/fruit.cpp @@ -34,7 +34,7 @@ Fruit& Fruit::operator--() { return *this; } -Fruit Fruit::operator--(int) { +Fruit& Fruit::operator--(int) { if(purchaseDate_ <= 0) { purchaseDate_ = 0; } diff --git a/shm/fruit.hpp b/shm/fruit.hpp index 7d7c81c4e..2d8ba12b5 100644 --- a/shm/fruit.hpp +++ b/shm/fruit.hpp @@ -11,7 +11,7 @@ class Fruit : public Cargo { Cargo& operator-=(size_t amount) override; bool operator==(const Cargo&) const override; virtual Fruit& operator--(); - virtual Fruit operator--(int); + virtual Fruit& operator--(int); //Methods override from Cargo class. virtual size_t getPrice() const override; diff --git a/shm/ship.hpp b/shm/ship.hpp index f83f78aad..c30533b1a 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -12,7 +12,7 @@ class Ship : public IObserver public: Ship(Time * time) : id_(-1) { - time ->attachObeserver(this); + time ->attachObserver(this); } Ship(size_t capacity, size_t maxCrew, size_t crew, size_t speed, const std::string& name, size_t id, std::vector> cargos, Time * time) : capacity_(capacity) @@ -24,11 +24,11 @@ class Ship : public IObserver , cargos_(cargos) , time_(time) { - time->attachObeserver(this); + time->attachObserver(this); } Ship(size_t maxCrew, size_t speed, size_t id, Time * time) : Ship(0, maxCrew, 0, speed, "", id, {}, time) { - time->attachObeserver(this); + time->attachObserver(this); } Ship& operator-=(size_t num); From 26c4daf65059b1f4fc40e305ee00284c71524991 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Tue, 17 Aug 2021 01:31:48 +0200 Subject: [PATCH 074/100] syntax fix in main.cpp --- shm/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shm/main.cpp b/shm/main.cpp index 18f44757b..ce3f285ff 100644 --- a/shm/main.cpp +++ b/shm/main.cpp @@ -15,7 +15,7 @@ int main() { auto cargo1 = std::make_shared("cebula", 40, 2, 20); auto cargo2 = std::make_shared("drewno", 10, 20, Rarity::epic); - auto cargo3 = std::make_shared(Alcohol("wino", 10, 100, 15)); + auto cargo3 = std::make_shared("wino", 10, 100, 15); // auto cargo4 = std::make_shared("miedz", 10, 1); // auto cargo5 = std::make_shared("rubin", 10, 2); // auto cargo6 = std::make_shared("cebula", 3, 10); From 2a51252e65836ab33105160fba0d0416593c7ee2 Mon Sep 17 00:00:00 2001 From: bartosz-gruszczyk Date: Tue, 17 Aug 2021 01:58:03 +0200 Subject: [PATCH 075/100] another small after-merge fixes --- shm/player.cpp | 2 ++ shm/player.hpp | 2 -- shm/ship.hpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/shm/player.cpp b/shm/player.cpp index 41c7d7d51..3d33f1d1c 100644 --- a/shm/player.cpp +++ b/shm/player.cpp @@ -80,6 +80,8 @@ void Player::buy(std::shared_ptr& cargo,const size_t& amount) { getShip()->load(cargo, amount); money_ -= cargo->getPrice() * amount; +} + void Player::setMoney(size_t money) { money_ = money; } \ No newline at end of file diff --git a/shm/player.hpp b/shm/player.hpp index ae27fc72c..7b51a9dbb 100644 --- a/shm/player.hpp +++ b/shm/player.hpp @@ -18,8 +18,6 @@ class Player { void printCargo() const; void setMoney(size_t money); - void setMoney(size_t money) {money_ = money;}; - void sell( std::shared_ptr& cargo,const size_t& amount); void buy ( std::shared_ptr& cargo,const size_t& amount); diff --git a/shm/ship.hpp b/shm/ship.hpp index 4cc94a063..bb2a46224 100644 --- a/shm/ship.hpp +++ b/shm/ship.hpp @@ -45,7 +45,7 @@ class Ship : public IObserver std::shared_ptr getCargo(size_t index) const; std::vector> getCargosVector() const; - std::vector>::iterator findMatchCargo(std::shared_ptr cargo); + std::vector>::iterator findMatchCargo(std::shared_ptr cargo); void setName(const std::string& name); From eae7cb9b3686c0bc2d485f01e2adbd56f24e6d7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Fri, 27 Aug 2021 15:44:02 +0200 Subject: [PATCH 076/100] changes in store class --- shm/store.cpp | 235 +++++++++++++++++++++----------------------------- shm/store.hpp | 18 ++-- 2 files changed, 103 insertions(+), 150 deletions(-) diff --git a/shm/store.cpp b/shm/store.cpp index 6b7c57979..0ed8664a6 100644 --- a/shm/store.cpp +++ b/shm/store.cpp @@ -10,162 +10,102 @@ #include #include +constexpr size_t AMOUNT_MIN = 5; +constexpr size_t AMOUNT_MAX = 150; +constexpr size_t POWER_MIN = 10; +constexpr size_t POWER_MAX = 90; +constexpr size_t DAY_MIN = 5; +constexpr size_t DAY_MAX = 17; +constexpr size_t PRICE_MIN = 5; +constexpr size_t PRICE_MAX = 145; + Store::Store() { generateDefaultCargo(); -}; - -// std::shared_ptr Store::findCargoInStore(const std::string& name) { -// auto find = std::find_if(stock_.begin(), -// stock_.end(), -// [&name](const auto& cargo) { return cargo->getName() == name; }); -// if (find != stock_.end()) { -// return find->get() -// } - -// return nullptr; -// } - -// std::shared_ptr Store::findCargoInStore(const std::shared_ptr wantedCargo) { -// for( const auto el : stock_) { -// if(*el == *wantedCargo){ -// return el; -// } -// } -// } - -// Response Store::buy(std::shared_ptr& cargo, size_t amount, Player* player) { -// if (!cargo || !amount || !player) { -// return Response::lack_of_cargo; -// } - -// std::shared_ptr playerShip = player->getShip(); -// if (!playerShip) { -// return Response::lack_of_cargo; -// } - -// auto soldPlayerCargo = playerShip->getCargosVector()[0]; -// for (const auto el : playerShip->getCargosVector()) { -// auto loopCargo = el; - -// if (loopCargo == cargo) { -// if (loopCargo->getAmount() < amount) { -// return Response::lack_of_space; -// } -// } -// soldPlayerCargo = loopCargo; -// } - -// if (!soldPlayerCargo) { -// return Response::lack_of_cargo; -// } - -// player->sell(cargo, amount); -// unloadShip(cargo,amount); - -// return Response::done; - -// } +} -Response Store::sell(std::shared_ptr& cargo, size_t amount, Player* player) { - //lack of an amount of cargo in store +std::vector>::iterator Store::findMatchCargo(const std::shared_ptr wantedCargo) { + auto find = std::find_if(stock_.begin(), + stock_.end(), + [&wantedCargo](const auto& cargo) { return cargo->getName() == wantedCargo->getName(); }); + + return find; +} + +Response Store::buy(std::shared_ptr& cargo, size_t amount, Player* player) { + if (!cargo || !amount || !player) { + return Response::lack_of_cargo; + } + + std::shared_ptr playerShip = player->getShip(); + if (!playerShip) { + return Response::lack_of_cargo; + } + + auto shipCargo = playerShip->findMatchCargo(cargo); + auto shipStock = playerShip->getCargosVector(); + if (shipCargo == shipStock.end()) { + return Response::lack_of_cargo; + } + + if (shipCargo->get()->getAmount() < amount) { + return Response::lack_of_cargo; + } + + player->sell(cargo, amount); + unloadShip(cargo, amount); - std::cout << "nazwa ładunku: " << cargo->getName() << " ilosć ładunku: " << amount << " ile miejsc wolnych u zawodnika: " << player->getAvailableSpace() << '\n'; + return Response::done; +} + +Response Store::sell(std::shared_ptr& cargo, size_t amount, Player* player) { if (!cargo || !amount) { - std::cout << " lack of cargo !cargo || !amount\n"; Response::lack_of_cargo; } - //lack of space on player's ship if (!player) { - std::cout << " I am here !player'\n"; - return Response::lack_of_space; } std::shared_ptr playerShip = player->getShip(); if (!playerShip) { - std::cout << " I am here . NO player ship'\n"; - return Response::lack_of_space; } - - // Check if player can take cargo on ship - bool playerHaveTheSameCargo = false; - auto playerCargo = playerShip->getCargosVector(); - for (const auto& el : playerCargo) { - if (el->getName() == cargo->getName()) { - playerHaveTheSameCargo = true; - break; + auto wantedCargo = findMatchCargo(cargo); + if (wantedCargo != stock_.end()) { + if (wantedCargo->get()->getAmount() < amount) { + std::cout << "Not enough cargo in Store \n"; + return Response::lack_of_cargo; } } - if (!playerHaveTheSameCargo && !player->getAvailableSpace()) { - std::cout << " I am here brak miejsca'\n"; - ; + if (player->getAvailableSpace() < amount) { + std::cout << "There is no space on the ship\n"; return Response::lack_of_space; } - // Finding cargo in the store - // auto StoredCargo = findCargoInStore(cargo); - // std::cout << - - // std::cout << "nazw stored Cargo: " << StoredCargo->get()->getAmount(); - // if (StoredCargo != stock_.end()) { - // std::cout << " I am here NIE ma cargo w store'\n" << StoredCargo->get()->getName() << '\n'; - - // return Response::lack_of_cargo; - // } - - // // not enough cargo amount in the store - - // if (StoredCargo->get()->getAmount() < amount) { - // std::cout << " I am here'\n"; - - // return Response::lack_of_cargo; - // } - - // // Too expenisive for player - - // if (player->getMoney() < amount * (StoredCargo->get()->getPrice())) { - // std::cout << " I am here'\n"; - - // return Response::lack_of_money; - // } + if (player->getMoney() <= 0) { + std::cout << "NO MONEY\n"; + return Response::lack_of_money; + } - // Dopisać co sie stanie gdy dojedzie do sprzedaży. - // Unload ze Statku. Load na statek. - // Jak sie zmieni konto gracza. player->buy(cargo, amount); + std::cout << '\n'; loadShip(cargo, amount); return Response::done; - } - - - std::ostream& operator<<(std::ostream& os, const Store& store) { int counter = 1; + os << '\n'; + os << std::setfill(' ') << "ID" << std::setw(30) << " TYPE OF CARGO" << std::setw(18) << "AMOUNT" << std::setw(27) << "PRICE\n"; for (const auto& el : store.stock_) { - os << "|" << std::setw(20); - os << std::setfill(' ') << std::setw(20) << "ID: " << counter; - os << std::setw(20) << " TYPE OF CARGO: " << el->getName(); - os << std::setw(20) << " AMOUNT: " << el->getAmount(); - os << std::setw(20) << " PRICE: " << el->getPrice() << '\n'; + os << std::left << std::setfill(' ') << std::setw(19) << counter << std::setw(25) << el->getName() << std::setw(27) << el->getAmount() << std::setw(5) << el->getPrice() << '\n'; counter++; } - os << "|" << std::setfill('*') << std::setw(100) << "|\n"; + os << std::setfill('*') << std::setw(100) << "\n"; return os; } -constexpr size_t AMOUNT_MIN = 5; -constexpr size_t AMOUNT_MAX = 150; -constexpr size_t POWER_MIN = 10; -constexpr size_t POWER_MAX = 90; -constexpr size_t DAY_MIN = 5; -constexpr size_t DAY_MAX = 17; -constexpr size_t PRICE_MIN = 5; -constexpr size_t PRICE_MAX = 145; void Store::generateDefaultCargo() { std::random_device rm; @@ -192,36 +132,53 @@ void Store::generateDefaultCargo() { stock_.push_back(std::make_shared("Ivory", amountR(gr), priceR(gr), Rarity::rare)); } - void Store::loadShip(std::shared_ptr& cargo, size_t& amount) { - if(!cargo){ + if (!cargo) { return; } - bool flag = false; - for (const auto& el : stock_) { - if( el->getName() == cargo->getName()) - { - el->setAmount(el->getAmount() - amount); - flag = true; - break; + + auto loadedCargo = findMatchCargo(cargo); + if (loadedCargo != stock_.end()) { + loadedCargo->get()->setAmount(loadedCargo->get()->getAmount() - amount); + + if (loadedCargo->get()->getAmount() == 0) { + stock_.erase(loadedCargo); } } - if(!flag) { - std::cout << "dupa: \n"; + if (loadedCargo == stock_.end()) { + std::cout << "There is no cargo!!!\n"; + return; } } void Store::unloadShip(std::shared_ptr& cargo, size_t& amount) { - if(!cargo){ + if (!cargo) { return; } - for (const auto& el : stock_) { - if( el->getName() == cargo->getName()) - { - el->setAmount(el->getAmount() + amount); - std::cout << "dodało do store'\n"; - break; - } + + auto unloadCargo = findMatchCargo(cargo); + if (unloadCargo != stock_.end()) { + unloadCargo->get()->setAmount(unloadCargo->get()->getAmount() + amount); + } + addCargo(cargo, amount); +} + +void Store::addCargo(std::shared_ptr& cargo, size_t amount) { + if (Alcohol* alcohol = dynamic_cast(cargo.get())) { + stock_.push_back(std::make_shared(alcohol->getName(), + amount, + alcohol->getBasePrice(), + alcohol->getPercentage())); + } else if (Fruit* fruit = dynamic_cast(cargo.get())) { + stock_.push_back(std::make_shared(fruit->getName(), + amount, + fruit->getBasePrice(), + fruit->getExpirationDate())); + } else if (Item* item = dynamic_cast(cargo.get())) { + stock_.push_back(std::make_shared(item->getName(), + amount, + item->getPrice(), + item->getRarity())); } } diff --git a/shm/store.hpp b/shm/store.hpp index 7c85e40d7..ab01cfea7 100644 --- a/shm/store.hpp +++ b/shm/store.hpp @@ -21,22 +21,18 @@ class Store { Response buy(std::shared_ptr& cargo, size_t amount, Player* player); Response sell(std::shared_ptr& cargo, size_t amount, Player* player); + std::vector> getCargoOfStore() const { return stock_; }; - std::shared_ptr findCargoInStore(const std::string& name); - // function loading cargos to store - // void load(const std::shared_ptr& cargo); - // // function ulnoading cargos from store - // void unload(const std::shared_ptr& cargo); - void addCargosOfStore(std::shared_ptr); - - + // Function responsible for adding a new cargo to a Store + void addCargo(std::shared_ptr& cargo, size_t amount); + // Fucntion responsible for subtracting cargo from a Store. void loadShip(std::shared_ptr& cargo, size_t& amount); + // Funcition responsibel for adding amount of cargo to a Store. void unloadShip(std::shared_ptr& cargo, size_t& amount); - // void ereasFromCargosOfStore(std::shared_ptr); - // std::shared_ptr findCargoInStore(const std::shared_ptr wantedCargo); + // Function responsible for finding proper cargo. + std::vector>::iterator findMatchCargo(const std::shared_ptr wantedCargo); friend std::ostream& operator<<(std::ostream& os, const Store& store); - std::vector> getCargoOfStore() const { return stock_; }; private: std::vector> stock_{}; From 755efc9645b88113297c8f6dfb112c66b1069ac8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20P=C5=82=C3=B3ciennik?= Date: Fri, 27 Aug 2021 15:45:18 +0200 Subject: [PATCH 077/100] adding game class --- shm/game.cpp | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++ shm/game.hpp | 56 ++++++++++++++++++ 2 files changed, 213 insertions(+) create mode 100644 shm/game.cpp create mode 100644 shm/game.hpp diff --git a/shm/game.cpp b/shm/game.cpp new file mode 100644 index 000000000..42559eac7 --- /dev/null +++ b/shm/game.cpp @@ -0,0 +1,157 @@ +#include "game.hpp" +#include +#include "map.hpp" + +Game::Game(size_t money, size_t days, size_t goal) + : money_(money), + gameDayes_(days), + finalGoal_(goal) { + time_ = std::make_shared