diff --git a/value_init_test.cpp b/value_init_test.cpp index 450993b..e536693 100644 --- a/value_init_test.cpp +++ b/value_init_test.cpp @@ -152,6 +152,8 @@ struct AggregatePODStructWrapper bool operator == ( AggregatePODStructWrapper const& lhs, AggregatePODStructWrapper const& rhs ) { return lhs.dataMember == rhs.dataMember ; } +typedef unsigned char ArrayOfBytes[256]; + // // This test function tests boost::value_initialized for a specific type T. // The first argument (y) is assumed have the value of a value-initialized object. @@ -232,6 +234,10 @@ int test_main(int, char **) aggregatePODStructWrapper1.dataMember = nonZeroInitializedAggregatePODStruct; BOOST_CHECK ( test(aggregatePODStructWrapper0, aggregatePODStructWrapper1) ); + ArrayOfBytes zeroInitializedArrayOfBytes = { 0 }; + boost::value_initialized valueInitializedArrayOfBytes; + BOOST_CHECK (std::memcmp(get(valueInitializedArrayOfBytes), zeroInitializedArrayOfBytes, sizeof(ArrayOfBytes)) == 0); + return 0; }