1//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
2
3//Distributed under the Boost Software License, Version 1.0. (See accompanying
4//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6#include <boost/exception/to_string.hpp>
7#include <boost/detail/lightweight_test.hpp>
8
9namespace
10n1
11 {
12 struct
13 c1
14 {
15 };
16 }
17
18namespace
19n2
20 {
21 struct
22 c2
23 {
24 };
25
26 std::string
27 to_string( c2 const & )
28 {
29 return "c2";
30 }
31 }
32
33namespace
34n3
35 {
36 struct
37 c3
38 {
39 };
40
41 std::ostream &
42 operator<<( std::ostream & s, c3 const & )
43 {
44 return s << "c3";
45 }
46 }
47
48int
49main()
50 {
51 using namespace boost;
52 BOOST_TEST( !has_to_string<n1::c1>::value );
53 BOOST_TEST( has_to_string<n2::c2>::value );
54 BOOST_TEST( has_to_string<n3::c3>::value );
55 BOOST_TEST( has_to_string<int>::value );
56 return boost::report_errors();
57 }
58

source code of boost/libs/exception/test/has_to_string_test.cpp