$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: garcia_at_[hidden]
Date: 2007-08-22 11:29:48
Author: garcia
Date: 2007-08-22 11:29:48 EDT (Wed, 22 Aug 2007)
New Revision: 38853
URL: http://svn.boost.org/trac/boost/changeset/38853
Log:
Initial Revision.
Added:
   trunk/libs/multi_array/test/assert.cpp   (contents, props changed)
Added: trunk/libs/multi_array/test/assert.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/multi_array/test/assert.cpp	2007-08-22 11:29:48 EDT (Wed, 22 Aug 2007)
@@ -0,0 +1,51 @@
+// 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 <stdexcept>
+
+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<int,2> 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;
+}