// (C) Copyright Gennadiy Rozental 2005-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$ // // Description : argument usage printing helpers // *************************************************************************** #ifndef BOOST_TEST_UTILS_RUNTIME_CLA_ARGUMENT_VALUE_USAGE_HPP #define BOOST_TEST_UTILS_RUNTIME_CLA_ARGUMENT_VALUE_USAGE_HPP // Boost.Runtime.Parameter #include #include // Boost.Test #include #include #include // STL // !! can we eliminate these includes? #include namespace boost { namespace BOOST_TEST_UTILS_RUNTIME_PARAM_NAMESPACE { namespace cla { namespace rt_cla_detail { // ************************************************************************** // // ************** argument_value_usage ************** // // ************************************************************************** // // generic case template inline void argument_value_usage( format_stream& fs, long, T* = 0 ) { fs << BOOST_TEST_UTILS_RUNTIME_PARAM_CSTRING_LITERAL( "" ); } //____________________________________________________________________________// // specialization for list of values template inline void argument_value_usage( format_stream& fs, int, std::list* = 0 ) { fs << BOOST_TEST_UTILS_RUNTIME_PARAM_CSTRING_LITERAL( "(, ..., )" ); } //____________________________________________________________________________// // specialization for type bool inline void argument_value_usage( format_stream& fs, int, bool* = 0 ) { fs << BOOST_TEST_UTILS_RUNTIME_PARAM_CSTRING_LITERAL( "yes|y|no|n" ); } //____________________________________________________________________________// } // namespace rt_cla_detail } // namespace cla } // namespace BOOST_TEST_UTILS_RUNTIME_PARAM_NAMESPACE } // namespace boost #endif // BOOST_TEST_UTILS_RUNTIME_CLA_ARGUMENT_VALUE_USAGE_HPP