diff --git a/homework/vector-of-shared-ptrs/vectorFunctions.cpp b/homework/vector-of-shared-ptrs/vectorFunctions.cpp new file mode 100644 index 00000000..022aad42 --- /dev/null +++ b/homework/vector-of-shared-ptrs/vectorFunctions.cpp @@ -0,0 +1,42 @@ +#include +#include +#include +#include + +std::vector> generate(int count) { + std::vector> vector; + + for (int i = 0; i < count; i++) { + vector.push_back(std::make_shared(i)); + } + + return vector; +} + +void print(std::vector> vector) { + for (auto i : vector) { + std::cout << i << "\n"; + } +} + +void add10(std::vector> vector) { + for (auto i : vector) { + if (!i) { + return; + } + *i += 10; + } +} + +void sub10(int* const ptr) { + if (!ptr) { + return; + } + *ptr -= 10; +} + +void sub10(std::vector> vector) { + for (auto i : vector) { + sub10(i.get()); + } +} \ No newline at end of file diff --git a/homework/vector-of-shared-ptrs/vectorFunctions.hpp b/homework/vector-of-shared-ptrs/vectorFunctions.hpp new file mode 100644 index 00000000..bb7625f9 --- /dev/null +++ b/homework/vector-of-shared-ptrs/vectorFunctions.hpp @@ -0,0 +1,11 @@ +#pragma once +#include +#include +#include +#include + +std::vector> generate(int count); +void print(std::vector> vector); +void add10(std::vector> vector); +void sub10(int* const ptr); +void sub10(std::vector> vector); \ No newline at end of file