to_string_stub_test.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 99 行

CPP
99
字号
//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.//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)#include <boost/exception/to_string_stub.hpp>#include <boost/detail/lightweight_test.hpp>#include <iostream>namespacen1    {    class    c1        {        };    std::string    to_string( c1 const & )        {        return "c1";        }               }namespacen2    {    class    c2        {        };    std::ostream &    operator<<( std::ostream & s, c2 const & )        {        s << "c2";        return s;        }               }namespacen3    {    class    c3        {        };    std::ostream &    operator<<( std::ostream & s, c3 const & )        {        s << "bad";        return s;        }               std::string    to_string( c3 const & )        {        return "c3";        }               }namespaceboost    {    class    to_string_tester        {        };    }template <class T>structmy_stub    {    std::string    operator()( T const & )        {        return "stub";        }    };intmain()    {    using namespace boost;    BOOST_TEST( to_string(42)=="42" );    BOOST_TEST( to_string(n1::c1())=="c1" );    BOOST_TEST( to_string(n2::c2())=="c2" );    BOOST_TEST( to_string(n3::c3())=="c3" );    BOOST_TEST( to_string_stub(42)=="42" );    BOOST_TEST( to_string_stub(n1::c1())=="c1" );    BOOST_TEST( to_string_stub(n2::c2())=="c2" );    BOOST_TEST( to_string_stub(n3::c3())=="c3" );    BOOST_TEST( to_string_stub(to_string_tester(),my_stub<to_string_tester>())=="stub" );    BOOST_TEST( !to_string_stub(to_string_tester()).empty() );    return boost::report_errors();    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?