// Copyright 2007 The Trustees of Indiana University. // Use, modification and distribution is subject to the Boost Software // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // Boost.MultiArray Library // Authors: Ronald Garcia // Jeremy Siek // Andrew Lumsdaine // See http://www.boost.org/libs/multi_array for documentation. // // Using the BOOST.ASSERT mechanism to replace library assertions // with exceptions // #include "boost/test/minimal.hpp" #define BOOST_ENABLE_ASSERT_HANDLER #include "boost/multi_array.hpp" // includes assert.hpp #include namespace boost { void assertion_failed(char const* expr, char const* function, char const* file, long line) { throw std::runtime_error(expr); } } // namespace boost using namespace boost; int test_main(int,char*[]) { typedef multi_array array_t; array_t A(extents[2][2]); array_t B(extents[3][3]); try { A = B; BOOST_ERROR("did not throw an exception"); } catch (std::runtime_error&) { //...all good } return boost::exit_success; }