1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- // (C) Copyright Gennadiy Rozental 2005-2008.
- // Use, modification, and distribution are subject to 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: 49312 $
- //
- // Description : input validation helpers implementation
- // ***************************************************************************
- #ifndef BOOST_RT_CLA_VALIDATION_IPP_070604GER
- #define BOOST_RT_CLA_VALIDATION_IPP_070604GER
- // Boost.Runtime.Parameter
- #include <boost/test/utils/runtime/config.hpp>
- #include <boost/test/utils/runtime/cla/argv_traverser.hpp>
- #include <boost/test/utils/runtime/cla/validation.hpp>
- #include <boost/test/utils/runtime/validation.hpp> // BOOST_RT_PARAM_NAMESPACE::logic_error
- // Boost
- #include <boost/test/utils/basic_cstring/io.hpp>
- // STL
- namespace boost {
- namespace BOOST_RT_PARAM_NAMESPACE {
- namespace cla {
- // ************************************************************************** //
- // ************** runtime::cla::validation ************** //
- // ************************************************************************** //
- BOOST_RT_PARAM_INLINE void
- report_input_error( argv_traverser const& tr, format_stream& msg )
- {
- if( tr.eoi() )
- msg << BOOST_RT_PARAM_LITERAL( " at the end of input" );
- else {
- msg << BOOST_RT_PARAM_LITERAL( " in the following position: " );
- if( tr.input().size() > 5 )
- msg << tr.input().substr( 0, 5 ) << BOOST_RT_PARAM_LITERAL( "..." );
- else
- msg << tr.input();
- }
- throw BOOST_RT_PARAM_NAMESPACE::logic_error( msg.str() );
- }
- //____________________________________________________________________________//
- } // namespace cla
- } // namespace BOOST_RT_PARAM_NAMESPACE
- } // namespace boost
- #endif // BOOST_RT_CLA_VALIDATION_IPP_070604GER
|