blob: a96dfe0c5af79dc1685619976b4ce63dd79b2653 [file] [log] [blame]
Jeff Thompson86b6d642013-10-17 15:01:56 -07001// (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 NDNBOOST_IOSTREAMS_DETAIL_ENABLE_IF_STREAM_HPP_INCLUDED
9#define NDNBOOST_IOSTREAMS_DETAIL_ENABLE_IF_STREAM_HPP_INCLUDED
10
11#if defined(_MSC_VER) && (_MSC_VER >= 1020)
12# pragma once
13#endif
14
15#include <ndnboost/config.hpp> // NDNBOOST_NO_SFINAE.
16#include <ndnboost/utility/enable_if.hpp>
17#include <ndnboost/iostreams/traits_fwd.hpp> // is_std_io.
18
19#if !defined(NDNBOOST_NO_SFINAE) && \
20 !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x592))
21# define NDNBOOST_IOSTREAMS_ENABLE_IF_STREAM(T) \
22 , typename ndnboost::enable_if< ndnboost::iostreams::is_std_io<T> >::type* = 0 \
23 /**/
24# define NDNBOOST_IOSTREAMS_DISABLE_IF_STREAM(T) \
25 , typename ndnboost::disable_if< ndnboost::iostreams::is_std_io<T> >::type* = 0 \
26 /**/
27#else
28# define NDNBOOST_IOSTREAMS_ENABLE_IF_STREAM(T)
29# define NDNBOOST_IOSTREAMS_DISABLE_IF_STREAM(T)
30#endif
31
32#endif // #ifndef NDNBOOST_IOSTREAMS_DETAIL_ENABLE_IF_STREAM_HPP_INCLUDED