1// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com)
2// (C) Copyright 2003-2007 Jonathan Turkanis
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// See http://www.boost.org/libs/iostreams for documentation.
7
8#ifndef BOOST_IOSTREAMS_DETAIL_ENABLE_IF_STREAM_HPP_INCLUDED
9#define BOOST_IOSTREAMS_DETAIL_ENABLE_IF_STREAM_HPP_INCLUDED
10
11#if defined(_MSC_VER)
12# pragma once
13#endif
14
15#include <boost/config.hpp> // BOOST_NO_SFINAE.
16#include <boost/config/workaround.hpp>
17#include <boost/utility/enable_if.hpp>
18#include <boost/iostreams/traits_fwd.hpp> // is_std_io.
19
20#if !defined(BOOST_NO_SFINAE) && \
21 !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x592))
22# define BOOST_IOSTREAMS_ENABLE_IF_STREAM(T) \
23 , typename boost::enable_if< boost::iostreams::is_std_io<T> >::type* = 0 \
24 /**/
25# define BOOST_IOSTREAMS_DISABLE_IF_STREAM(T) \
26 , typename boost::disable_if< boost::iostreams::is_std_io<T> >::type* = 0 \
27 /**/
28#else
29# define BOOST_IOSTREAMS_ENABLE_IF_STREAM(T)
30# define BOOST_IOSTREAMS_DISABLE_IF_STREAM(T)
31#endif
32
33#endif // #ifndef BOOST_IOSTREAMS_DETAIL_ENABLE_IF_STREAM_HPP_INCLUDED
34

source code of boost/libs/iostreams/include/boost/iostreams/detail/enable_if_stream.hpp