diff --git a/Composite/CMakeLists.txt b/Composite/CMakeLists.txt deleted file mode 100644 index b6e1b44..0000000 --- a/Composite/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -cmake_minimum_required(VERSION 3.20) - -project( - Composite - VERSION 0.1.0 - LANGUAGES CXX) - -list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/../cmake") - -include(ExportCompileCommands) -include(sccache) - -add_executable(Composite main.cpp) - -target_compile_features(Composite PUBLIC cxx_std_20) - -set_target_properties( - Composite - PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/bin" - RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/bin" - RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/bin") diff --git a/Composite/bootstrap.sh b/Composite/bootstrap.sh deleted file mode 120000 index 796ed13..0000000 --- a/Composite/bootstrap.sh +++ /dev/null @@ -1 +0,0 @@ -../scripts/bootstrap.sh \ No newline at end of file diff --git a/Composite/build.sh b/Composite/build.sh deleted file mode 120000 index 0eff50d..0000000 --- a/Composite/build.sh +++ /dev/null @@ -1 +0,0 @@ -../scripts/build.sh \ No newline at end of file diff --git a/Composite/main.cpp b/Composite/main.cpp deleted file mode 100644 index 3e129f7..0000000 --- a/Composite/main.cpp +++ /dev/null @@ -1,60 +0,0 @@ -#include -#include -#include - -class Node { -public: - virtual ~Node() = default; - virtual void print() const = 0; -}; - -class InnerNode : public Node { -private: - std::string name_; - std::vector children_; - -public: - InnerNode(std::string_view name) : name_(name) {} - - void addNode(Node *node) { children_.push_back(node); } - - void print() const override { - std::cout << name_ << " (inner)" << std::endl; - - for (auto child : children_) { - child->print(); - } - } -}; - -class Leaf : public Node { -private: - std::string name_; - -public: - Leaf(std::string_view name) : name_(name) {} - - void print() const override { std::cout << name_ << " (leaf)" << std::endl; } -}; - -int main(int argc, char *argv[]) { - - std::cout << "Composite" << std::endl; - - InnerNode tree("root"); - InnerNode left("left"), right("right"); - Leaf leaf1("leaf 1"), leaf2("leaf 2"), leaf3("leaf 3"), leaf4("leaf 4"); - - tree.addNode(&left); - tree.addNode(&right); - - left.addNode(&leaf1); - left.addNode(&leaf2); - - right.addNode(&leaf3); - right.addNode(&leaf4); - - tree.print(); - - return EXIT_SUCCESS; -}