module_tail.cpp

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

CPP
59
字号
// Copyright David Abrahams 2001.// Distributed under 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)#if defined(_WIN32)# ifdef __MWERKS__#  pragma ANSI_strict off# endif# include <windows.h># ifdef __MWERKS__#  pragma ANSI_strict reset# endif# ifdef _MSC_VER#  include <eh.h> // for _set_se_translator()#  pragma warning(push)#  pragma warning(disable:4297)#  pragma warning(disable:4535)extern "C" void straight_to_debugger(unsigned int, EXCEPTION_POINTERS*){    throw;}extern "C" void (*old_translator)(unsigned, EXCEPTION_POINTERS*)         = _set_se_translator(straight_to_debugger);#  pragma warning(pop)# endif#endif // _WIN32#include <exception>#include <boost/python/extract.hpp>#include <boost/python/str.hpp>struct test_failure : std::exception{    test_failure(char const* expr, char const* /*function*/, char const* file, unsigned line)      : msg(file + boost::python::str(":%s:") % line + ": Boost.Python assertion failure: " + expr)    {}    ~test_failure() throw() {}        char const* what() const throw()    {        return boost::python::extract<char const*>(msg)();    }    boost::python::str msg;};namespace boost{void assertion_failed(char const * expr, char const * function, char const * file, long line){    throw ::test_failure(expr,function, file, line);}} // namespace boost

⌨️ 快捷键说明

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