exception.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 56 行

CPP
56
字号
// Copyright (C) 2006 Douglas Gregor <doug.gregor -at- gmail.com>// Copyright (C) 2005 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)//  Authors: Douglas Gregor/** @file exception.cpp * *  This file reflects the Boost.MPI @c mpi_error class into *  Python. */#include <boost/python.hpp>#include <boost/mpi/exception.hpp>#include <string>#include <boost/lexical_cast.hpp>#include "utility.hpp"using namespace boost::python;using namespace boost::mpi;namespace boost { namespace mpi { namespace python {extern const char* exception_docstring;extern const char* exception_what_docstring;extern const char* exception_routine_docstring;extern const char* exception_result_code_docstring;str exception_str(const exception& e){  return str("MPI routine `"  + std::string(e.routine()) +              "' returned error code " +              lexical_cast<std::string>(e.result_code()));}void export_exception(){  using boost::python::arg;  using boost::python::object;    object type =     class_<exception>      ("exception", exception_docstring, no_init)      .add_property("what", &exception::what, exception_what_docstring)      .add_property("routine", &exception::what, exception_routine_docstring)      .add_property("result_code", &exception::what,                     exception_result_code_docstring)      .def("__str__", &exception_str)    ;  translate_exception<exception>::declare(type);}} } } // end namespace boost::mpi::python

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?