main.cpp
1 /* ************************************************************************** */ 2 /* */ 3 /* ::: :::::::: */ 4 /* main.cpp :+: :+: :+: */ 5 /* +:+ +:+ +:+ */ 6 /* By: gychoi <gychoi@student.42seoul.kr> +#+ +:+ +#+ */ 7 /* +#+#+#+#+#+ +#+ */ 8 /* Created: 2023/12/25 22:52:15 by gychoi #+# #+# */ 9 /* Updated: 2023/12/30 17:52:58 by gychoi ### ########.fr */ 10 /* */ 11 /* ************************************************************************** */ 12 13 #include <deque> 14 #include <iostream> 15 #include <list> 16 #include <typeinfo> 17 #include <vector> 18 19 #include "easyfind.hpp" 20 21 template <typename T> 22 void display(T const& container) 23 { 24 typename T::const_iterator it; 25 for (it = container.begin(); it != container.end(); it++) 26 { 27 if (it == container.begin()) 28 { 29 std::cout << *it; 30 } 31 else 32 { 33 std::cout << ", " << *it; 34 } 35 } 36 std::cout << std::endl; 37 } 38 39 int main() 40 { 41 try 42 { 43 std::cout << "Testing Vector..." << std::endl; 44 45 std::vector<int> vec; 46 47 for (size_t i = 0; i < 5; i++) 48 { 49 vec.push_back(i); 50 } 51 52 display(vec); 53 54 std::vector<int>::iterator it = easyfind(vec, 2); 55 std::cout << "find: " << *it << std::endl; 56 } 57 catch (std::exception& e) 58 { 59 std::cout << e.what() << std::endl; 60 } 61 try 62 { 63 std::cout << "Testing List..." << std::endl; 64 65 std::list<int> lst; 66 67 for (size_t i = 0; i < 5; i++) 68 { 69 lst.push_back(i * -1); 70 } 71 72 display(lst); 73 74 std::list<int>::iterator it = easyfind(lst, 2); 75 std::cout << "find: " << *it << std::endl; 76 } 77 catch (std::exception& e) 78 { 79 std::cout << e.what() << std::endl; 80 } 81 try 82 { 83 std::cout << "Testing Const Deque..." << std::endl; 84 85 int tmp[] = { 1, 2, 3, 4, 5 }; 86 std::deque<int> const cdq(tmp, tmp + sizeof(tmp)/sizeof(tmp[0])); 87 88 display(cdq); 89 90 std::deque<int>::const_iterator cit = easyfind(cdq, -2); 91 std::cout << "find: " << *cit << std::endl; 92 } 93 catch (std::exception& e) 94 { 95 std::cout << e.what() << std::endl; 96 } 97 98 return 0; 99 }