#include "easyfind.hpp" #include #include #include int main() { std::vector vec = {1, 2, 3, 4, 5}; try { std::cout << "Testing with vector...\n"; std::cout << "Vector contents: "; for (const auto &val : vec) { std::cout << val << " "; } std::cout << "\n"; std::cout << "Searching for value 3...\n"; int &found = easyfind(vec, 3); std::cout << "Found: " << found << std::endl; std::cout << "Modifying found value...\n"; found = 10; // Modify the found value for (const auto &val : vec) { std::cout << val << " "; } std::cout << "\n"; } catch (const std::out_of_range &e) { std::cerr << e.what() << std::endl; } try { std::cout << "Searching for value 6 (not in vector)...\n"; int ¬Found = easyfind(vec, 6); std::cout << "Found: " << notFound << std::endl; } catch (const std::out_of_range &e) { std::cerr << e.what() << std::endl; } std::cout << "\n\nTesting with deque...\n"; std::deque deq = {10, 20, 30, 40, 50}; try { std::cout << "Deque contents: "; for (const auto &val : deq) { std::cout << val << " "; } std::cout << "\n"; std::cout << "Searching for value 30...\n"; int &foundInDeque = easyfind(deq, 30); std::cout << "Found: " << foundInDeque << "\n"; std::cout << "Modifying found value...\n"; foundInDeque = 100; // Modify the found value for (const auto &val : deq) { std::cout << val << " "; } std::cout << "\n"; } catch (const std::out_of_range &e) { std::cerr << e.what() << std::endl; } try { std::cout << "Searching for value 60 (not in deque)...\n"; int ¬FoundInDeque = easyfind(deq, 60); std::cout << "Found: " << notFoundInDeque << std::endl; } catch (const std::out_of_range &e) { std::cerr << e.what() << std::endl; } return 0; }