source: XIOS/dev/dev_olga/src/extern/boost/include/boost/exception/detail/is_output_streamable.hpp @ 1022

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