]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/container_hash/test/hash_value_array_test.cpp
2 // Copyright 2005-2009 Daniel James.
3 // Distributed under the Boost Software License, Version 1.0. (See accompanying
4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 // On some compilers hash_value isn't available for arrays, so I test it
7 // separately from the main array tests.
9 #include "./config.hpp"
11 #ifdef BOOST_HASH_TEST_EXTENSIONS
12 # ifdef BOOST_HASH_TEST_STD_INCLUDES
13 # include <functional>
15 # include <boost/container_hash/hash.hpp>
19 #include <boost/core/lightweight_test.hpp>
21 #ifdef BOOST_HASH_TEST_EXTENSIONS
25 const int array1
[25] = {
32 BOOST_HASH_TEST_NAMESPACE::hash
<int[25]> hasher1
;
35 BOOST_HASH_TEST_NAMESPACE::hash
<int[1]> hasher2
;
37 int array3
[2] = {2, 3};
38 BOOST_HASH_TEST_NAMESPACE::hash
<int[2]> hasher3
;
40 BOOST_TEST(hasher1(array1
) == BOOST_HASH_TEST_NAMESPACE::hash_value(array1
));
41 BOOST_TEST(hasher2(array2
) == BOOST_HASH_TEST_NAMESPACE::hash_value(array2
));
42 BOOST_TEST(hasher3(array3
) == BOOST_HASH_TEST_NAMESPACE::hash_value(array3
));
45 void two_dimensional_array_test()
47 int array
[3][2] = {{-5, 6}, {7, -3}, {26, 1}};
48 BOOST_HASH_TEST_NAMESPACE::hash
<int[3][2]> hasher
;
50 BOOST_TEST(hasher(array
) == BOOST_HASH_TEST_NAMESPACE::hash_value(array
));
57 #ifdef BOOST_HASH_TEST_EXTENSIONS
59 two_dimensional_array_test();
62 return boost::report_errors();