CPP08/ex00/src/main.cpp

87 lines
2.1 KiB
C++

#include "easyfind.hpp"
#include <deque>
#include <iostream>
#include <vector>
int main()
{
std::vector<int> 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 &notFound = 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<int> 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 &notFoundInDeque = easyfind(deq, 60);
std::cout << "Found: " << notFoundInDeque << std::endl;
}
catch (const std::out_of_range &e)
{
std::cerr << e.what() << std::endl;
}
return 0;
}