// Copyright (c) 2001-2011 Hartmut Kaiser // // 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(BOOST_SPIRIT_ASSERT_MSG_JUN_23_2009_0836AM) #define BOOST_SPIRIT_ASSERT_MSG_JUN_23_2009_0836AM #if defined(_MSC_VER) #pragma once #endif // Allow to work around the MPL problem in BOOST_MPL_ASSERT_MSG generating // multiple definition linker errors for certain compilers (VC++) #if BOOST_SPIRIT_DONT_USE_MPL_ASSERT_MSG != 0 #include #define BOOST_SPIRIT_ASSERT_MSG(Cond, Msg, Types) \ BOOST_STATIC_ASSERT(Cond) #else #include #define BOOST_SPIRIT_ASSERT_MSG(Cond, Msg, Types) \ BOOST_MPL_ASSERT_MSG(Cond, Msg, Types) #endif #define BOOST_SPIRIT_ASSERT_MATCH(Domain, Expr) \ BOOST_SPIRIT_ASSERT_MSG(( \ boost::spirit::traits::matches::value \ ), error_invalid_expression, (Expr)) #endif