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