// Copyright 2017, 2023 Peter Dimov. // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt #include #include #include #include class X; struct Y { }; enum E { v }; template void test( bool exp ) { using boost::hash2::is_contiguously_hashable; if( exp ) { BOOST_TEST_TRAIT_TRUE((is_contiguously_hashable)); BOOST_TEST_TRAIT_TRUE((is_contiguously_hashable)); BOOST_TEST_TRAIT_TRUE((is_contiguously_hashable)); BOOST_TEST_TRAIT_TRUE((is_contiguously_hashable)); } else { BOOST_TEST_TRAIT_FALSE((is_contiguously_hashable)); BOOST_TEST_TRAIT_FALSE((is_contiguously_hashable)); BOOST_TEST_TRAIT_FALSE((is_contiguously_hashable)); BOOST_TEST_TRAIT_FALSE((is_contiguously_hashable)); } } int main() { using boost::hash2::endian; // test( true ); // test( true ); test( true ); test( true ); test( true); test( true ); test( true ); test( true ); test( true ); test( true ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); // test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); // test( false ); test( false ); test( false ); test( false ); test( false ); test( false ); test( false ); test( false ); test( false ); // test( false ); test( false ); test( false ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); // test( true ); test( endian::native == endian::little || sizeof(E) == 1 ); test( endian::native == endian::big || sizeof(E) == 1 ); // test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); // test( false ); test( false ); test( false ); test( true ); test( endian::native == endian::little ); test( endian::native == endian::big ); test( false ); test( false ); test( false ); test( false ); test( false ); test( false ); // return boost::report_errors(); }