File indexing completed on 2025-12-16 09:45:25
0001
0002
0003
0004
0005
0006 #ifndef BOOST_EXCEPTION_898984B4076411DD973EDFA055D89593
0007 #define BOOST_EXCEPTION_898984B4076411DD973EDFA055D89593
0008
0009 #include <ostream>
0010
0011 #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
0012 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
0013 #pragma GCC system_header
0014 #endif
0015 #ifdef __clang__
0016 #pragma clang system_header
0017 #endif
0018 #ifdef _MSC_VER
0019 #pragma warning(push,1)
0020 #endif
0021 #endif
0022
0023 namespace
0024 boost
0025 {
0026 namespace
0027 to_string_detail
0028 {
0029 struct
0030 partial_ordering_helper1
0031 {
0032 template <class CharT,class Traits>
0033 partial_ordering_helper1( std::basic_ostream<CharT,Traits> & );
0034 };
0035
0036 struct
0037 partial_ordering_helper2
0038 {
0039 template <class T>
0040 partial_ordering_helper2( T const & );
0041 };
0042
0043 char operator<<( partial_ordering_helper1, partial_ordering_helper2 );
0044
0045 template <class T,class CharT,class Traits>
0046 struct
0047 is_output_streamable_impl
0048 {
0049 static std::basic_ostream<CharT,Traits> & f();
0050 static T const & g();
0051 enum e { value=1!=(sizeof(f()<<g())) };
0052 };
0053 }
0054
0055 template <class T, class CharT=char, class Traits=std::char_traits<CharT> >
0056 struct
0057 is_output_streamable
0058 {
0059 enum e { value=to_string_detail::is_output_streamable_impl<T,CharT,Traits>::value };
0060 };
0061 }
0062
0063 #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
0064 #pragma warning(pop)
0065 #endif
0066 #endif