/Src/Dependencies/Boost/boost/iostreams/detail/enable_if_stream.hpp

http://hadesmem.googlecode.com/ · C++ Header · 32 lines · 19 code · 6 blank · 7 comment · 2 complexity · 215ffe7cb3c92cf05be86f3d68f4a643 MD5 · raw file

  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. // See http://www.boost.org/libs/iostreams for documentation.
  6. #ifndef BOOST_IOSTREAMS_DETAIL_ENABLE_IF_STREAM_HPP_INCLUDED
  7. #define BOOST_IOSTREAMS_DETAIL_ENABLE_IF_STREAM_HPP_INCLUDED
  8. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  9. # pragma once
  10. #endif
  11. #include <boost/config.hpp> // BOOST_NO_SFINAE.
  12. #include <boost/utility/enable_if.hpp>
  13. #include <boost/iostreams/traits_fwd.hpp> // is_std_io.
  14. #if !defined(BOOST_NO_SFINAE) && \
  15. !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
  16. # define BOOST_IOSTREAMS_ENABLE_IF_STREAM(T) \
  17. , typename boost::enable_if< boost::iostreams::is_std_io<T> >::type* = 0 \
  18. /**/
  19. # define BOOST_IOSTREAMS_DISABLE_IF_STREAM(T) \
  20. , typename boost::disable_if< boost::iostreams::is_std_io<T> >::type* = 0 \
  21. /**/
  22. #else
  23. # define BOOST_IOSTREAMS_ENABLE_IF_STREAM(T)
  24. # define BOOST_IOSTREAMS_DISABLE_IF_STREAM(T)
  25. #endif
  26. #endif // #ifndef BOOST_IOSTREAMS_DETAIL_ENABLE_IF_STREAM_HPP_INCLUDED