]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/is_output_streamable.hpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
64b33bf4dfa3c69cbb12cb8670aa5c64316b1baf
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / include / boost / exception / detail / is_output_streamable.hpp
1 //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
2 \r
3 //Distributed under the Boost Software License, Version 1.0. (See accompanying\r
4 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
5 \r
6 #ifndef UUID_898984B4076411DD973EDFA055D89593\r
7 #define UUID_898984B4076411DD973EDFA055D89593\r
8 #if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
9 #pragma GCC system_header\r
10 #endif\r
11 #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
12 #pragma warning(push,1)\r
13 #endif\r
14 \r
15 #include <ostream>\r
16 \r
17 namespace\r
18 boost\r
19     {\r
20     namespace\r
21     to_string_detail\r
22         {\r
23         template <class T,class CharT,class Traits>\r
24         char operator<<( std::basic_ostream<CharT,Traits> &, T const & );\r
25 \r
26         template <class T,class CharT,class Traits>\r
27         struct\r
28         is_output_streamable_impl\r
29             {\r
30             static std::basic_ostream<CharT,Traits> & f();\r
31             static T const & g();\r
32             enum e { value=1!=(sizeof(f()<<g())) };\r
33             };\r
34         }\r
35 \r
36     template <class T, class CharT=char, class Traits=std::char_traits<CharT> >\r
37     struct\r
38     is_output_streamable\r
39         {\r
40         enum e { value=to_string_detail::is_output_streamable_impl<T,CharT,Traits>::value };\r
41         };\r
42     }\r
43 \r
44 #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
45 #pragma warning(pop)\r
46 #endif\r
47 #endif\r