Chris@16
|
1 //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
|
Chris@16
|
2
|
Chris@16
|
3 //Distributed under the Boost Software License, Version 1.0. (See accompanying
|
Chris@16
|
4 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
5
|
Chris@16
|
6 #ifndef UUID_898984B4076411DD973EDFA055D89593
|
Chris@16
|
7 #define UUID_898984B4076411DD973EDFA055D89593
|
Chris@16
|
8 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
Chris@16
|
9 #pragma GCC system_header
|
Chris@16
|
10 #endif
|
Chris@16
|
11 #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
Chris@16
|
12 #pragma warning(push,1)
|
Chris@16
|
13 #endif
|
Chris@16
|
14
|
Chris@16
|
15 #include <ostream>
|
Chris@16
|
16
|
Chris@16
|
17 namespace
|
Chris@16
|
18 boost
|
Chris@16
|
19 {
|
Chris@16
|
20 namespace
|
Chris@16
|
21 to_string_detail
|
Chris@16
|
22 {
|
Chris@16
|
23 struct
|
Chris@16
|
24 partial_ordering_helper1
|
Chris@16
|
25 {
|
Chris@16
|
26 template <class CharT,class Traits>
|
Chris@16
|
27 partial_ordering_helper1( std::basic_ostream<CharT,Traits> & );
|
Chris@16
|
28 };
|
Chris@16
|
29
|
Chris@16
|
30 struct
|
Chris@16
|
31 partial_ordering_helper2
|
Chris@16
|
32 {
|
Chris@16
|
33 template <class T>
|
Chris@16
|
34 partial_ordering_helper2( T const & );
|
Chris@16
|
35 };
|
Chris@16
|
36
|
Chris@16
|
37 char operator<<( partial_ordering_helper1, partial_ordering_helper2 );
|
Chris@16
|
38
|
Chris@16
|
39 template <class T,class CharT,class Traits>
|
Chris@16
|
40 struct
|
Chris@16
|
41 is_output_streamable_impl
|
Chris@16
|
42 {
|
Chris@16
|
43 static std::basic_ostream<CharT,Traits> & f();
|
Chris@16
|
44 static T const & g();
|
Chris@16
|
45 enum e { value=1!=(sizeof(f()<<g())) };
|
Chris@16
|
46 };
|
Chris@16
|
47 }
|
Chris@16
|
48
|
Chris@16
|
49 template <class T, class CharT=char, class Traits=std::char_traits<CharT> >
|
Chris@16
|
50 struct
|
Chris@16
|
51 is_output_streamable
|
Chris@16
|
52 {
|
Chris@16
|
53 enum e { value=to_string_detail::is_output_streamable_impl<T,CharT,Traits>::value };
|
Chris@16
|
54 };
|
Chris@16
|
55 }
|
Chris@16
|
56
|
Chris@16
|
57 #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
Chris@16
|
58 #pragma warning(pop)
|
Chris@16
|
59 #endif
|
Chris@16
|
60 #endif
|