// (C) Copyright Gennadiy Rozental 2011-2014. // 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) // See http://www.boost.org/libs/test for the library home page. // // File : $RCSfile$ // // Version : $Revision: 74248 $ // // Description : toolbox implementation types and forward declarations // *************************************************************************** #ifndef BOOST_TEST_TOOLS_DETAIL_FWD_HPP_012705GER #define BOOST_TEST_TOOLS_DETAIL_FWD_HPP_012705GER // Boost.Test #include #include // STL #include // for std::size_t #include //____________________________________________________________________________// namespace boost { namespace unit_test { class lazy_ostream; } // namespace unit_test namespace test_tools { using unit_test::const_string; class assertion_result; //____________________________________________________________________________// namespace tt_detail { inline bool dummy_cond() { return false; } // ************************************************************************** // // ************** types of supported assertions ************** // // ************************************************************************** // //____________________________________________________________________________// enum check_type { CHECK_PRED, CHECK_MSG, CHECK_EQUAL, CHECK_NE, CHECK_LT, CHECK_LE, CHECK_GT, CHECK_GE, CHECK_CLOSE, CHECK_CLOSE_FRACTION, CHECK_SMALL, CHECK_BITWISE_EQUAL, CHECK_PRED_WITH_ARGS, CHECK_EQUAL_COLL, CHECK_BUILT_ASSERTION }; //____________________________________________________________________________// // ************************************************************************** // // ************** levels of supported assertions ************** // // ************************************************************************** // enum tool_level { WARN, CHECK, REQUIRE, PASS }; //____________________________________________________________________________// // ************************************************************************** // // ************** Tools offline implementation ************** // // ************************************************************************** // BOOST_TEST_DECL bool report_assertion( assertion_result const& pr, unit_test::lazy_ostream const& assertion_descr, const_string file_name, std::size_t line_num, tool_level tl, check_type ct, std::size_t num_args, ... ); //____________________________________________________________________________// BOOST_TEST_DECL assertion_result format_assertion_result( const_string expr_val, const_string details ); //____________________________________________________________________________// BOOST_TEST_DECL assertion_result format_fpc_report( const_string expr_val, const_string details ); //____________________________________________________________________________// BOOST_TEST_DECL bool is_defined_impl( const_string symbol_name, const_string symbol_value ); //____________________________________________________________________________// BOOST_TEST_DECL assertion_result equal_impl( char const* left, char const* right ); //____________________________________________________________________________// } // namespace tt_detail } // namespace test_tools } // namespace boost #include #endif // BOOST_TEST_TOOLS_DETAIL_FWD_HPP_012705GER