Chris@16: // static_assert.hpp --------------------------------------------------------------// Chris@16: Chris@16: // Copyright 2009-2010 Vicente J. Botet Escriba Chris@16: Chris@16: // Distributed under the Boost Software License, Version 1.0. Chris@16: // See http://www.boost.org/LICENSE_1_0.txt Chris@16: Chris@16: Chris@16: #ifndef BOOST_CHRONO_DETAIL_STATIC_ASSERT_HPP Chris@16: #define BOOST_CHRONO_DETAIL_STATIC_ASSERT_HPP Chris@16: Chris@16: #include Chris@16: Chris@16: #ifndef BOOST_NO_CXX11_STATIC_ASSERT Chris@16: #define BOOST_CHRONO_STATIC_ASSERT(CND, MSG, TYPES) static_assert(CND,MSG) Chris@16: #elif defined(BOOST_CHRONO_USES_STATIC_ASSERT) Chris@16: #include Chris@16: #define BOOST_CHRONO_STATIC_ASSERT(CND, MSG, TYPES) BOOST_STATIC_ASSERT(CND) Chris@16: #elif defined(BOOST_CHRONO_USES_MPL_ASSERT) Chris@16: #include Chris@16: #include Chris@16: #define BOOST_CHRONO_STATIC_ASSERT(CND, MSG, TYPES) \ Chris@16: BOOST_MPL_ASSERT_MSG(boost::mpl::bool_< (CND) >::type::value, MSG, TYPES) Chris@16: #else Chris@16: //~ #elif defined(BOOST_CHRONO_USES_ARRAY_ASSERT) Chris@16: #define BOOST_CHRONO_STATIC_ASSERT(CND, MSG, TYPES) static char BOOST_JOIN(boost_chrono_test_,__LINE__)[(CND)?1:-1] Chris@16: //~ #define BOOST_CHRONO_STATIC_ASSERT(CND, MSG, TYPES) Chris@16: #endif Chris@16: Chris@16: #endif // BOOST_CHRONO_DETAIL_STATIC_ASSERT_HPP