Boost logo

Boost-Commit :

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;
+}


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk