summaryrefslogtreecommitdiff
path: root/libs/mpi/src/exception.cpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-06-25 22:59:01 +0000
committer <>2013-09-27 11:49:28 +0000
commit8c4528713d907ee2cfd3bfcbbad272c749867f84 (patch)
treec09e2ce80f47b90c85cc720f5139089ad9c8cfff /libs/mpi/src/exception.cpp
downloadboost-tarball-baserock/morph.tar.gz
Imported from /home/lorry/working-area/delta_boost-tarball/boost_1_54_0.tar.bz2.boost_1_54_0baserock/morph
Diffstat (limited to 'libs/mpi/src/exception.cpp')
-rw-r--r--libs/mpi/src/exception.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/libs/mpi/src/exception.cpp b/libs/mpi/src/exception.cpp
new file mode 100644
index 000000000..9cb4c25e7
--- /dev/null
+++ b/libs/mpi/src/exception.cpp
@@ -0,0 +1,29 @@
+// Copyright (C) 2007 Trustees of Indiana University
+
+// Authors: Douglas Gregor
+// Andrew Lumsdaine
+
+// 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)
+#include <boost/mpi/exception.hpp>
+
+namespace boost { namespace mpi {
+
+exception::exception(const char* routine, int result_code)
+ : routine_(routine), result_code_(result_code)
+{
+ // Query the MPI implementation for its reason for failure
+ char buffer[MPI_MAX_ERROR_STRING];
+ int len;
+ MPI_Error_string(result_code, buffer, &len);
+
+ // Construct the complete error message
+ message.append(routine_);
+ message.append(": ");
+ message.append(buffer, len);
+}
+
+exception::~exception() throw() { }
+
+} } // end namespace boost::mpi