// Copyright 2017 Peter Dimov. // Distributed under the Boost Software License, Version 1.0. // // Endian-dependent test #include #include #include #include #include #include #include #if !defined(BOOST_NO_CXX11_HDR_FORWARD_LIST) # include #endif template void test_sized_range( R r ) { int w[] = { 1, 2, 3, 4 }; T v( w, w + sizeof(w) / sizeof(w[0]) ); H h; hash_append( h, v ); BOOST_TEST_EQ( h.result(), r ); } template void test( R r ) { test_sized_range< H, std::vector >( r ); test_sized_range< H, std::list >( r ); test_sized_range< H, std::deque >( r ); test_sized_range< H, std::set >( r ); test_sized_range< H, std::multiset >( r ); #if !defined(BOOST_NO_CXX11_HDR_FORWARD_LIST) test_sized_range< H, std::forward_list >( r ); #endif } int main() { test( 1745310485ul ); test( 8602726560470947781ull ); return boost::report_errors(); }