mirror of
https://github.com/boostorg/unordered.git
synced 2025-10-04 11:41:03 +02:00
76 lines
2.5 KiB
C++
76 lines
2.5 KiB
C++
|
|
// Copyright 2006-2007 Daniel James.
|
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
// This test creates the containers with members that meet their minimum
|
|
// requirements. Makes sure everything compiles and is defined correctly.
|
|
|
|
#include <boost/unordered_map.hpp>
|
|
|
|
#include <iostream>
|
|
#include <boost/detail/lightweight_test.hpp>
|
|
#include "../objects/minimal.hpp"
|
|
#include "./compile_tests.hpp"
|
|
|
|
void container_tests()
|
|
{
|
|
typedef std::pair<test::minimal::assignable const,
|
|
test::minimal::copy_constructible> value_type;
|
|
value_type value(
|
|
test::minimal::assignable::create(),
|
|
test::minimal::copy_constructible::create());
|
|
|
|
std::cout<<"Test unordered_map.\n";
|
|
boost::unordered_map<
|
|
test::minimal::assignable,
|
|
test::minimal::copy_constructible,
|
|
test::minimal::hash<test::minimal::assignable>,
|
|
test::minimal::equal_to<test::minimal::assignable>,
|
|
test::minimal::allocator<value_type> > map;
|
|
|
|
container_test(map, value);
|
|
|
|
std::cout<<"Test unordered_multimap.\n";
|
|
boost::unordered_multimap<
|
|
test::minimal::assignable,
|
|
test::minimal::copy_constructible,
|
|
test::minimal::hash<test::minimal::assignable>,
|
|
test::minimal::equal_to<test::minimal::assignable>,
|
|
test::minimal::allocator<value_type> > multimap;
|
|
|
|
container_test(multimap, value);
|
|
}
|
|
|
|
void equality_tests() {
|
|
typedef std::pair<test::minimal::assignable const,
|
|
test::minimal::copy_constructible_equality_comparable> value_type;
|
|
value_type value(
|
|
test::minimal::assignable::create(),
|
|
test::minimal::copy_constructible_equality_comparable::create());
|
|
|
|
boost::unordered_map<
|
|
test::minimal::assignable,
|
|
test::minimal::copy_constructible_equality_comparable,
|
|
test::minimal::hash<test::minimal::assignable>,
|
|
test::minimal::equal_to<test::minimal::assignable>,
|
|
test::minimal::allocator<value_type> > map;
|
|
|
|
equality_test(map, value);
|
|
|
|
boost::unordered_multimap<
|
|
test::minimal::assignable,
|
|
test::minimal::copy_constructible_equality_comparable,
|
|
test::minimal::hash<test::minimal::assignable>,
|
|
test::minimal::equal_to<test::minimal::assignable>,
|
|
test::minimal::allocator<value_type> > multimap;
|
|
|
|
equality_test(multimap, value);
|
|
}
|
|
|
|
int main() {
|
|
container_tests();
|
|
equality_tests();
|
|
return boost::report_errors();
|
|
}
|