X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=boost%2Fboost%2Fassert.hpp;h=5619f29898eaf8b6425d4b664d509a658d57d396;hb=b01a9dc187d9cd396a57463ad27511379dcdc9cd;hp=645404d3505c68057c290884407820746047fd40;hpb=59b6a4701a8d2b5155af08cf758b4ca120201282;p=lyx.git diff --git a/boost/boost/assert.hpp b/boost/boost/assert.hpp index 645404d350..5619f29898 100644 --- a/boost/boost/assert.hpp +++ b/boost/boost/assert.hpp @@ -1,52 +1,37 @@ -#ifndef BOOST_ASSERT_HPP_INCLUDED -#define BOOST_ASSERT_HPP_INCLUDED - -#if _MSC_VER >= 1020 -#pragma once -#endif - // -// boost/assert.hpp +// boost/assert.hpp - BOOST_ASSERT(expr) // // Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. // -// Permission to copy, use, modify, sell and distribute this software -// is granted provided this copyright notice appears in all copies. -// This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. +// 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) // - -// -// When BOOST_DEBUG is not defined, it defaults to 0 (off) -// for compatibility with programs that do not expect asserts -// in the smart pointer class templates. +// Note: There are no include guards. This is intentional. // -// This default may be changed after an initial transition period. +// See http://www.boost.org/libs/utility/assert.html for documentation. // -#ifndef BOOST_DEBUG -#define BOOST_DEBUG 0 -#endif +#undef BOOST_ASSERT -#if BOOST_DEBUG +#if defined(BOOST_DISABLE_ASSERTS) -#include +# define BOOST_ASSERT(expr) ((void)0) -#ifndef BOOST_ASSERT +#elif defined(BOOST_ENABLE_ASSERT_HANDLER) #include -bool boost_error(char const * expr, char const * func, char const * file, long line); - -# define BOOST_ASSERT(expr) ((expr) || !boost_error(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__) || (assert(expr), true)) +namespace boost +{ -#endif // #ifndef BOOST_ASSERT +void assertion_failed(char const * expr, char const * function, char const * file, long line); // user defined -#else // #if BOOST_DEBUG +} // namespace boost -#undef BOOST_ASSERT -#define BOOST_ASSERT(expr) ((void)0) +#define BOOST_ASSERT(expr) ((expr)? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__)) -#endif // #if BOOST_DEBUG - -#endif // #ifndef BOOST_ASSERT_HPP_INCLUDED +#else +# include // .h to support old libraries w/o - effect is the same +# define BOOST_ASSERT(expr) assert(expr) +#endif