Merge new changes to unordered & hash.

- Unordered tests can run lightweight test or Boost.Test (at least
   theoretically).
 - Workaround Open BSD's incorrect numeric_limits.
 - Move the hash extensions in their own file.
 - Various small improvements to the unordered docs.
 - Fix some unordered examples.

Merged revisions 43117-43837 via svnmerge from 
https://svn.boost.org/svn/boost/branches/unordered/trunk


[SVN r43838]
This commit is contained in:
Daniel James
2008-03-24 17:03:15 +00:00
parent 535a41a2f5
commit e07e7e889d
29 changed files with 399 additions and 324 deletions

View File

@@ -5,7 +5,7 @@
#include <boost/unordered_set.hpp>
#include <boost/unordered_map.hpp>
#include <boost/detail/lightweight_test.hpp>
#include "../helpers/test.hpp"
#include <boost/next_prior.hpp>
#include "../objects/test.hpp"
#include "../helpers/random_values.hpp"
@@ -15,6 +15,9 @@
#include <iostream>
namespace erase_tests
{
test::seed_t seed(85638);
template <class Container>
@@ -119,30 +122,19 @@ void erase_tests1(Container*, test::random_generator generator = test::default_g
std::cerr<<"\n";
}
int main()
{
boost::unordered_set<test::object, test::hash, test::equal_to, test::allocator<test::object> >* test_set;
boost::unordered_multiset<test::object, test::hash, test::equal_to, test::allocator<test::object> >* test_multiset;
boost::unordered_map<test::object, test::object, test::hash, test::equal_to, test::allocator<test::object> >* test_map;
boost::unordered_multimap<test::object, test::object, test::hash, test::equal_to, test::allocator<test::object> >* test_multimap;
boost::unordered_set<test::object, test::hash, test::equal_to, test::allocator<test::object> >* test_set;
boost::unordered_multiset<test::object, test::hash, test::equal_to, test::allocator<test::object> >* test_multiset;
boost::unordered_map<test::object, test::object, test::hash, test::equal_to, test::allocator<test::object> >* test_map;
boost::unordered_multimap<test::object, test::object, test::hash, test::equal_to, test::allocator<test::object> >* test_multimap;
std::cerr<<"Erase test_set.\n";
erase_tests1(test_set);
std::cerr<<"Erase test_multiset.\n";
erase_tests1(test_multiset);
std::cerr<<"Erase test_map.\n";
erase_tests1(test_map);
std::cerr<<"Erase test_multimap.\n";
erase_tests1(test_multimap);
using test::default_generator;
using test::generate_collisions;
std::cerr<<"Erase test_set, collisions.\n";
erase_tests1(test_set, test::generate_collisions);
std::cerr<<"Erase test_multiset, collisions.\n";
erase_tests1(test_multiset, test::generate_collisions);
std::cerr<<"Erase test_map, collisions.\n";
erase_tests1(test_map, test::generate_collisions);
std::cerr<<"Erase test_multimap, collisions.\n";
erase_tests1(test_multimap, test::generate_collisions);
UNORDERED_TEST(erase_tests1,
((test_set)(test_multiset)(test_map)(test_multimap))
((default_generator)(generate_collisions))
)
return boost::report_errors();
}
RUN_TESTS()