Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef UUID_898984B4076411DD973EDFA055D89593
00007 #define UUID_898984B4076411DD973EDFA055D89593
00008
00009 #include <ostream>
00010
00011 namespace
00012 boost
00013 {
00014 namespace
00015 to_string_detail
00016 {
00017 template <class T,class CharT,class Traits>
00018 char operator<<( std::basic_ostream<CharT,Traits> &, T const & );
00019
00020 template <class T,class CharT,class Traits>
00021 struct
00022 is_output_streamable_impl
00023 {
00024 static std::basic_ostream<CharT,Traits> & f();
00025 static T const & g();
00026 enum e { value=1!=(sizeof(f()<<g())) };
00027 };
00028 }
00029
00030 template <class T, class CharT=char, class Traits=std::char_traits<CharT> >
00031 struct
00032 is_output_streamable
00033 {
00034 enum e { value=to_string_detail::is_output_streamable_impl<T,CharT,Traits>::value };
00035 };
00036 }
00037
00038 #endif