]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | //----------------------------------------------------------------------------- |
2 | // boost detail/templated_streams.hpp header file | |
3 | // See http://www.boost.org for updates, documentation, and revision history. | |
4 | //----------------------------------------------------------------------------- | |
5 | // | |
6 | // Copyright (c) 2003 | |
7 | // Eric Friedman | |
8 | // | |
9 | // Distributed under the Boost Software License, Version 1.0. (See | |
10 | // accompanying file LICENSE_1_0.txt or copy at | |
11 | // http://www.boost.org/LICENSE_1_0.txt) | |
12 | ||
13 | #ifndef BOOST_DETAIL_TEMPLATED_STREAMS_HPP | |
14 | #define BOOST_DETAIL_TEMPLATED_STREAMS_HPP | |
15 | ||
16 | #include "boost/config.hpp" | |
17 | ||
18 | /////////////////////////////////////////////////////////////////////////////// | |
19 | // (detail) BOOST_TEMPLATED_STREAM_* macros | |
20 | // | |
21 | // Provides workaround platforms without stream class templates. | |
22 | // | |
23 | ||
24 | #if !defined(BOOST_NO_STD_LOCALE) | |
25 | ||
26 | #define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) \ | |
27 | template < typename E , typename T > | |
28 | ||
29 | #define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) \ | |
30 | template < typename E , typename T , typename A > | |
31 | ||
32 | #define BOOST_TEMPLATED_STREAM_ARGS(E,T) \ | |
33 | typename E , typename T | |
34 | ||
35 | #define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) \ | |
36 | typename E , typename T , typename A | |
37 | ||
38 | #define BOOST_TEMPLATED_STREAM_COMMA , | |
39 | ||
40 | #define BOOST_TEMPLATED_STREAM_ELEM(E) E | |
41 | #define BOOST_TEMPLATED_STREAM_TRAITS(T) T | |
42 | #define BOOST_TEMPLATED_STREAM_ALLOC(A) A | |
43 | ||
44 | #define BOOST_TEMPLATED_STREAM(X,E,T) \ | |
45 | BOOST_JOIN(std::basic_,X)< E , T > | |
46 | ||
47 | #define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \ | |
48 | BOOST_JOIN(std::basic_,X)< E , T , A > | |
49 | ||
50 | #else // defined(BOOST_NO_STD_LOCALE) | |
51 | ||
52 | #define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) /**/ | |
53 | ||
54 | #define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) /**/ | |
55 | ||
56 | #define BOOST_TEMPLATED_STREAM_ARGS(E,T) /**/ | |
57 | ||
58 | #define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) /**/ | |
59 | ||
60 | #define BOOST_TEMPLATED_STREAM_COMMA /**/ | |
61 | ||
62 | #define BOOST_TEMPLATED_STREAM_ELEM(E) char | |
63 | #define BOOST_TEMPLATED_STREAM_TRAITS(T) std::char_traits<char> | |
64 | #define BOOST_TEMPLATED_STREAM_ALLOC(A) std::allocator<char> | |
65 | ||
66 | #define BOOST_TEMPLATED_STREAM(X,E,T) \ | |
67 | std::X | |
68 | ||
69 | #define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \ | |
70 | std::X | |
71 | ||
72 | #endif // BOOST_NO_STD_LOCALE | |
73 | ||
74 | #endif // BOOST_DETAIL_TEMPLATED_STREAMS_HPP |