// Copyright 2024 Peter Dimov // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt #include #include #include #include template void test( T const& v, unsigned char const (&ref)[ sizeof(T) ] ) { { typename Hash::result_type r1, r2; { Hash h; Flavor f; hash_append( h, f, v ); r1 = h.result(); } { Hash h; h.update( ref, sizeof(ref) ); r2 = h.result(); } BOOST_TEST_EQ( r1, r2 ); } } struct X; int main() { using namespace boost::hash2; test( nullptr, {} ); test( (void*)nullptr, {} ); test( (void const*)nullptr, {} ); test( (void(*)())nullptr, {} ); test( (X*)nullptr, {} ); return boost::report_errors(); }