Files
boost_exception/test/to_string_test.cpp

61 lines
1.1 KiB
C++
Raw Normal View History

2008-03-04 01:41:17 +00:00
//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)
2008-04-11 03:51:06 +00:00
#include <boost/exception/to_string.hpp>
2008-03-04 01:41:17 +00:00
#include <boost/detail/lightweight_test.hpp>
namespace
n1
{
2008-04-11 03:51:06 +00:00
struct
c1
{
};
}
2008-03-04 01:41:17 +00:00
namespace
n2
{
2008-04-11 03:51:06 +00:00
struct
c2
{
};
2008-03-04 01:41:17 +00:00
2008-04-11 03:51:06 +00:00
std::string
to_string( c2 const & )
{
2008-04-11 03:51:06 +00:00
return "c2";
}
}
2008-03-04 01:41:17 +00:00
namespace
n3
{
2008-04-11 03:51:06 +00:00
struct
c3
{
};
2008-03-04 01:41:17 +00:00
2008-04-11 03:51:06 +00:00
std::ostream &
operator<<( std::ostream & s, c3 const & )
{
2008-04-11 03:51:06 +00:00
return s << "c3";
}
}
2008-03-04 01:41:17 +00:00
int
main()
{
2008-04-11 03:51:06 +00:00
using namespace boost;
BOOST_TEST( !has_to_string<n1::c1>::value );
BOOST_TEST( has_to_string<n2::c2>::value );
BOOST_TEST( has_to_string<n3::c3>::value );
BOOST_TEST( has_to_string<int>::value );
BOOST_TEST( "c2"==to_string(n2::c2()) );
BOOST_TEST( "c3"==to_string(n3::c3()) );
BOOST_TEST( "42"==to_string(42) );
return boost::report_errors();
}