Chris@16: //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. Chris@16: Chris@16: //Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@16: //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: #ifndef UUID_898984B4076411DD973EDFA055D89593 Chris@16: #define UUID_898984B4076411DD973EDFA055D89593 Chris@16: #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) Chris@16: #pragma GCC system_header Chris@16: #endif Chris@16: #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) Chris@16: #pragma warning(push,1) Chris@16: #endif Chris@16: Chris@16: #include Chris@16: Chris@16: namespace Chris@16: boost Chris@16: { Chris@16: namespace Chris@16: to_string_detail Chris@16: { Chris@16: struct Chris@16: partial_ordering_helper1 Chris@16: { Chris@16: template Chris@16: partial_ordering_helper1( std::basic_ostream & ); Chris@16: }; Chris@16: Chris@16: struct Chris@16: partial_ordering_helper2 Chris@16: { Chris@16: template Chris@16: partial_ordering_helper2( T const & ); Chris@16: }; Chris@16: Chris@16: char operator<<( partial_ordering_helper1, partial_ordering_helper2 ); Chris@16: Chris@16: template Chris@16: struct Chris@16: is_output_streamable_impl Chris@16: { Chris@16: static std::basic_ostream & f(); Chris@16: static T const & g(); Chris@16: enum e { value=1!=(sizeof(f()< > Chris@16: struct Chris@16: is_output_streamable Chris@16: { Chris@16: enum e { value=to_string_detail::is_output_streamable_impl::value }; Chris@16: }; Chris@16: } Chris@16: Chris@16: #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) Chris@16: #pragma warning(pop) Chris@16: #endif Chris@16: #endif