Add BOOST_NOEXCEPT and allies. Apply to Boost.Timer. Correct several Boost.timer boo boos detected while testing BOOST_NOEXCEPT.

[SVN r74895]
This commit is contained in:
Beman Dawes
2011-10-10 14:48:39 +00:00
parent 17dcf6492b
commit 2c19eb21d6
7 changed files with 293 additions and 162 deletions

View File

@@ -635,6 +635,20 @@ namespace std{ using ::type_info; }
#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y)
#define BOOST_DO_JOIN2( X, Y ) X##Y
//
// Helper macros BOOST_NOEXCEPT, BOOST_NOEXCEPT_IF, BOOST_NOEXCEPT_EXPR
// These aid the transition to C++11 while still supporting C++03 compilers
//
#ifdef BOOST_NO_NOEXCEPT
# define BOOST_NOEXCEPT
# define BOOST_NOEXCEPT_IF(Predicate)
# define BOOST_NOEXCEPT_EXPR(Expression) false
#else
# define BOOST_NOEXCEPT noexcept
# define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate))
# define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression))
#endif
//
// Set some default values for compiler/library/platform names.
// These are for debugging config setup only: