Something went wrong. Try again.
Java--'s standard template library projects.intra.42.fr/projects/cpp-module-08
Something went wrong. Try again.
981 B · 43 lines
C++
at main
1234567891011121314151617181920212223242526272829303132333435363738394041424344#include <cassert>#include <deque>#include <easyfind.hpp>#include <list>#include <vector>
#define ASSERT_THROWS(expression) \ try { \ (expression); \ assert(false && "Expected exception did not throw: " #expression); \ } catch (...) { \ }
#define TEST_CONTAINER(container) \ for (int i = 0; i < size; ++i) \ assert(easyfind((container), array[i]) == i); \ ASSERT_THROWS(easyfind((container), 256));
int main() { const int array[] = {1, 2, 4, 8, 16, 32, 64, 128}; const int size = sizeof(array) / sizeof(array[0]); const int* last = array + size;
{ std::vector<int> vector(array, last); std::deque<int> deque(array, last); std::list<int> list(array, last);
TEST_CONTAINER(vector); TEST_CONTAINER(deque); TEST_CONTAINER(list); }
{ const std::vector<int> vector(array, last); const std::deque<int> deque(array, last); const std::list<int> list(array, last);
TEST_CONTAINER(vector); TEST_CONTAINER(deque); TEST_CONTAINER(list); }}