#include #include #include #include using namespace std; typedef list::iterator Iterator; int main() { CGAL_TEST_START; list L; L.push_back(1); L.push_back(2); Iterator it1 = L.begin(); CGAL::Unique_hash_map H1; CGAL::Unique_hash_map H2(-1); CGAL_TEST( H1.default_value() == 0); CGAL_TEST( H2.default_value() == -1); H1[it1] = 2; CGAL_TEST(H1[it1]==2); CGAL_TEST(H2[it1]==-1); H1.clear(); H2.clear(-2); H2[it1] = 2; CGAL_TEST(H1[it1]==0); CGAL_TEST(H2[it1]==2); Iterator it2 = L.end(); --it2; const CGAL::Unique_hash_map* pH = &H2; CGAL_TEST((*pH)[it2]==-2); H1.clear(-1); L.push_back(3); L.push_back(4); L.push_back(5); CGAL_TEST( L.size() == 5); H1.insert( L.begin(), L.end(), 1); for ( Iterator i = L.begin(); i != L.end(); ++i) { CGAL_TEST( H1[i] == *i); } CGAL::Unique_hash_map H3( L.begin(), L.end(), 1); for ( Iterator j = L.begin(); j != L.end(); ++j) { CGAL_TEST( H3[j] == *j); } CGAL::Handle_hash_function hash; CGAL::Unique_hash_map H4( L.begin(), L.end(), 1, -1, 512, hash); for ( Iterator k = L.begin(); k != L.end(); ++k) { CGAL_TEST( H4[k] == *k); } hash = H4.hash_function(); std::cerr << "done" << std::endl; CGAL_TEST_END; }