void check(T const& x, strong_type const& strong) const { std::string scope(test::scope); if(scope.find("hash::operator()") == std::string::npos) strong.test(x, test::exception::detail::tracker.count_allocations); test::check_equivalent_keys(x); }
void run(T& x, strong_type& strong) const { for(BOOST_DEDUCED_TYPENAME test::random_values<T>::const_iterator it = this->values.begin(), end = this->values.end(); it != end; ++it) { strong.store(x, test::exception::detail::tracker.count_allocations); x.insert(x.begin(), *it); } }
void check BOOST_PREVENT_MACRO_SUBSTITUTION( T const& x, strong_type const& strong) const { std::string scope(test::scope); if(scope.find("hash::operator()") == std::string::npos) strong.test(x, test::detail::tracker.count_allocations); test::check_equivalent_keys(x); }
void check(T const& x, strong_type const& strong) const { std::string scope(test::scope); if(scope.find("hash::operator()") == std::string::npos && scope.find("equal_to::operator()") == std::string::npos && scope != "operator==(object, object)") strong.test(x); test::check_equivalent_keys(x); }
void check BOOST_PREVENT_MACRO_SUBSTITUTION(T const& x, strong_type const& strong) const { std::string scope(test::scope()); if(scope.find("hash::operator()") == std::string::npos && scope.find("equal_to::operator()") == std::string::npos && scope != "operator==(object, object)") strong.test(x); test::check_equivalent_keys(x); }
void run(T& x, strong_type& strong) const { BOOST_DEDUCED_TYPENAME T::size_type bucket_count = x.bucket_count(); int count = 0; for(BOOST_DEDUCED_TYPENAME test::random_values<T>::const_iterator it = boost::next(this->values.begin(), x.size()), end = this->values.end(); it != end && count < 10; ++it, ++count) { strong.store(x, test::exception::detail::tracker.count_allocations); x.insert(*it); } // This isn't actually a failure, but it means the test isn't doing its // job. BOOST_TEST(x.bucket_count() != bucket_count); }